Autenticação no meio da sessão por API

Nesta página, explicamos como usar endpoints de API de chamada e chat para autenticação no meio da sessão nos canais do SDK.

Os usuários podem iniciar uma sessão de suporte, como um chat de suporte, sem autenticação. Quando a autenticação do usuário final for necessária, você poderá iniciar um fluxo de autenticação. Após a autenticação, atualize o identificador end_user para vincular a sessão ao usuário final verificado.

URI e autenticação

O URI base desse novo endpoint varia de acordo com o comm_type.

Para o comm_type call:

POST https://<subdomain>.<domain>/apps/api/v1/calls/:call_id/end_user

Para o comm_type chat:

POST https://<subdomain>.<domain>/apps/api/v1/chats/:chat_id/end_user

Operações de API

Nas seções a seguir, você encontra detalhes sobre as operações da API.

Parâmetros

O corpo da solicitação de API precisa ter os seguintes campos:

ID Nome do campo Tipo Obrigatório? Descrição Exemplos de valores
0 identifier String Sim Identificador externo exclusivo fornecido.
1 name String Não O nome genérico ou identificador associado à interação. Ajuda na pesquisa de clientes. John Doe
2 email String Não O endereço de e-mail genérico associado à interação. Ajuda na pesquisa de clientes. john@doe.com
3 phone String Não O número de telefone genérico associado à interação. Ajuda na pesquisa de clientes. 123-456-7890

Exemplos de API

Nas próximas seções, você vai encontrar exemplos de solicitações de API e respostas.

Exemplo de resposta de sucesso

202 Accepted

{
 "message": "accepted"
}

Exemplos de respostas de falha

Nas próximas seções, você encontra exemplos de respostas de falha.

Respostas de erro

400 Bad Request: o campo de identificador obrigatório está ausente na solicitação.

{
  "message": "param is missing or the value is empty: identifier"
}

401 Não autorizado: falha na autenticação.

{
  "message": "Not Found"
}

404 Não encontrado: não há chamada ou chat para o ID fornecido.

Sessão inativa

400 {"message": "Call is already ended"}
400 {"message": "Chat is already ended"}

Solicitação de CRM não aceita

400 Solicitação inválida: a configuração de CRM da instância não é compatível com esse caminho de atualização.

{
  "message": "Unsupported CRM request"
}

Pedido duplicado

400 {"message": "Duplicate request: Please wait for the interval to expire"}

Exemplo de solicitação de API

Na próxima seção, você vai encontrar exemplos de solicitações de API para os tipos de comunicação de chamada e chat.

Tipo de comunicação de chamada

POST https://<subdomain>.<domain>/apps/api/v1/calls/:call_id/end_user
Content-Type: application/json
-u apiuser:APIUSER_TOKEN

{
    "identifier": "unique_external_id",
    "name": "John Doe",
    "email": "johndoe@example.com",
    "phone": "123-456-7890"
}

Tipo de comunicação do chat

POST https://<subdomain>.<domain>/apps/api/v1/chats/:chat_id/end_user
Content-Type: application/json
-u apiuser:APIUSER_TOKEN

{
    "identifier": "unique_external_id",
    "name": "Jane Smith",
    "email": "janesmith@example.com",
    "phone": "098-765-4321"
}

Documentação da API Apps

Para mais endpoints de API de apps, consulte Publicação da API de apps.