Chat API

IntroduçãoLast updated: 2019-11-26

Serviço responsável pela troca de mensagens atraves de CHAT.

Esta documentação tem como objetivo instruir sobre a utilização da mesma, demonstrando como realizar o envio de mensagens.

URL API:
  • URL Externa:https://api.flexcontact.com.br/Messaging
  • URL Interna:https://10.10.2.164/Messaging

API

Documentação de Uso da API de Chat.

Login

Token de Acesso - Metodo de Login


Para utilizar os Micro Serviços Flex, é necessário um Login/ Senha fornecido pela equipa de TI. Ao realizar a validação de Login, em caso de positivo o mesmo gera um token de acesso, os login são de uso restrito e podem ser usados para todos os Micro Serviços na qual ele tem acesso.

Todas as requisições POST - Json para o API devem conter o campo de token no primeiro campo do JSON (com exceção dos métodos de Login/ Consulta Token). Todas as requisições GET - Json para o API devem conter o campo de token na URL de solicitação (com exceção dos métodos de Login/ Consulta Token).

Warning

O token de acesso tem validade de no máximo 6 horas, após este periodo, deve-se logar novamente para gerar um novo Token.


Método de utilização:

POST - https://api.flexcontact.com.br/Messaging/Login


JSON:

Exemplo de JSON de Login, substitua as informações abaixo por suas credenciais.


                                    {
                                        "login": "flex.flex",
                                        "password": "12345678"
                                    }
                                

Envio de Mensagem Chat – Post

Metodo de Send


Método genérico de envio de mensagens e transporte de mensagem de Chat e Chatbot. Estes envios serão realizados pelo método Send.

Note

Todos os envios estarão atrelados a uma campanha.

Método utilizado para enviar a mensagens chat e Chatbot.


Método de utilização:

POST - https://api.flexcontact.com.br/Messaging/Send


Os campos utilizados estão descritos abaixo:

Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
token string Token de retorno obtido após o Login na Api. Json
codCampaign integer Código da campanha relacionado ao envio das mensagens. Json
ID string Id de envio de mensagem enviado para identificação, caso não será enviado, será gerado um id randômico. Json
Telephone string Número do telefone que receberá a mensagem. Json
Message string Texto da mensagem simples. Json
Type string Tipo do arquivo da media que está sendo enviado. Estes tipos poderão ser document, image ou audio. Para o tipo document serão aceitos arquivos doc, docx, ppt, pptx, xls, xlsx e pdf. Para o tipo image serão aceitos arquivos jpeg, png, gif, bmp e webp. Para o tipo audio, serão aceitos os arquivos AAC, M4A, AMR, MP3, OGG e OPUS. Json
Destiny string Destino pré configurado para conversa entre o chat de um cliente e um bot/crm da Flex. Json
idMedia string Id de identificação da media recebido através do método de uploadfile. Json
Contact string Nome do Cliente na qual se refere o Chat, este campo torna-se obrigatório na ausência do campo Telefone para o Operador identificar o Cliente. Json
Info string Campo string para transporte de qualquer informações entre a Origem do Chat e o CRM/BOT. Json
chatSessionId string Id de sessão enviado para identificação e vinculo da conversa. Json
JSON:

Exemplo de Json de Envio para Chat, substitua as informações abaixo de token pelo token obtido no Login.


                                        [
                                            {
                                                "token": "token",
                                                "codCampaign": 1,
                                                "Id": "teste100",
                                                "Telephone": "5511980987458",
                                                "Message": "Oi todo bem?",
                                                "Destiny": "CRM",
                                                "Contact": "José da Silva",
                                                "Info": "CPF-123.123.123-22",
                                                "chatSessionId": "1234a8f5-d2e1-1235-rffs-t0obd1cdf564"
                                            }
                                        ]
                                    
JSON:

Exemplo do JSon de Envio para Chat com media, substitua as informações abaixo de token pelo token obtido no Login.


                                        [
                                            {
                                                  "token": "token",
                                                  "codCampaign": 1,
                                                  "Id": "teste100",
                                                  "Telephone": "5511980987458",
                                                  "Destiny": "CRM",
                                                  "chatSessionId": "1234a8f5-d2e1-1235-rffs-t0obd1cdf564",
                                                  "Type": "image",
                                                  "idMedia": "xyzxyx-xyz"
                                            }
                                        ]
                                    

Resposta de Mensagem Chat – Post

Metodo de Send


Método genérico de resposta de resposta Chat e Chatbot, o destino da resposta é configurado atráves da campanha. Estes envios serão realizados pelo método Send.

Note

Todos os envios estarão atrelados a uma campanha.

Método utilizado para enviar a mensagens Chat e Chatbot.


Método de utilização:

POST - https://api.flexcontact.com.br/Messaging/Send


Os campos utilizados estão descritos abaixo:

Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
token string Token de retorno obtido após o Login na Api. Json
codCampaign integer Código da campanha relacionado ao envio das mensagens. Json
ID string Id de envio de mensagem enviado para identificação, caso não será enviado, será gerado um id randômico. Json
Telephone string Número do telefone que receberá a mensagem. Json
Message string Texto da mensagem simples. Json
Type string Tipo do arquivo da media que está sendo enviado. Estes tipos poderão ser document, image ou audio. Para o tipo document serão aceitos arquivos doc, docx, ppt, pptx, xls, xlsx e pdf. Para o tipo image serão aceitos arquivos jpeg, png, gif, bmp e webp. Para o tipo audio, serão aceitos os arquivos AAC, M4A, AMR, MP3, OGG e OPUS. Json
idMedia string Id de identificação da media recebido através do método de uploadfile. Json
chatSessionId string Id de sessão recebido no webhook para identificação e vinculo da conversa. Json
JSON:

