Menu Docs
Página inicial do Docs
/ /
Serviços Atlas App
/ /

Serviço Twilio [Obsoleto]

Nesta página

  • Visão geral
  • Parâmetros de configuração
  • Ações de serviço
  • Webhooks recebidos
  • Configuração
  • Solicitar carga útil
  • Exemplo de função de webhook
  • Configurar o Twilio
  • Criar um serviço de mensagens
  • Adicionar um webhook a um projeto do Twilio

Importante

Suspensão de serviços de terceiros e notificações push

Os serviços de terceiros e as notificações por push no App Services foram preteridos em favor da criação de pontos de extremidade HTTP que usam dependências externas em funções.

Webhooks foram renomeados e agora são chamados de pontos de conexão HTTPS sem nenhuma alteração em seu comportamento. Recomendamos migrar webhooks existentes.

Os serviços existentes continuarão a funcionar até de setembro 30 de2025.

Como os serviços de terceiros e as notificações por push agora estão obsoletos, eles foram removidos por padrão da UI do App Services. Para gerenciar um serviço de terceiros ou uma notificação por push existente, adicione as configurações de volta à UI fazendo o seguinte:

  • Na navegação à esquerda, na seção Manage, clique em App Settings.

  • Ative a chave de alternância ao lado de Temporarily Re-Enable 3rd Party Services e salve as alterações.

O Twilio fornece serviços de mensagens, voz e bate-papo para aplicativos web e móveis. O serviço Twilio do Atlas App Services suporta a integração do serviço de SMS programáveis do Twilio em seu aplicativo.

  • Para enviar uma mensagem de texto de saída, use a ação send() .

  • Para gerenciar e, opcionalmente, responder a mensagens de texto recebidas, crie um webhook de entrada e adicione-o a um serviço de mensagens Twilio. Consulte a seção de webhooks recebidos nesta página para obter um exemplo.

Observação

Para usar o Twilio com o App Services, você deve ter um Twilio Phone Number registrado em um serviço de mensagens associado à sua conta do Twilio. Você pode criar um novo número na Numbers página do painel do Twilio ou seguindo o Início Rápido do SMS programável do Twilio guia.

Você precisará fornecer valores para os seguintes parâmetros ao criar uma interface de serviço do Twilio:

<Service Name><Nome do serviço>/config.json
{
"name": "<Service Name>",
"type": "twilio",
"config": {
"sid": <Twilio Account SID>
},
"secret_config": {
"auth_token": "<Secret Name>"
}
}
Parâmetro
Descrição
Service Name
config.name
O nome dessa interface de serviço do Twilio. Isso deve ser exclusivo de todas as outras interfaces de serviço em seu aplicativo.
Twilio Account SID
config.sid
Um identificador exclusivo para sua conta do Twilio. Você pode encontrar esse valor no dashboard da sua conta do Twilio.
Twilio Authorization Token
secret_config.auth_token
O nome de um segredo que armazena um token de autorização do Twilio, o que comprova que você é o proprietário de uma conta do Twilio. Você pode encontrar esse valor no dashboard da sua conta do Twilio.

O serviço do Twilio no App Services fornece as seguintes ação que estão disponíveis em funções e nos SDKs:

Para obter instruções sobre como usar uma ação de serviço, consulte Chamar uma ação de serviço.

Observação

Converter webhooks do Twilio em endpoints

Os webhooks do Twilio Service foram preteridos em favor de HTTPS endpoints personalizados. Para saber como migrar seus webhooks do Twilio existentes para endpoints, consulte Converter webhooks em HTTPS endpoints.

Os webhooks recebidos para o serviço do Twilio permitem que seu aplicativo lide com mensagens de texto recebidas. Após criar um webhook de entrada, você pode adicioná-lo a um serviço de mensagens do Twilio para lidar com as mensagens recebidas para esse serviço.

Você precisará fornecer valores para os seguintes parâmetros ao criar um webhook de entrada do Twilio:

Você precisará fornecer um arquivo de configuração do seguinte formulário ao criar um webhook de entrada do Twilio:

{
"name": <string>,
"respond_result": <boolean>,
"run_as_user_id": <string>,
"run_as_user_id_script_source": <string>,
}
Valor da configuração
Descrição
Webhook Name
name

