La versione corrente dell'API Marketing è v21.0
.
La piattaforma di Facebook ha un modello di gestione delle versioni core ed esteso. Grazie alla gestione delle versioni dell'API Marketing, tutte le modifiche sostanziali verranno implementate in una nuova versione. Possono coesistere contemporaneamente più versioni di API Marketing o SDK, ciascuna con diverse funzionalità.
Gli sviluppatori dovrebbero comprendere in anticipo quando un SDK o l'API Marketing cambieranno. Sebbene tu abbia una finestra di 90 giorni per l'adozione delle modifiche, puoi scegliere liberamente come e quando passare alla nuova versione.
Al rilascio di una nuova versione dell'API Marketing, continueremo a supportare la versione precedente per almeno 90 giorni, periodo di tolleranza durante il quale potrai passare alla nuova versione. Durante il periodo di tolleranza di 90 giorni potrai chiamare entrambe le versioni e avrai modo di passare alla nuova versione. Al termine del periodo di tolleranza di 90 giorni, la versione obsoleta cesserà di funzionare. Una volta che una versione non è più disponibile, qualsiasi chiamata effettuata a quel numero di versione può avere esito negativo o essere passata alla successiva versione disponibile.
Ad esempio, la versione dell'API Marketing v17.0 è stata rilasciata il 23 maggio 2023 e la versione dell'API Marketing v16.0 ha scadenza il 6 febbraio 2024, con un intervallo di tempo di almeno 90 giorni durante il quale passare alla nuova versione.
Ecco un esempio di timeline. Tieni presente che non sempre viene rilasciata una nuova versione al termine del periodo di tolleranza di 90 giorni dell'eliminazione della versione precedente. Nell'esempio, l'eliminazione della v16.0 era prevista qualche tempo prima che venisse rilasciata la v18.0:
Per gli SDK, una versione resta sempre disponibile essendo un pacchetto scaricabile. Tuttavia, dopo il termine della sua vita, potrebbe usare API Marketing o metodi non più funzionanti, pertanto devi considerarla come non più funzionante.
Tutti gli endpoint dell'API Marketing sono disponibili attraverso un percorso con versione. Inserisci la versione all'inizio del percorso della richiesta. Ad esempio:
curl -G \
-d "access_token=<ACCESS_TOKEN>" \
"https://graph.facebook.com/v21.0
/me/adaccounts"
Questa forma generica funziona con tutte le versioni:
https://graph.facebook.com/v{n}/{request-path}
n
indica la versione richiesta. Nel registro modifiche è disponibile una lista completa delle versioni disponibili. Tutti i Riferimenti per l'API Marketing riportano informazioni specifiche per versione.
Le migrazioni sono destinate solo a scenari speciali in cui le modifiche necessarie non possono essere inserite nella gestione delle versioni. Di solito, si tratta di modifiche al modello di dati sottostante. Le migrazioni si applicano a tutte le versioni.
Le migrazioni attualmente in corso sono elencate nella nostra pagina delle migrazioni. Le migrazioni presentano una finestra di almeno 90 giorni per la migrazione della tua app. Una volta iniziata la finestra, il comportamento post-migrazione diventerà predefinito per le nuove app. Al termine della finestra di migrazione, il comportamento pre-migrazione non sarà più disponibile.
Le migrazioni possono essere gestite tramite il campo migrazioni nel nodo /app
:
Puoi effettuare una chiamata di aggiornamento nel segmento per attivare e disattivare le migrazioni.
Puoi attivare e disattivare le migrazioni disponibili nella Dashboard gestione app, in Impostazioni > Migrazioni. Tieni presente che la lista delle migrazioni potrebbe differire dall'immagine qui sotto poiché le migrazioni disponibili sono diverse per le varie app, in momenti diversi. Le migrazioni Use Graph API v2.0 by default
si riferiscono solo all'API Graph e non all'API Marketing.
Anziché attivare la migrazione nella Dashboard gestione app o attraverso l'API Marketing, è possibile aggiungere un flag speciale alla chiamate API Marketing per l'impostazione della migrazione. Il flag è migrations_override
e richiede di specificare un blob JSON che descriva le migrazioni che desideri attivare o disattivare. Ad esempio, per effettuare una chiamata non elaborata puoi passare:
http://graph.facebook.com/path? migrations_override={"migration1":true, "migration2":false}
In questo modo, puoi chiamare la nuova API Marketing attraverso gli aggiornamenti del client anziché aggiornare tutti gli elementi che effettuano una chiamata per fare in modo che chiamino contemporaneamente l'API Marketing. Ciò si rivela molto utile per l'esecuzione del debug.
I nomi di queste migrazioni sono riportati nel nodo /app
menzionato sopra.
Data la rapida rotazione delle versioni dell'API Marketing circa ogni quattro mesi, stiamo semplificando il processo di upgrade. A partire da maggio 2024, abiliteremo la funzione di upgrade di versione automatico per gli endpoint dell'API Marketing non interessati tra una versione e l'altra. Questo significa che tra una versione da disattivare e la successiva versione disponibile, se un endpoint non è interessato, la piattaforma eseguirà un upgrade della chiamata alla versione successiva disponibile piuttosto che respingere direttamente la richiesta. Questa modifica è progettata per garantire un'esperienza API più fluida ed efficiente.
Ad esempio, la v17.0 diventerà obsoleta il 14 maggio 2024. Secondo il registro delle modifiche della v18.0, saranno interessati i seguenti endpoint:
POST /act_{ad-account-id}/reachfrequencypredictions
GET /act_{ad-account-id}/reachestimate
GET /act_{ad-account-id}/delivery_estimate
POST /act_{ad-account-id}/adsets
POST /{adset-id}
POST /act_{ad-account-id}/saved_audiences
POST /{saved-audience-id}
POST /act_{ad-account-id}/credit_cards
Se la tua app effettua una chiamata POST /{adset-id}
con la v17.0 dopo la disattivazione del 14 maggio 2024, la richiesta API non andrà a buon fine in quanto l'upgrade automatico non si applica agli endpoint interessati dalla successiva versione disponibile (v18.0).
Se la tua app effettua una chiamata GET /{ad-account-id}/insights
con la v17.0 dopo la disattivazione, la piattaforma effettuerà l'upgrade della chiamata alla successiva versione disponibile v18.0.
Nota: se la tua app ha giù iniziato a effettuare chiamate con versioni successive alla v17.0, non dovrebbero esserci cambiamenti alla data di disattivazione della versione.
Per controllare gli endpoint interessati per ogni versione, consulta il Registro modifiche dell'API Marketing.
We refer to this as an unversioned call. Unversioned calls are invalid and will fail when made against Marketing API endpoints.
You can call the version of the Marketing API that was the latest available when the app was created, as long as it has not been deprecated. It can also make calls to any newer, undeprecated versions launched after the app is created.
Starting May 14, 2024, if a deprecated version is provided, the platform may upgrade selected endpoints to the next available version instead of failing the request. To learn more about the behavior, refer to Marketing API Auto-version upgrade.
For example:
If an app was not used - to make any Marketing API calls or requests - after being created, it will not have the ability to use those versions if any newer version is launched. Here's another example to explain this:
There are a few differences between how Marketing API and the rest of Graph API. For the details on Platform API versioning, see Graph API, Versioning.
With migrations, you set migration on or off in App Dashboard, as described in the Migrations section. With versioning, we are making Marketing API functionality more transparent by moving the setting into the endpoint:
https://graph.facebook.com/v{n}/{request-path}
You can know what behavior to expect out without having to manually visit your app's migration panel.
The upgrade will apply on any deprecated version to the next available version. This means hypothetically if your app is making calls to v15.0 after v16.0 is deprecated, the call will also be upgraded to v17.0 if the endpoint is not listed as affected endpoint on both v16.0 and v17.0.
No. We highly encourage developers to perform version upgrades before a version gets deprecated for the following reasons
You can look up affected endpoints from Marketing API Changelog.
You can disable the version auto-upgrade via the Marketing API Version setting under Marketing API App Product Page > Settings.
If an API call targets a version that has been deprecated and has been automatically upgraded, an API response header is included for any call that has been auto-upgraded.
Example notification header
X-Ad-Api-Version-Warning: 'X-Ad-Api-Version-Warning: 'The call has been auto-upgraded to vXXX as vXXX has been deprecated''