Respuestas privadas

En este documento se muestra cómo añadir las respuestas privadas a tu experiencia de mensajes mediante programación.

Funcionamiento

Las respuestas privadas permiten a una cuenta profesional de Instagram enviar un mensaje único a una persona que comentó en una publicación, publicación publicitaria, reel o historia en directo de profesional de Instagram.

Cuando recibes una notificación de los webhooks comments o live_comments, mediante la API Graph de Instagram, para informarte de que una persona ha comentado en tu publicación, publicación publicitaria, reel o historia en directo de profesional de Instagram, puedes usar el identificador del comentario para enviar una respuesta privada directamente a esa persona. Esta respuesta se entregará en la carpeta Bandeja de entrada de la persona (si sigue a la cuenta profesional de Instagram de la empresa) o en la carpeta Solicitud de la persona (si no sigue a la cuenta).

Puedes enviar esta respuesta privada en los siete días posteriores a la fecha de creación del comentario, excepto en el caso de Instagram Live, donde solo puedes enviar una respuesta privada durante la transmisión en directo. El mensaje contendrá un enlace a la publicación en la que comentó la persona.

Webhooks

  • Al alojar una historia de Instagram Live, asegúrate de que el servidor pueda gestionar el aumento de la carga de notificaciones activadas por eventos del webhooks live_comments, mediante la API de Instagram, y de que el sistema pueda diferenciar entre las notificaciones de live_comments y comments.
  • En el caso de las publicaciones publicitarias, las notificaciones del webhooks comments de la API Graph de Instagram incluirán el identificador y el título del anuncio. Es posible que tengas que actualizar el servidor de webhooks para que gestione estos nuevos campos.

    Los valores de ad_id y ad_title se devolverán en el objeto multimedia cuando un usuario comente en una publicación promocionada de Instagram o una publicación publicitaria de Instagram. Esto puede generar notificaciones de webhook duplicadas.

Limitaciones

  • Solo se puede enviar un mensaje a la persona que comentó.
  • El mensaje debe enviarse en los siete días posteriores a la creación del comentario en el caso de los comentarios en una publicación, publicación publicitaria o reel.
  • Debido a la naturaleza transitoria de las historias de Instagram Live, las respuestas privadas en los comentarios de la historias de Instagram Live solo se pueden enviar durante la transmisión en directo. Una vez que la transmisión en directo haya finalizado, no se podrán enviar más respuestas privadas.
  • Solo puedes continuar la conversación dentro del intervalo de mensajes de 24 horas cuando una persona responde al mensaje privado.
  • Las aplicaciones con acceso estándar solo pueden acceder a los datos de las personas que tienen un rol en la aplicación.
  • No se admiten las respuestas privadas en el caso de los comentarios de IGTV.
  • La versión 7.0 o anteriores de la API necesita la función de agente humano y la etiqueta de mensaje de agente humano para las respuestas privadas.

Antes de empezar

En este tutorial, suponemos que has leído la Información general de la plataforma de Messenger y la Información general de los mensajes de Instagram y que has implementado los componentes necesarios.

Necesitarás lo siguiente:

  • El identificador de la página de Facebook vinculada a tu cuenta profesional de Instagram.
  • El identificador del comentario que hizo la persona a la que envías la respuesta privada. El identificador se puede obtener en el webhooks comments de Instagram en el caso de publicaciones, publicaciones publicitarias y reels, y el webhooks live_comments de Instagram en el caso de historias en directo (método recomendado para evitar la limitación de frecuencia) o una llamada a la API al extremo /page/feed.
  • Los permisos instagram_manage_comments y pages_messaging, obtenidos mediante el inicio de sesión con Facebook.
  • Un identificador de acceso a la página solicitado por un usuario que pueda realizar la tarea MESSAGING en la página de Facebook vinculada a la cuenta profesional de Instagram.
  • La función de agente humano.
  • Acceso avanzado.

Enviar una respuesta privada

Para enviar una respuesta privada a una persona que comentó en tu publicación, reel o historia en directo, envía una solicitud POST al extremo /PAGE-ID/messages, donde el parámetro recipient contenga el identificador del comentario y el parámetro message contenga el texto que quieres enviar.

Se ha aplicado formato con fines de legibilidad.
curl -i -X POST "https://graph.facebook.com/PAGE-ID/messages
  ?recipient: { comment_id: COMMENT-ID }
  &message: { "text": "Thanks for reaching out, how can I help?" }
  &access_token=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
  }
);

Cuando esta operación se lleva a cabo correctamente, la aplicación recibe la respuesta siguiente:

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

Más información

Ayuda para desarrolladores