Enviar un mensaje de Facebook

A continuación, puedes utilizar la Messages API para responder al mensaje entrante recibido del usuario de Facebook.

Sustituye las siguientes variables del ejemplo que aparece a continuación por valores reales:

Clave Descripción
FB_SENDER_ID Tu ID de página. El FB_SENDER_ID es el mismo que el to.id valor que has recibido en el evento de mensajería entrante en la URL de tu webhook de mensajes entrantes.
FB_RECIPIENT_ID El PSID del usuario al que desea responder. La dirección FB_RECIPIENT_ID es el PSID del usuario de Facebook al que envías el mensaje. Este valor es el from.id valor que has recibido en el evento de mensajería entrante en la URL de tu webhook de mensajes entrantes.

Ejemplo

Escriba el código

Añada lo siguiente a send-text.sh:

curl -X POST "${MESSAGES_API_URL}" \
  -H "Authorization: Bearer "$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "to": "'${MESSENGER_RECIPIENT_ID}'",
    "from": "'${MESSENGER_SENDER_ID}'",
    "channel": "messenger",
    "message_type": "text",
    "text": "This is a Facebook Messenger text message sent using the Vonage Messages API."
  }'

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

bash send-text.sh

Requisitos previos

npm install @vonage/server-sdk @vonage/messages

Crea un archivo llamado send-text.js y añade el siguiente código:

const { Vonage } = require('@vonage/server-sdk');
const { Channels } = require('@vonage/messages');

/**
 * It is best to send messages using JWT instead of basic auth. If you leave out
 * apiKey and apiSecret, the messages SDK will send requests using JWT tokens
 *
 * @link https://developer.vonage.com/en/messages/technical-details#authentication
 */
const vonage = new Vonage(
  {
    applicationId: VONAGE_APPLICATION_ID,
    privateKey: VONAGE_PRIVATE_KEY,
  },
  {
    ...(MESSAGES_API_URL ? {apiHost: MESSAGES_API_URL} : {}),
  },
);

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.js:

vonage.messages.send({
  messageType: 'text',
  channel: Channels.MESSENGER,
  text: 'This is a Facebook Messenger text message sent using the Messages API',
  to: MESSENGER_RECIPIENT_ID,
  from: MESSENGER_SENDER_ID,
})
  .then(({ messageUUID }) => console.log(messageUUID))
  .catch((error) => console.error(error));

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

node send-text.js

Requisitos previos

Añada lo siguiente a build.gradle:

implementation 'com.vonage:server-sdk-kotlin:2.1.1'

Crea un archivo llamado SendMessengerText y añade el siguiente código al método main:

val client = Vonage {
    applicationId(VONAGE_APPLICATION_ID)
    privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SendMessengerText:

val messageId = client.messages.send(
    messengerText {
        to(MESSENGER_SENDER_ID)
        from(MESSENGER_RECIPIENT_ID)
        text("This is a Facebook Messenger text message sent using the Messages API")
    }
)

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.kt.messages.messenger por el paquete que contiene SendMessengerText:

gradle run -Pmain=com.vonage.quickstart.kt.messages.messenger.SendMessengerText

Requisitos previos

Añada lo siguiente a build.gradle:

implementation 'com.vonage:server-sdk:9.3.1'

Crea un archivo llamado SendMessengerText y añade el siguiente código al método main:

VonageClient client = VonageClient.builder()
		.applicationId(VONAGE_APPLICATION_ID)
		.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
		.build();

Ver fuente completa

Escriba el código

Añada lo siguiente al método main del archivo SendMessengerText:

var response = client.getMessagesClient().sendMessage(
		MessengerTextRequest.builder()
			.from(MESSENGER_SENDER_ID)
			.to(MESSENGER_RECIPIENT_ID)
			.text("This is a Facebook Messenger Message sent from the Messages API")
			.build()
);
System.out.println("Message sent successfully. ID: "+response.getMessageUuid());

Ver fuente completa

Ejecute su código

Podemos utilizar el plugin aplicación para Gradle para simplificar la ejecución de nuestra aplicación. Actualiza tu build.gradle con lo siguiente:

apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''

Ejecute el siguiente comando gradle para ejecutar su aplicación, sustituyendo com.vonage.quickstart.messages.messenger por el paquete que contiene SendMessengerText:

gradle run -Pmain=com.vonage.quickstart.messages.messenger.SendMessengerText

Requisitos previos

Install-Package Vonage

Escriba el código

Añada lo siguiente a SendMessengerText.cs:

var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
var request = new MessengerTextRequest
{
    To = MESSENGER_RECIPIENT_ID,
    From = MESSENGER_SENDER_ID,
    Text = "This is a Facebook Messenger Message sent from the Messages API"
};
var response = await vonageClient.MessagesClient.SendAsync(request);

Ver fuente completa

Requisitos previos

composer require vonage/client

Crea un archivo llamado send-text.php y añade el siguiente código:

$keypair = new \Vonage\Client\Credentials\Keypair(
    file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
    VONAGE_APPLICATION_ID
);

$client = new \Vonage\Client($keypair);

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.php:

$message = new \Vonage\Messages\Channel\Messenger\MessengerText(
    TO_NUMBER,
    FROM_NUMBER,
    'This is a text message sent using the Vonage PHP SDK'
);

$client->messages()->send($message);

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

php send-text.php

Requisitos previos

pip install vonage python-dotenv

Escriba el código

Añada lo siguiente a send-text.py:

from vonage import Auth, Vonage
from vonage_messages import MessengerText

client = Vonage(
    Auth(
        application_id=VONAGE_APPLICATION_ID,
        private_key=VONAGE_PRIVATE_KEY,
    )
)

message = MessengerText(
    to=MESSENGER_RECIPIENT_ID,
    from_=MESSENGER_SENDER_ID,
    text='Hello from the Vonage Messages API.',
)
try:
    response = client.messages.send(message)
    print(response)
except Exception as e:
    print(e)
    print(client.http_client.last_request.url)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

python messages/messenger/send-text.py

Requisitos previos

gem install vonage

Crea un archivo llamado send-text.rb y añade el siguiente código:

client = Vonage::Client.new(
  application_id: VONAGE_APPLICATION_ID,
  private_key: VONAGE_PRIVATE_KEY
)

Ver fuente completa

Escriba el código

Añada lo siguiente a send-text.rb:

message = client.messaging.messenger(
  type: 'text',
  message: "This is a Facebook Messenger text message sent using the Vonage Messages API"
)

client.messaging.send(
  from: MESSENGER_SENDER_ID,
  to: MESSENGER_RECIPIENT_ID,
  **message
)

Ver fuente completa

Ejecute su código

Guarde este archivo en su máquina y ejecútelo:

ruby send-text.rb

CONSEJO: Si realiza las pruebas con Curl, necesitará un JWT. Puede ver cómo crear uno en la documentación de creación de un JWT.

Enviar un mensaje por Facebook Messenger

Messages API ofrece la posibilidad de enviar mensajes a varios canales, como Facebook Messenger, SMS, WhatsApp y Viber. En esta tarea se examina el uso de la Messages API para enviar un mensaje de Facebook Messenger.

Pasos
1
Introducción a este tutorial
2
Prerequisites
3
Vincula tu página de Facebook a tu cuenta de Vonage
4
Recibir un mensaje de Facebook
5
Enviar un mensaje de Facebook
6
¿Y ahora qué?