Puoi leggere i contatti tramite webhook o lettura in blocco.
Per leggere campi specifici delle inserzioni, come ad_id
, campaign_id
, avrai bisogno di:
pages_manage_metadata
se si usano i webhook. Per leggere tutti i dati dei contatti e i dati a livello di inserzione, avrai bisogno di:
Nota: se l'amministratore di questa Pagina non ha mai personalizzato i contatti né fornito l'autorizzazione di accesso mediante lo strumento di gestione dell'accesso ai contatti, TUTTI gli amministratori della Pagina disporranno dell'autorizzazione relativa all'accesso ai contatti. Se tale autorizzazione è personalizzata dagli amministratori strumenti business, allora la sua disponibilità per un amministratore di base della Pagina dipenderà dalla configurazione scelta dall'amministratore strumenti business.
Il rate limiting è 200 moltiplicato per 24 moltiplicato per il numero di contatti creati negli ultimi 90 giorni per una Pagina Facebook. Se effettui un numero superiore di chiamate in un periodo di 24 ore, la richiesta restituisce un errore.
Invia una richiesta GET
all'endpoint /ads/lead_gen/export_csv/
dove i formati data sono indicazioni temporali POSIX
o UNIX
:
curl -i -X GET "https://www.facebook.com/ads/lead_gen/export_csv/ ?id=<FORM_ID> &type=form &from_date=1482698431 &to_date=1482784831"
from_date
non è impostato o è un valore inferiore all'ora di creazione del modulo, si utilizza l'ora di creazione del modulo.Se to_date
non è impostato o è un'ora successiva a quella presente, si utilizza l'ora corrente.
La presenza nel TSV di voci senza ID dell'inserzione o ID del gruppo di inserzioni può essere dovuta ai seguenti motivi:
is_organic
nel TSV viene visualizzato 1
; altrimenti, il valore è 0
.Ottieni aggiornamenti in tempo reale per le inserzioni per acquisizione contatti.
Consulta la nostra guida introduttiva ai webhook per configurare il tuo endpoint e il tuo webhook.
Genera un singolo token della Pagina di lunga durata per recuperare continuamente i dati senza doverti preoccupare della scadenza.
Consulta la nostra guida ai webhook per le Pagine per scoprire come installare la tua app su una Pagina.
Alla creazione dell'acquisizione dei contatti, l'app riceve la seguente risposta webhook:
array( "object" => "page", "entry" => array( "0" => array( "id" => 153125381133, "time" => 1438292065, "changes" => array( "0" => array( "field" => "leadgen", "value" => array( "leadgen_id" => 123123123123, "page_id" => 123123123, "form_id" => 12312312312, "adgroup_id" => 12312312312, "ad_id" => 12312312312, "created_time" => 1440120384 ) ), "1" => array( "field" => "leadgen", "value" => array( "leadgen_id" => 123123123124, "page_id" => 123123123, "form_id" => 12312312312, "adgroup_id" => 12312312312, "ad_id" => 12312312312, "created_time" => 1440120384 ) ) ) ) ) )
Puoi usare leadgen_id
per recuperare i dati associati al contatto:
curl -X GET \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{lead-id}/
In caso di azione eseguita correttamente, l'app riceve la seguente risposta:
{ "created_time": "2015-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [{ "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, { "name": "selected_dealer", "values": [ "99213450" ] }], ... }
Puoi vedere un esempio di questa implementazione nel nostro repository GitHub.
Le app create dopo il 2 luglio 2018 sono obbligate a utilizzare l'autorizzazione leads_retrieval
per leggere i contatti.
leads
esiste sia sul nodo del gruppo di inserzioni sia su quello del modulo. Vengono restituiti tutti i dati associati ai rispettivi oggetti. Dato che un modulo può essere riutilizzato per più inserzioni, il tuo modulo può contenere molti più contatti di quelli utilizzati dall'inserzione.
Per effettuare la lettura in blocco per inserzione:
curl -X GET \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{adgroup-id}/leads
Per effettuare la lettura per modulo:
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ -d 'fields=created_time,id,ad_id,form_id,field_data' \ https://graph.facebook.com/<API_VERSION>/<FORM_ID>/leads
Risposta:
{ "data": [ { "created_time": "2018-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [ { "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, ], ... } ], "paging": { "cursors": { "before": "OTc2Nz3M8MTgyMzU1NDMy", "after": "OTcxNjcyOTg8ANTI4NzE4" } } }
La domanda dello strumento di localizzazione dei punti vendita non è diversa da qualsiasi altra domanda. Una domanda dello strumento di localizzazione dei punti vendita avrà anche un ID del campo che verrà mappato in base alle domande durante la creazione del modulo. L'invio avverrà in modo simile a quello delle altre domande. Il valore passato sarà ricavato dal numero del punto vendita del luogo selezionato.
Ad esempio, supponiamo di avere una domanda dello strumento di localizzazione dei punti vendita con selected_dealer
come ID del campo. Per recuperare i contatti in gruppo puoi chiamare:
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ -d 'fields=created_time,id,ad_id,form_id,field_data' \ https://graph.facebook.com/<API_VERSION>/<FORM_ID>/leads
Risposta:
{ "data": [ { "created_time": "2018-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [ { "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, { "name": "selected_dealer", "values": [ "99213450" ] } ], ... } ], "paging": { "cursors": { "before": "OTc2Nz3M8MTgyMzU1NDMy", "after": "OTcxNjcyOTg8ANTI4NzE4" } } }
field_data
non contiene le risposte per le caselle opzionali del disclaimer personalizzato che l'utente deve spuntare. Per recuperare le risposte, utilizza il campo custom_disclaimer_responses
.
curl -X GET \ "https://graph.facebook.com/<API_VERSION>/<LEADGEN_ID>? fields=custom_disclaimer_responses"
Risposta:
{ "custom_disclaimer_responses": [ { "checkbox_key": "optional_1", "is_checked": "1" }, { "checkbox_key": "optional_2", "is_checked": "" } ], "id": "1231231231" }
Questo esempio filtra i contatti in base alle indicazioni temporali. Le indicazioni temporali devono essere in formato Unix.
curl -X GET \
-d 'filtering=[
{
"field": "time_created",
"operator": "GREATER_THAN",
"value": 1731610726
}
]' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{adgroup-id}/leads
operator
ha uno dei valori seguenti.
Operatore | Significato |
---|---|
| Filtri per valori inferiori all'indicazione temporale. |
| Filtri per valori superiori all'indicazione temporale. |
| Filtri per valori superiori o uguali all'indicazione temporale. |
Se il modulo ha ID del campo personalizzati, i campi e i valori restituiti saranno campi e valori specifici.