Enviar um modelo de mensagem do WhatsApp (MTM)
Neste trecho de código, você aprenderá a enviar uma mensagem modelo do WhatsApp (MTM) usando a Messages API.
IMPORTANTE: Se um cliente enviar uma mensagem para você, você tem 24 horas para responder a ele com uma mensagem de formato livre. Após esse período, você deve usar um modelo de mensagem (MTM). Se um cliente não tiver enviado uma mensagem primeiro, na primeira vez que você enviar uma mensagem a um usuário, o WhatsApp exige que a mensagem contenha um modelo. Isso é explicado com mais detalhes no Tópico: Entendendo o WhatsApp.
Exemplo
Veja a seguir a descrição de todas as variáveis utilizadas em cada trecho de código:
| Chave | Descrição |
|---|---|
VONAGE_APPLICATION_ID | The Vonage Application ID. |
VONAGE_APPLICATION_PRIVATE_KEY_PATH | Private key path. |
VONAGE_PRIVATE_KEY_PATH | Private key path. |
BASE_URL | For production use the base URL is |
MESSAGES_API_URL | There are two versions of the API, each with their own endpoints. For production the previous Messages API endpoint was |
WHATSAPP_NUMBER | The WhatsApp number that has been allocated to you by Vonage. For sandbox testing the number is 14157386102. |
VONAGE_WHATSAPP_NUMBER | Refer to |
VONAGE_NUMBER | Refer to |
TO_NUMBER | Replace with the number you are sending to. E.g. |
WHATSAPP_TEMPLATE_NAME | The name of the template created in your WhatsApp Business Account. |
NOTA: Não use um espaço à esquerda + ou 00 Ao digitar um número de telefone, comece com o código do país; por exemplo, 447700900000.
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Escreva o código
Adicione o seguinte ao arquivo ` send-mtm.sh`:
curl -X POST "${MESSAGES_API_URL}" \
-H "Authorization: Bearer "$JWT\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${WHATSAPP_SENDER_ID}'",
"channel": "whatsapp",
"message_type": "template",
"whatsapp": {
"policy": "deterministic",
"locale": "en"
},
"template":{
"name": "'${WHATSAPP_TEMPLATE_NAME}'",
"parameters":[
"Joe Bloggs",
"AB123456"
]
}
}'
Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
npm install @vonage/server-sdk @vonage/messagesCrie um arquivo chamado ` send-mtm.js ` e insira o seguinte 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} : {}),
},
);Escreva o código
Adicione o seguinte ao arquivo ` send-mtm.js`:
vonage.messages.send({
to: MESSAGES_TO_NUMBER,
from: WHATSAPP_SENDER_ID,
channel: Channels.WHATSAPP,
messageType: 'template',
whatsapp: {
policy: 'deterministic',
locale: 'en',
},
template: {
name: WHATSAPP_TEMPLATE_NAME,
parameters: [
'Joe Bloggs',
'AB123456',
],
},
})
.then(({ messageUUID }) => console.log(messageUUID))
.catch((error) => console.error(error));Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crie um arquivo chamado ` SendWhatsappTemplate ` e adicione o código a seguir ao método ` main `:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` SendWhatsappTemplate `:
val messageId = client.messages.send(
whatsappTemplate {
to(MESSAGES_TO_NUMBER)
from(WHATSAPP_SENDER_ID)
policy(Policy.DETERMINISTIC)
locale(Locale.ENGLISH_UK)
name("$WHATSAPP_TEMPLATE_NAMESPACE:$WHATSAPP_TEMPLATE_NAME")
parameters(listOf(
"Vonage Verification",
"64873",
"10"
))
}
)Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.messages.whatsapp ` pelo pacote que contém ` SendWhatsappTemplate`:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk:9.3.1'Crie um arquivo chamado ` SendWhatsappTemplate ` e adicione o código a seguir ao método ` main `:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` SendWhatsappTemplate `:
var response = client.getMessagesClient().sendMessage(
WhatsappTemplateRequest.builder()
.from(WHATSAPP_SENDER_ID).to(MESSAGES_TO_NUMBER)
.policy(Policy.DETERMINISTIC).locale(Locale.ENGLISH_UK)
.name(WHATSAPP_TEMPLATE_NAMESPACE+':'+WHATSAPP_TEMPLATE_NAME)
.parameters(List.of(
"Vonage Verification",
"64873",
"10"
))
.build()
);
System.out.println("Message sent successfully. ID: "+response.getMessageUuid());Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.messages.whatsapp ` pelo pacote que contém ` SendWhatsappTemplate`:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
Install-Package VonageEscreva o código
Adicione o seguinte ao arquivo ` SendWhatsAppMtm.cs`:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
var request = new WhatsAppTemplateRequest
{
To = MESSAGES_TO_NUMBER,
From = WHATSAPP_SENDER_ID,
WhatsApp = new MessageWhatsApp
{
Policy = "deterministic",
Locale = "en-GB",
},
Template = new MessageTemplate
{
Name = WHATSAPP_TEMPLATE_NAME,
Parameters =
[
"Vonage Verification",
"64873",
"10"
],
}
};
var response = await vonageClient.MessagesClient.SendAsync(request);Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
composer require vonage/clientCrie um arquivo chamado ` send-mtm.php ` e insira o seguinte código:
$keypair = new \Vonage\Client\Credentials\Keypair(
file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH),
VONAGE_APPLICATION_ID
);
$client = new \Vonage\Client($keypair);Escreva o código
Adicione o seguinte ao arquivo ` send-mtm.php`:
$custom = [
"name" => WHATSAPP_TEMPLATE_NAMESPACE . ":" . WHATSAPP_TEMPLATE_NAME,
"parameters" => [
"Vonage Verification",
"64873",
"10",
],
];
$whatsApp = new \Vonage\Messages\Channel\WhatsApp\WhatsAppCustom(
TO_NUMBER,
FROM_NUMBER,
$custom
);
$client->messages()->send($whatsApp);Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
pip install vonage python-dotenvEscreva o código
Adicione o seguinte ao arquivo ` send-template.py`:
from vonage import Auth, Vonage
from vonage_messages import (WhatsappTemplate, WhatsappTemplateResource,
WhatsappTemplateSettings)
client = Vonage(
Auth(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_PRIVATE_KEY,
)
)
message = WhatsappTemplate(
to=MESSAGES_TO_NUMBER,
from_=WHATSAPP_SENDER_ID,
template=WhatsappTemplateResource(
name=WHATSAPP_TEMPLATE_NAME,
parameters=["Vonage Verification", "64873", "10"],
),
whatsapp=WhatsappTemplateSettings(
locale="en-GB",
policy="deterministic",
),
)
response = client.messages.send(message)
print(response)Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Se você não tiver um aplicativo, acesse criar um. Certifique-se também de acessar configure seus webhooks.
gem install vonageCrie um arquivo chamado ` send-mtm.rb ` e insira o seguinte código:
client = Vonage::Client.new(
application_id: VONAGE_APPLICATION_ID,
private_key: VONAGE_PRIVATE_KEY
)Escreva o código
Adicione o seguinte ao arquivo ` send-mtm.rb`:
message = client.messaging.whatsapp(
type: 'template',
message: {
name: WHATSAPP_TEMPLATE_NAME,
parameters: [
"Joe Bloggs",
"AB123456"
]
},
opts: {
whatsapp: {
policy: "deterministic",
locale: "en"
}
}
)
client.messaging.send(
from: WHATSAPP_SENDER_ID,
to: MESSAGES_TO_NUMBER,
**message
)Execute seu código
Salve este arquivo no seu computador e execute-o:
Experimente
Ao executar o código, um modelo de mensagem do WhatsApp (MTM) é enviado para o número de destino.