Risposte private

Questo documento mostra come aggiungere in modo programmatico le risposte private alla tua esperienza di messaggistica.

Come funzionano

Le risposte private consentono a un utente dell'app di inviare un singolo messaggio a un utente Instagram che ha commentato un post, un post per le inserzioni, un reel o una storia in diretta di un account Instagram per professionisti.

Quando il tuo server webhook riceve una notifica per l'evento comments o live_comments, puoi usare l'ID del commento per inviare una risposta privata direttamente all'utente Instagram che ha pubblicato il commento. Se l'utente Instagram segue l'account Instagram per professionisti, questa risposta sarà consegnata nella sua cartella posta. In caso contrario, sarà consegnata nella sua cartella Richieste.

Le risposte private possono essere inviate entro 7 giorni dalla creazione del commento, tranne nel caso di Instagram Live, per cui puoi inviare una risposta privata solo durante la trasmissione in diretta. Il messaggio conterrà un link al post che l'utente Instagram ha commentato.

Webhook

  • Quando organizzi una storia in diretta su Instagram, assicurati che il tuo server possa gestire l'aumento del carico di notifiche attivate dagli live_commentseventi webhook tramite l'API Instagrame che il tuo sistema possa distinguere notifiche live_comments e comments.
  • Le notifiche webhook comments dell'API Instagram Graph dei post per inserzioni includeranno ID e titolo dell'inserzione. Potresti dover aggiornare il tuo server webhook per la gestione di questi nuovi campi.

    ad_id e ad_title saranno restituiti nell'oggetto multimediale quando un utente Instagram commenta un post di Instagram in evidenza o un post di inserzioni di Instagram e ciò potrebbe determinare notifiche webhook duplicate.

Limitazioni

  • È possibile inviare un solo messaggio all'utente Instagram che ha commentato
  • Il messaggio deve essere inviato entro 7 giorni dalla creazione del commento per i commenti su un post, un post per le inserzioni o un reel
  • A causa della natura transitoria delle storie in diretta di Instagram, le risposte private ai commenti delle storie in diretta di Instagram possono essere inviate solo durante la diretta stessa. Una volta finita la trasmissione in diretta non si potranno più inviare risposte private.
  • Solo quando un utente Instagram risponde al messaggio privato puoi proseguire la conversazione entro la finestra di 24 ore per l'invio di messaggi.
  • Le app con accesso standard possono accedere ai dati solo per le persone che hanno un ruolo nell'app

Prima di iniziare

Questo tutorial presuppone che tu abbia letto la Panoramica della Piattaforma Messenger e la Panoramica dei messaggi di Instagram e abbia implementato i componenti necessari.

Ecco cosa ti servirà:

  • L'ID della Pagina Facebook collegata al tuo account Instagram per professionisti
  • L'ID del commento fatto dalla persona a cui stai inviando la risposta privata. L'ID può essere ottenuto dai webhook comments di Instagram per post, post per inserzioni e reel, e dai webhook live_comments di Instagram per le storie in diretta (consigliati per evitare il rate limiting) o con una chiamata API all'endpoint /page/feed
  • Le autorizzazioni instagram_manage_comments e pages_messaging, ottenute tramite Facebook Login
  • Un token di accesso alla Pagina richiesto da un utente Instagram che può completare l'attività MESSAGING sulla Pagina Facebook collegata al tuo account Instagram per professionisti
  • La funzione Human Agent
  • Accesso avanzato

Invio di una risposta privata

Per inviare una risposta privata a un utente Instagram che ha commentato il tuo post, il tuo reel o la tua storia in diretta, invia una richiesta POST all'endpoint /<PAGE_ID>/messages, in cui il parametro recipient contiene l'ID del commento e il parametro message contiene il testo che vuoi inviare.

Formattato per una maggiore leggibilità.
curl -i -X POST "https://graph.facebook.com/&lt;PAGE_ID>/messages
  ?recipient: { comment_id: &lt;COMMENT_ID> }
  &message: { "text": "Thanks for reaching out, how can I help?" }
  &access_token=&lt;PAGE_ACCESS_TOKEN>"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/1353269864728879/messages",
  new JSONObject("{\"recipient\":\"{comment_id: 18000158536435933}\",\"message\":\"{\\\"text\\\": \\\"It is cool\\\"}\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/1353269864728879/messages"
           parameters:@{ @"recipient": @"{comment_id: 18000158536435933}",@"message": @"{"text": "It is cool"}",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/1353269864728879/messages',
  'POST',
  {"recipient":"{comment_id: 18000158536435933}","message":"{\"text\": \"It is cool\"}"},
  function(response) {
      // Insert your code here
  }
);

In caso di azione eseguita correttamente, l'app riceve la seguente risposta:

{
  "recipient_id": "526...",   // The Instagram-scoped ID 
  "message_id": "aWdfZ..."    // The message ID for your private reply
}

Altri contenuti da consultare

Assistenza per gli sviluppatori