Obrigatório. O nome do webhook.

Observação

Cada webhook de entrada em uma interface de serviço do Twilio deve ter um nome exclusivo.

Respond With Result
respond_result

Obrigatório. Se true, o App Services envia o valor de retorno da função do webhook para o Twilio no corpo da resposta.

Observação

O Twilio enviará automaticamente uma mensagem de texto contendo o corpo da resposta do webhook para o número de telefone que enviou a mensagem inicial.

Run Webhook As
run_as_user_id
run_as_user_id_script_source

Opcional. A ID do usuário do App Services que executa a função do webhook quando o webhook é chamado.

Existem três maneiras de configurar o usuário de execução:

  • System: O usuário de execução é o usuário do sistema, que tem acesso total às APIs de Agregação e CRUD do MongoDB e ignora todas as regras e validação de esquema.

  • User Id: Selecione um usuário específico do aplicativo para executar a função.

  • Script: você define uma função que retorna o id do usuário de execução.

Você pode especificar o ID do usuário diretamente no run_as_user_id ou fornecer uma Atlas Function em string que aceita a carga útil do webhook e retorna o ID do usuário no run_as_user_id_script_source. Se você não especificar um ID de usuário específico ou uma função que resolva para um ID de usuário, o App Services executará a função de webhook como o usuário do sistema que tem acesso total às APIs de agregação e CRUD do MongoDB e ignora todas as regras e validação de esquema.

O App Services passa automaticamente um documento payload como o primeiro argumento para as funções de entrada do webhook. Em um webhook de entrada do Twilio Service, o objeto payload representa uma mensagem SMS recebida e tem o seguinte formato:

{
"From": "<Sender's Phone Number>",
"To": "<Receiver's Phone Number>",
"Body": "<SMS Body>"
}
Campo
Descrição
From
Uma string que contém o E.164-formatado número de telefone que enviou a mensagem de texto recebida.
To
Uma string que contém o E.164-formatado número de telefone associado ao serviço de mensagens do Twilio para o qual a mensagem de texto recebida foi enviada.
Body
Uma string que contém o conteúdo da mensagem de texto recebida.

Exemplo

Uma mensagem de texto enviada do número de telefone (555)867-5309 para o número de telefone do Twilio (805)716-6646 com a mensagem "Hello! How are you?" seria representada pelo seguinte documento payload :

{
"From": "+15558675309",
"To": "+18057166646",
"Body": "Hello! How are you?"
}

A função de webhook a seguir armazena mensagens de texto enviadas para um número de telefone do Twilio em uma collection MongoDB e envia uma resposta de mensagem de texto para o número de telefone que enviou o texto.

exports = async function(payload, response) {
// const { To, From, Body } = payload;
const mongodb = context.services.get("mongodb-atlas");
const texts = mongodb.db("demo").collection("texts");
try {
// Save the text message body, to number, and from number
const { insertedId } = await texts.insertOne(payload);
// Send the user a confirmation text message
response.setBody(`Saved your text message with _id: ${insertedId}`);
} catch (error) {
// Send the user an error notification text message
response.setBody(`Failed to save your text message: ${error}`);
}
}
  1. Faça login no Twilio .

  2. Clique em Programmable SMS no menu de navegação esquerdo do seu projeto no Twilio.

  3. Clique em SMS > Messaging Services.

  4. Clique em Create new Messaging Service.

  5. Insira uma Friendly Name e Use Case

  6. Clique em Create

  1. Clique em Programmable SMS no menu de navegação esquerdo do seu projeto no Twilio.

  2. Clique em SMS > Messaging Services.

  3. Clique no serviço de mensagens que deseja usar.

  4. Na página de configuração do serviço de mensagens, marque a caixa PROCESS INBOUND MESSAGES .

  5. Insira a URL do webhook de entrada na caixa Request URL .

  6. Clique em Save.

Seu aplicativo agora está integrado ao serviço de mensagens SMS do Twilio. Envie uma mensagem para seu número de telefone do Twilio para invocar o webhook de entrada para seu aplicativo.

Voltar

http.head()