Utilize nossa API de Templates no Atom
Esta API (sigla em inglês de Interface de Programação de Aplicações) permite a integração entre seus aplicativos com o serviço de envio de Templates do Atom. Esta API permite:
Enviar um template.
Obter uma listagem de templates.
Ver detalhes de um template através de seu ID.
Endpoint: Templates - Envio de Template
Este serviço permite o envio de Templates 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 sobre a mesma e a confirmação de envio será imediata. Caso contrário, será aguardada a confirmação por meio do provedor de WhatsApp Oficial, pelo qual não será fornecida uma confirmação de envio imediata.
Parâmetros
A seguir, explicamos os parâmetros que devem ser incluídos na solicitação de forma obrigatória e outros que podem ser adicionados opcionalmente:
| Nome do Parâmetro |
Nome do Parâmetro
| Descrição |
Descrição
| Tipo de Dado |
Tipo de Dado
| Requerido |
Requerido
| templateId |
templateId
| Identificador (Id) do Template Message do AtomChat. |
Identificador (Id) do Template Message do AtomChat.
| string |
string
| Sim |
Sim
| phoneNumber |
phoneNumber
| Número de telefone para o qual a Template Message será enviada. O código do país deve ser prefixado, sem usar o sinal +
Correto: 50755667788 ✅
Incorreto: +50555667788 ❌
Incorreto: 55667788 ❌ |
Número de telefone para o qual a Template Message será enviada. O código do país deve ser prefixado, sem usar o sinal +
Correto: 50755667788 ✅
Incorreto: +50555667788 ❌
Incorreto: 55667788 ❌
| string |
string
| Sim |
Sim
| firstName |
firstName
| Nome do cliente |
Nome do cliente
| string |
string
| Sim |
Sim
| lastName |
lastName
| Sobrenome do cliente |
Sobrenome do cliente
| string |
string
| Sim |
Sim
| assign |
assign
| Indica se a conversa deve ser atribuída a um Agente (com o valor true). Caso contrário, ela é atribuída a Bot. |
Indica se a conversa deve ser atribuída a um Agente (com o valor true). Caso contrário, ela é atribuída a Bot.
| boolean |
boolean
| Não. O valor padrão é false. |
Não. O valor padrão é false.
| params |
params
| Coleção de parâmetros com seus valores necessários para o uso da Template Message.{key: value} |
Coleção de parâmetros com seus valores necessários para o uso da Template Message.
{key: value}
| object |
object
| Não |
Não
A solicitação para realizar o envio de Templates Messages (mensagens com templates) utilizando a nova API do AtomChat é feita da seguinte forma:
| Tipo de Conexão |
Tipo de Conexão
| Acesso público pela Internet |
Acesso público pela Internet
| Endpoint |
Endpoint
| Método |
Método
| POST |
POST
| Cabeçalhos |
Cabeçalhos
| Content-type: application/jsonCharset: utf-8Authorization: Bearer (token público) |
Content-type: application/json
Charset: utf-8
Authorization: Bearer (token público)
| Corpo |
Corpo
| {“templateId”: “iddeltemplate”,“phoneNumber”: “numerodetelefono”,“firstName”: “nombredelcliente”,“lastName”: apellidodelcliente”,“groupName”: “nombredelgrupo”,“assign”:true/false,“params”: {“param1”: “valor”,“param2”: “valor”,…},} |
{
“templateId”: “iddeltemplate”,
“phoneNumber”: “numerodetelefono”,
“firstName”: “nombredelcliente”,
“lastName”: apellidodelcliente”,
“groupName”: “nombredelgrupo”,
“assign”:true/false,
“params”: {
“param1”: “valor”,
“param2”: “valor”,
…
},
}
Respostas
As respostas esperadas para a solicitação realizada são as seguintes:
| Cenário |
Cenário
| Código de Resposta |
Código de Resposta
| Corpo da Resposta |
Corpo da Resposta
| Template enviado |
Template enviado
| 200 |
200
| {success: true,message: "Sent",data: {conversation_id : conversation.id }} |
{
success: true,
message: "Sent",
data: {conversation_id : conversation.id }
}
| Template pendente de envio |
Template pendente de envio
| 202 |
202
| {"success": false,"conversationId":conversation.id,"status": 202} |
{
"success": false,
"conversationId":conversation.id,
"status": 202
}
| Parâmetros incorretos |
Parâmetros incorretos
| 400 |
400
| {success: false,message: "No hay datos para enviar"} |
{
success: false,
message: "No hay datos para enviar"
}
| Faltam Parâmetros de template necessários |
Faltam Parâmetros de template necessários
| 400 |
400
| {code: 400,body: {context: { key: 'Body', label: 'body.params' },message: "Missing params:[] ",path: ['body.params'],type: 'Bad format',},} |
{
code: 400,
body: {
context: { key: 'Body', label: 'body.params' },
message: "Missing params:[] ",
path: [
'body.params'
],
type: 'Bad format',
},
}
| Template sem ID ou Template sem mensagem definido |
Template sem ID ou Template sem mensagem definido
| 400 |
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',},} |
{
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 |
Canal não conectado
| 401 |
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',},} |
{
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 |
Token incorreto
| 401 |
401
| {"context": {"key": "Authorization","label": "headers.authorization","value":Bearer},"message": "Cannot find a channel associated with the public tokenBearer","path": ["headers.authorization"],"type": "Bad format"} |
{
"context": {
"key": "Authorization",
"label": "headers.authorization",
"value":Bearer
},
"message": "Cannot find a channel associated with the public tokenBearer",
"path": [
"headers.authorization"
],
"type": "Bad format"
}
| O limite de conversas do plano foi atingido |
O limite de conversas do plano foi atingido
| 401 |
401
| {"success": false,"message": "The client has reached conversations limit","conversationId": null,"status": 401} |
{
"success": false,
"message": "The client has reached conversations limit",
"conversationId": null,
"status": 401
}
| Erro interno |
Erro interno
| 500 |
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',} |
{
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 List of templates - Listar templates
Este serviço permite listar os templates pertencentes a um canal determinado pelo token público.
Parâmetros
A seguir, explicamos os parâmetros que devem ser incluídos na solicitação de forma obrigatória e outros que podem ser adicionados opcionalmente
| Nome do Parâmetro |
Nome do Parâmetro
| Descrição |
Descrição
| Tipo de Dado |
Tipo de Dado
| Requerido |
Requerido
| page |
page
| Indicador da página sobre a qual os registros devem ser obtidos. Padrão: 1 |
Indicador da página sobre a qual os registros devem ser obtidos. Padrão: 1
| string |
string
| Não |
Não
| size |
size
| Quantidade de registros a serem recuperados. Padrão: 10 |
Quantidade de registros a serem recuperados. Padrão: 10
| string |
string
| Não |
Não
A solicitação para realizar o recebimento da listagem de templates utilizando a API do AtomChat é feita da seguinte forma:
| Tipo de Conexão |
Tipo de Conexão
| Acesso público pela Internet |
Acesso público pela Internet
| Endpoint |
Endpoint
| Método |
Método
| GET |
GET
| Cabeçalhos |
Cabeçalhos
| Content-type: application/jsonCharset: utf-8Authorization: Bearer (token público) |
Content-type: application/json
Charset: utf-8
Authorization: Bearer (token público)
Respostas
As respostas esper