Configure seus pré-requisitos
Existem alguns pré-requisitos que você precisa cumprir antes de poder seguir com este tutorial. Se você já tiver cumprido algum deles, fique à vontade para pular essa etapa.
Você pode criar um account na Vonage pelo Painel de controle.
No Painel de Controle, você pode criar Applications e adquirir Numbers da Vonage. Você também pode realizar essas tarefas usando o CLI da Vonage.
Se você quiser realizar tarefas como criar Applications, adquirir Numbers da Vonage e assim por diante, precisará instalar a CLI da Vonage. Como a CLI da Vonage requer node.js você precisará instalar node.js primeiro.
Para garantir que node.js Após a instalação, execute o seguinte comando no terminal:
Siga as etapas descritas no Introdução ao Vonage CLI página para instalar e configurar a linha de comando.
Se você planeja usar JavaScript para desenvolver seu aplicativo, precisará instalar (ou atualizar) o SDK do Vonage Node Server.
Instalação
O Node Server SDK pode ser instalado da seguinte forma:
Se você já tiver o Server SDK instalado, o comando acima atualizará o Server SDK para a versão mais recente.
Uso
Se você decidir usar o SDK do servidor, precisará das seguintes informações:
| Chave | Descrição |
|---|---|
VONAGE_API_KEY |
A chave da API da Vonage, que você pode obter na sua Painel de controle. |
VONAGE_API_SECRET |
A chave secreta da API da Vonage, que você pode obter na sua Painel de controle. |
VONAGE_APPLICATION_ID |
O ID do aplicativo Vonage para o seu aplicativo Vonage, que pode ser obtido em sua Painel de controle. |
VONAGE_APPLICATION_PRIVATE_KEY_PATH |
O caminho para o private.key arquivo que foi gerado quando você criou seu aplicativo da Vonage. |
Essas variáveis podem então ser substituídas por valores reais no código de exemplo do Server SDK.
Crie seu aplicativo
Existem dois métodos alternativos para criar uma aplicação de Mensagens e Despacho:
- Como usar a CLI da Vonage
- Como usar o painel
Cada um desses métodos é descrito nas seções a seguir.
Como criar uma aplicação de mensagens e despacho usando a CLI da Vonage
Para criar seu aplicativo usando a CLI da Vonage, digite o seguinte comando no shell:
Isso cria uma aplicação da Vonage com mensagens capacidade, com as URLs dos webhooks configuradas conforme especificado, e gerar um arquivo de chave privada my_messages_app.key e cria/atualiza vonage_app.json.
Como criar uma aplicação de Mensagens e Despacho usando o Painel de Controle
Você pode criar Applications de Mensagens e Despacho no Painel de controle.
Para criar seu aplicativo usando o Painel:
-
Sob Applications No Painel, clique no Criar um novo aplicativo botão.
-
Sob Nome, digite o nome da Application. Escolha um nome que facilite a identificação futura.
-
Clique no botão Gerar chave pública e chave privada. Isso criará um par de chaves pública/privada, e a chave privada será baixada pelo seu navegador.
-
Sob Recursos selecione o Mensagens botão.
-
No URL de origem na caixa, digite a URL do seu webhook de mensagens recebidas, por exemplo,
https://example.com/webhooks/inbound-message. -
No URL de status na caixa, digite a URL do seu webhook de status de mensagem, por exemplo,
https://example.com/webhooks/message-status. -
Clique no Criar um novo pedido botão. Agora você será direcionado para a próxima etapa do procedimento de criação do aplicativo, onde poderá vincular um número da Vonage ao aplicativo e vincular contas externas, como o Facebook, a ele.
-
Se houver um account externo à qual você queira vincular este aplicativo, clique no External accounts linked aba e, em seguida, clique no botão correspondente Link botão correspondente à conta que você deseja vincular.
Você já criou seu aplicativo.
NOTA: Antes de testar seu aplicativo, certifique-se de que seus webhooks estejam configurados e que seu servidor de webhooks esteja em funcionamento.
Há pelo menos dois webhooks que você deve configurar:
- Webhook de status de mensagem
- Webhook de mensagens recebidas
Quando são geradas atualizações de status de mensagens, como delivered, rejected ou accepted, as chamadas de retorno serão recebidas no Status da mensagem URL do webhook.
Quando uma mensagem recebida é captada, uma função de retorno com o conteúdo da mensagem é invocada no Mensagem recebida URL do webhook.
IMPORTANTE: Ambas as URLs de webhook devem ser configuradas. No mínimo, seus manipuladores de webhook devem retornar respostas 200 tanto para os callbacks de “Mensagem de entrada” quanto para os de “Status da mensagem”.
Para configurar as URLs dos webhooks
No Painel de controle, acesse Mensagens e Despacho.
DICA: Se as URLs de Webhook para mensagens no seu Account da Vonage já estiverem em uso em produção e você desejar uma segunda URL para utilizar a Messages API, envie um e-mail para apoio e solicite uma chave de API secundária.
Insira as URLs dos seus Webhooks nos campos intitulados URL de status e URL de origem.
Os valores que você inserir para as URLs dos webhooks dependem da localização do seu servidor de webhooks, por exemplo:
| Webhook | URL |
|---|---|
| URL de status | https://www.example.com/webhooks/message-status |
| URL de origem | https://www.example.com/webhooks/inbound-message |
NOTA: O método padrão de POST deve ser usado nas duas URLs de webhook.
Webhooks de SMS recebidos
NOTA: Recomendamos usar Autenticação baseada em JWT pois isso permite que você configure as URLs dos webhooks de recebimento e confirmação de entrega em nível de aplicação. Caso contrário, todas as chamadas de retorno das suas diferentes aplicações serão enviadas para o seu URLs de webhooks no nível da conta.
Fila de webhooks
Observe que os webhooks originados pela Vonage, como aqueles na URL do webhook de status de mensagem e na URL de mensagem recebida, são colocados em fila pela Vonage individualmente, mensagem por mensagem.
Certifique-se de que todas as aplicações respondam aos webhooks com um código de resposta 200.
Webhooks assinados
Para validar a origem dos seus webhooks, você pode verificar a assinatura deles; consulte as instruções aqui
Neste trecho de código, você aprenderá como lidar com uma mensagem recebida.
NOTA: Recomendamos usar Autenticação baseada em JWT pois isso permite que você configure as URLs dos webhooks de recebimento e confirmação de entrega em nível de aplicação. Caso contrário, todas as chamadas de retorno das suas diferentes aplicações serão enviadas para o seu URLs de webhooks no nível da conta.
Exemplo
Certifique-se de que sua mensagem recebida O webhook está configurado no Painel. No mínimo, seu handler deve retornar um código de status 200 para evitar o acúmulo desnecessário de callbacks na fila. Certifique-se de que seu servidor de webhooks esteja em execução antes de testar seu aplicativo de mensagens.
Pré-requisitos
npm install express body-parserEscreva o código
Adicione o seguinte ao arquivo ` inbound-message.js`:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/webhooks/inbound-message', (req, res) => {
console.log(req.body);
res.status(200).end();
});
app.listen(3000);
Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
pip install fastapi[standard]Escreva o código
Adicione o seguinte ao arquivo ` webhook-server.py`:
from pprint import pprint
from fastapi import FastAPI, Request, status
app = FastAPI()
@app.post('/webhooks/message-status', status_code=status.HTTP_200_OK)
async def message_status(request: Request):
data = await request.json()
pprint(data)
@app.post('/webhooks/inbound-message')
async def inbound_message(request: Request):
data = await request.json()
pprint(data)Execute seu código
Salve este arquivo no seu computador e execute-o:
Se você quiser testar seu aplicativo localmente, pode usar o Ngrok.
Confira nossas informações sobre Usando o Ngrok para desenvolvimento local
Se estiver usando o Ngrok dessa maneira, você deve utilizar as URLs do Ngrok como URLs dos seus webhooks:
https://abcdef1.ngrok.io/webhooks/inbound-messagehttps://abcdef1.ngrok.io/webhooks/message-status
Envio de uma mensagem SMS
A Messages API permite enviar mensagens para diversos canais, incluindo o Facebook Messenger, SMS, WhatsApp e Viber. Esta tarefa aborda o uso da Messages API para enviar uma mensagem SMS.