API Wide Chat - Envio de Mensagens pelo Canal WhatsApp

Modificado em Qui, 30 Nov, 2023 na (o) 6:23 AM

1. GERAR TOKEN ACESSO

    Para utilização, faz-se necessário consumir uma licença de agente, pois ao efetuar o login do agente via API, ele gera o token utilizando nas consultas da API do Wide Chat. Para isso, deve-se executar o comando abaixo:


1.1 Modelo de Requisição (POST):

curl --location 
--request POST 'https://seu_dominio.widechat.com.br/api/v4/auth/login' \
 --header 'Content-Type: application/json' \ 
--data-raw '{ "email": "seu_email_login", "password": "sua_senha_login" 
}'

1.2 Modelo Resposta da Requisição:

{
    "user": {
        "_id": "1111110ca11bf11a1111d6e",
        "type": "agent",
        "email": "email_login@intelbras.com.br",
        "name": "NOME_DO_AGENTE",
        "codename": "@codinome_agente",
        "ramal": null,
        "begin": "07:00",
        "end": "20:00",
        "updated_at": "2022-03-31T13:32:13.429000Z",
        "created_at": "2021-08-18T18:00:30.386000Z",
        "username_callcenter": null,
        "password_callcenter": null,
        "language": "pt-BR",
        "logged_at": "2022-02-25T10:26:57.629000Z",
        "status": "offline",
        "pause": null,
        "campaigns": [
            "111111119102525dfe00f139",
            "11111119751dc18d37a88e5",
            "1111110ca14bf29a7365d6e"
        ],
        "photo": "daDYZUs15qqzUuEwseVAH0Sm6nxKh3TW0MRKhRyQ.jpg",
        "attendances": null,
        "groups": [
            "1111e111118d5b5fb4251111"
        ],
        "session_token": "724674dfbc57fb07e979W1nFnLdYWhPqe7a6sKLi",
        "history": "all",
        "campaigns_online": [],
        "enable_login_with_remote_auth": false,
        "msTeams": null
    },
    "socket_token": "5fb285d8c0e9de3d5a3060fd",
    "token": "xyzxyz123"
}
O parâmetro “token” será usado para enviar as requisições das API´s do Wide Chat, no parâmetro Authorization do Header (“Authorization”: “Bearer xyzxyz123”)


2. Listar Canais

Necessário para pegar o parâmetro “_id” para enviar mensagens.

2.1 Modelo de Requisição (POST):

curl --location 
--request POST 'https://seu_dominio.widechat.com.br/api/v4/auth/login' \
 --header 'Content-Type: application/json' \ 
--data-raw '{ "email": "seu_email_login", "password": "sua_senha_login" 
}'

2.2 Modelo Resposta da Requisição

   [
    {
        "_id": "5d713a55d10b3100916b6c16",
        "platform": "ChatWeb",
        "flow_id": "5d827581d10b31012962c05e",
        "receptive": false,
        "description": "My chatweb",
        "updated_at": "2019-09-18 15:22:09",
        "created_at": "2019-09-05 13:39:49",
        "number": null
    },
    {
        "_id": "5d713e37d10b31008f11c7fb",
        "platform": "Telegram",
        "flow_id": "5d827581d10b31012962c05e",
        "description": "Meu Telegram Bot",
        "bot_token": "867776034:AAEuxlfaZgkr-hYTOmYm327L6S9WLTgdivQ",
        "updated_at": "2019-09-18 15:37:35",
        "created_at": "2019-09-05 13:56:23",
        "number": null,
        "receptive": false
    },
    {
        "_id": "5d717729d10b31087e3389aa",
        "platform": "Messenger",
        "description": "Meu Messenger",
        "messenger_token": "s96df2n4s9n9s6rje985he6j8t",
        "messenger_id": "e9w5hn2e9j856j6e8t68tjet5jet8j",
        "flow_id": "5d713a41d10b3100916b6c14",
        "updated_at": "2019-09-05 17:59:21",
        "created_at": "2019-09-05 17:59:21"
    },
    {
        "_id": "5d828ae8d10b3100cb14ecf4",
        "platform": "Whatsapp",
        "provider": "Whatsapp",
        "number": "558512546841",
        "flow_id": "5d713a41d10b3100916b6c14",
        "description": "MyWhatsapp",
        "updated_at": "2019-09-20 08:49:18",
        "created_at": "2019-09-18 16:52:08",
        "status": "qrcode",
        "receptive": false
    }
]

O campo “_id” é usado no parâmetro channel_id para o item Erro! Autoreferência de indicador não válida.


3. ENVIAR MENSAGENS (USANDO TEMPLATE WHATSAPP)