Exemplo do JSon de Resposta para mensagens de texto simples no Chat, substitua as informações abaixo de token pelo token obtido no Login.


                                        [
                                            {
                                                "token": "token",
                                                "Id": "teste0007",
                                                "codCampaign": 1,
                                                "Telephone": "5511980125654",
                                                "Message": "Envio Teste",
                                                "chatSessionId": "1234a8f5-d2e1-1235-rffs-t0obd1cdf564"
                                            }
                                        ]
                                    
JSON:

Exemplo do JSon de Envio para mensagens com media, substitua as informações abaixo de token pelo token obtido no Login.


                                        [
                                            {
                                                "token": "token",
                                                "Id": "Teste_0001",
                                                "codCampaign": 1,
                                                "Telephone": "5511980125654",
                                                "Type": "image",
                                                "idMedia": "xyzxyx-xyz"
                                            }
                                        ]
                                    

Upload de medias

Metodo de Upload


Método utilizado para realizar o upload de medias.

Warning

Para o tipo de media document serão aceitos arquivos doc, docx, ppt, pptx, xls, xlsx e pdf. Para o tipo image serão aceitos arquivos jpeg, png, gif, bmp e webp. Para o tipo audio, serão aceitos os arquivos AAC, M4A, AMR, MP3, OGG e OPUS. Os arquivos terão validade de até 30 dias.


Método de utilização:

POST - https://api.flexcontact.com.br/Messaging/UploadFile


Exemplo de utilização:

Content-Type : multipart/form-data File : (seu arquivo)


Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
File form-data Arquivo de media para realizar upload. form-data
JSON:

Exemplo do JSon de retorno.

                                    
                                        {
                                            "idMedia": "xyzxyx-xyz",
                                            "validUntil": "2018-09-30"
                                        }
                                    
                                

Status do Operador

Metodo de Operator/State


Método utilizado para se necessário identificar o estado do Operador, se o mesmo Entrou no chat/ Saiu do Chat, o mesmo só deve ser acionado pelo CRM/BOT para que a Origem do CHAT identifique se o mesmo esta em conversa.

Note

Utilizar este método somente se necessário o rastreamento do estado do Operador.

Os campos utilizados estão descritos abaixo.


Método de utilização:

POST - https://api.flexcontact.com.br/Messaging/Operator/State


Dicionário de dados:
Campo Tipo Descrição Parâmetro Obrigatório
token string Token de retorno obtido após o Login na Api. Json
codCampaign integer Código da campanha relacionado ao envio das mensagens. Json
Id string Id de envio de mensagem que foi enviado no momento da entrega da Mensagem. Json
Telephone string Número do Telefone da conversa. Json
State string Descrição fixa do estado do Operador, sendo: Input (Para a entrado do Operador no Chat) e Output (Para a saída do Operador no Chat). Json
OperadorId string Id de identificação do Operador. Json
JSON:

Exemplo do JSon para informar o estado de Input, substitua as informações abaixo de token pelo token obtido no Login.


                                        {
                                            "token": "token",
                                            "codCampaign": 1,
                                            "Id": "teste010101",
                                            "Telephone": "5511989879898",
                                            "State": "Input",
                                            "OperadorId": "d0dbd1cdf18f"
                                         }
                                    
JSON:

Exemplo do JSon para informar o estado de Output, substitua as informações abaixo de token pelo token obtido no Login.


                                        {
                                            "token": "token",
                                            "codCampaign": 1,
                                            "Id": "teste010101",
                                            "Telephone": "5511989879898",
                                            "State": "Output",
                                            "OperadorId": "d0dbd1cdf18f"
                                         }
                                    

Webhook

As atualizações são enviadas através de Webhook.

Após criar o hook e enviar sua URL de Webhook as funcionalidades de callback estão ativas.

Webhook Mensagem/Media

Callback Mensagem de Chat


Quando a origem da conversa de CHAT, enviar a mensagem, é necessário criar um webhook em um endereço configurado, assim o mesmo irá enviar esta mensagem quando um evento acontece através de um JSon.


Dicionário de dados:
Campo Tipo Descrição
Id string ID único de identificação.
codCampaign int cod. da campanha atrelada à mensagem enviada.
Telephone string Número do Telefone enviado se existir.
Date string Data do evento.
Message string Mensagem enviado pea Origem do Chat.
Contact string Nome do Cliente (Obs: Este campo é enviado somente quando a informação está disponível no envio da Mensagem)
Info string Informação do Cliente (Obs: Este campo é enviado somente quando a informação está disponível no envio da Mensagem)
type string Tipo da mensagem envida.
Url string Url onde o arquivo de media será disponibilizado.
chatSessionId string ID de identificação do Chat (usuário), enviado para identificar o mesmo na ausencia do Telefone.
JSON:

Exemplo do JSon de envio para mensagens de chat.

                                
                                    {
                                        'id': 'id0001',
                                        'codCampaign': '1',
                                        'Date': '2018-02-08 10:45:03',
                                        'Telephone': '5511999989999',
                                        'message': 'Ola, tudo bem?',
                                        'contact': 'Jose da Silva',
                                        'type': 'ChatText',
                                        'chatSessionId': '1234fhue12-2jnd01'
                                    }