Utilize nossa API de Templates na Atom
Esta API (sigla em inglês de Application Programming Interface) permite a integração entre suas aplicações e o serviço de envio de Templates da Atom. Esta API permite:
- Enviar um template.
- Obter uma lista de templates.
- Visualizar os detalhes de um template por meio do seu ID.
Endpoint: Templates – Envio de Template
Este serviço permite o envio de Template Messages utilizando o número de WhatsApp Oficial e o templateId.
Quando o número enviado já estiver vinculado a uma conversa, a mensagem será enviada na mesma e a confirmação de envio será imediata. Caso contrário, será aguardada a confirmação por meio do provedor de WhatsApp Oficial, portanto não será fornecida uma confirmação de envio imediata.
Parâmetros
A seguir explicamos os parâmetros que devem ser incluídos obrigatoriamente na requisição, e outros que podem ser adicionados opcionalmente:
| Nome do Parâmetro | Descrição | Tipo de Dado | Obrigatório |
|---|---|---|---|
| templateId | Identificador (ID) do Template Message da AtomChat | string | Sim |
| phoneNumber | Número de telefone para o qual o Template Message será enviado. Deve ser informado com o código do país, sem utilizar o sinal + | ||
| Correto: 50755667788 ✅ | |||
| Incorreto: +50555667788 ❌ | |||
| Incorreto: 55667788 ❌ | string | Sim | |
| firstName | Nome do cliente | string | Sim |
| lastName | Sobrenome do cliente | string | Sim |
| assign | Indica se a conversa deve ser atribuída a um Agente (com valor true). Caso contrário, será atribuída ao Bot |
boolean | Não. O valor padrão é false |
| params | Coleção de parâmetros com seus respectivos valores necessários para o uso do Template Message | {key: value} object |
Não |
A requisição para realizar o envio de Template Messages utilizando a API da AtomChat é realizada da seguinte forma:
Tipo de Conexão
Acesso público pela Internet
Endpoint
<https://us-central1-atomchat-io.cloudfunctions.net/templates>
Método
POST
Cabeçalhos
Content-type: application/json
Charset: utf-8
Authorization: Bearer (token público)
Corpo
{
"templateId": "id_del_template",
"phoneNumber": "numero_de_telefono",
"firstName": "nombre_del_cliente",
"lastName": "apellido_del_cliente",
"groupName": "nombre_del_grupo",
"assign": true/false,
"params": {
"param1": "valor",
"param2": "valor"
}
}
Respostas
Template enviado
Código: 200
{
"success": true,
"message": "Sent",
"data": { "conversation_id": conversation.id }
}
Template pendente de envio
Código: 202
{
"success": false,
"conversationId": conversation.id,
"status": 202
}
Parâmetros incorretos
Código: 400
{
"success": false,
"message": "No hay datos para enviar"
}
Faltam parâmetros obrigatórios do template
Código: 400
{
"code": 400,
"body": {
"context": { "key": "Body", "label": "body.params" },
"message": "Missing params:[] ",
"path": [
"body.params"
],
"type": "Bad format"
}
}
Template sem ID ou sem mensagem definida
Código: 400
{
"code": 400,
"body": {
"context": { "key": "Body", "label": ["template.appId", "template.message"] },
"message": "No data to send",
"path": [
"template.appId",
"template.message"
],
"type": "Bad format"
}
}
Canal não conectado
Código: 401
{
"code": 401,
"body": {
"context": {
"value": atom.channel?.status,
"key": "Channel",
"label": "channel.status"
},
"message": "The channel associated to the template is not configured yet, please contact the support team",
"path": ["channel.status"],
"type": "Bad format"
}
}
Token incorreto
Código: 401
{
"context": {
"key": "Authorization",
"label": "headers.authorization",
"value": "Bearer"
},
"message": "Cannot find a channel associated with the public token Bearer",
"path": [
"headers.authorization"
],
"type": "Bad format"
}
Limite de conversas do plano atingido
Código: 401
{
"success": false,
"message": "The client has reached conversations limit",
"conversationId": null,
"status": 401
}
Erro interno
Código: 500
{
"context": {
"key": "Api",
"label": "api.SendTemplateController",
"value": error
},
"message": "Something went wrong while the operation was executed",
"path": ["api.SendTemplateController"],
"type": "Internal Server Error"
}
Endpoint: Get Template by ID – Ver detalhes de um template
Este serviço permite obter os detalhes de um template específico.
Endpoint
<https://us-central1-atomchat-io.cloudfunctions.net/templates{id_template}>
Método: GET
Respostas
Template recuperado
Código: 200
{
"id": "string",
"message": "string",
"buttons": [],
"status": "APPROVED/REJECTED",
"active": true/false,
"createdAt": "string",
"updatedAt": "string",
"bodyParams": [],
"description": "string"
}
Template inexistente
Código: 404
{
"code": 404,
"body": {
"context": {
"key": "Template",
"label": "template",
"value": id.template
},
"message": "Cannot find the template with id = templateId",
"path": [
"template"
],
"type": "Not Found"
}
}
Token incorreto
Código: 400
{
"context": {
"key": "Authorization",
"label": "headers.authorization",
"value": "Bearer"
},
"message": "Cannot find a channel associated with the public token Bearer",
"path": [
"headers.authorization"
],
"type": "Bad format"
}