Este endpoint é utilizado para o envio de mensagens. É possível enviar via POST ou GET, conforme exemplificados abaixo:


3.1 Modelo de Requisição GET:

curl --location -g 
--request GET 'https:// seu_dominio.widechat.com.br/api/v4/message/send?token=TOKEN_AGENT&agent=email_agent@email.com&attendance_id=TOKEN_EQUIPE&is_hsm=1&hsm_template_name=NOME_HSM&channel_id=CHAVE_CANAL&platform_id=NUMERO_CONTATO&type=text&hsm_placeholders[]=VARIAVEL_1&hsm_placeholders[]=VARIAVEL_2&close_session=1'

3.2 Modelo de Requisição POST:

curl --location --request POST 'https:// seu_dominio.widechat.com.br/api/v4/message/send' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{TOKEN}}' \
--data-raw '{
    "platform_id": "5548998647403",
    "channel_id": "6139e7543061f800131848e1",
    "close_session": 0,
    "is_hsm": 1,
    "hsm_template_name": "integracao_widecloud_widechat2",
      "hsm_placeholders": [
          "{{NAME}}",”{{CPF}}”
      ],
    "type": "text",
    "token": ""
}'

3.2.1 Detalhamento dos Campos

Campos

Descrição

platform_id

Número de telefone destino, no formato:

Código País+DDD+Número (exemplo: 5548912345678)

channel_id

Identificação do canal que deve ser enviado a mensagem (pego no parâmetro listar canais ou ainda via plataforma Web)

type

Tipo da mensagem (text ou media)

message

Mensagem a ser enviada

agent*

Email do agente o qual será associado o atendimento

attendance_id*

Atendimento que será associado a essa sessão (pode ser pego na interface Web em Equipes ou comando API para listar Equipes)

close_session

Informa qual ação deve-se tomar após enviar a mensagem (default: 0).
0: A sessão continuará aberta;
1: A sessão será finalizada;
2: A sessão será transferida para a espera quando o contato responder;

token*

Parâmetro de autenticação do agente (parâmetro socket_token fornecido na autenticação do usuário

is_hsm

Informa se a mensagem é do tipo HSM (template WhatsApp)

0: Não é HSM;
1: É um template WhatsApp;

hsm_template_name

Informa qual o nome do template de HSM que será utilizado (pego via Interface Web ou via API)

hsm_placeholders

Informa os placeholders para sobrescrever na mensagem de HSM (variáveis no envio das mensagens)


Obs.: Os campos em negrito são dispensáveis, caso não queira encaminhar diretamente para um agente destino.


3.2 Modelo Resposta da Requisição

{
    "status": 200,
    "message": "Mensagem enviada com sucesso"
}

4. LISTAR EQUIPES

Comando para listar equipes da plataforma:


4.1 Modelo de Requisição GET:

curl --location --request GET 'https:// seu_dominio.widechat.com.br/api/v4/ campaigns' \
--header 'Authorization: Bearer token'

4.2 Modelo Resposta da Requisição

{
    "current_page": 1,
    "data": [
        {
            "_id": "5ec5771d20e9826d791581f8",
            "can_be_disabled": false,
            "name": "Brazil",
            "history": "all",
            "timer": {
                "days": 1,
                "hours": 0,
                "minutes": 30
            },
            "permissions": {
                "contact_edit": true,
                "finish_attendance": true,
                "show_number": true,
                "offline_attendance": true,
                "agent_chat": true,
                "send_emojis": true
            },
            "messageEnd": "Mensagem de finalização",
            "messageAgent": "Mensagem de finalização do agente",
            "predefined": ["5e76310ffce4a43747597d61"],
            "sequence": [
                {"id": "5e417343174fe8248f66d643","name": "Felipe Romao"},
                {"id": "5ebbead28371655cca5a79d0","name": "Guilherme"}
            ],
            "tabulations": ["5e98c55477fc1632b74ba550","5ec3e69be6315b64f40ed49c"],
            "ruleAttendance": "Sequence",
            "transhipment": "5e5d32e787ca3e6c9a1b7cc3",
            "optin_start": false,
            "updated_at": "2020-05-20 18:29:49",
            "created_at": "2020-05-20 18:29:49",
            "agents": ["5e417343174fe8248f66d643"]
        }
    ],
    "first_page_url": "https://dev.host/api/v4/campaigns?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://dev.host/api/v4/campaigns?page=1",
    "next_page_url": null,
    "path": "https://dev.host/api/v4/campaigns",
    "per_page": 30,
    "prev_page_url": null,
    "to": 6,
    "total": 6
}

O campo “_id” é usado no parâmetro attendance_id.




Fonte do documento: https://intelbras.widechat.com.br/docs/pt-br/



Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo