Chats
Nesta seção é apresentada a consulta das interações em tickets gerados para o serviço de SAC, assim como são fornecidas as orientações para criar uma interação e atualizar o status do chat
Na guia Listar SAC é possível observar que o retorno para o endpoint /sac
traz informações gerais sobre o ticket, porém nele não constam as interações realizadas.
Para verificar as mensagens presentes em um SAC é necessário utilizar a URI /sac/{code}/chats
, que permite a consulta das interações, sejam elas entre seller e marketplace, seller e cliente e cliente e marketplace.
GET - Consultando chats de um pedido
A consulta dos chats para um pedido permite verificar todas as interações que ocorreram para a entrega informada em {code}
, conforme endpoint observado a seguir:
https://api.skyhub.com.br/sac/{code}/chats
Para este endpoint serão necessários os headers padronizados na API e descritos abaixo:
Request headers:
X-User-Email
email_de_usuario
X-Api-Key
token_de_integracao de sua conta SkyHub
X-Accountmanager-Key
token_account único de cada Plataforma/ERP
Accept
application/json
Content-Type
application/json
Example request:
curl --location --request GET 'https://api.skyhub.com.br/sac/Lojas Americanas-200123456789001/chats' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
Response esperado:
200 [Success] - OK: Como resposta haverão as interações para o SAC gerado para o pedido referido na consulta:
{
"chats": [
{
"last_message": "2023-06-06T21:44:44",
"messages": [
{
"content": "Olá! Produto ainda não foi entregue.",
"created_at": "2023-06-06T21:41:56",
"part": {
"code": 12345678,
"email": "[email protected]",
"name": "João dos Santos",
"role": "CUSTOMER"
},
"replyed_at": null
}
],
"parts": "CUSTOMER_SELLER",
"seller_status": "UNREAD",
"status": "ACTIVE"
}
],
"next_page": "https://api.skyhub.com.br/sac/Lojas Americanas-200123456789001/chats?cursor=...In0="
}
Através do retorno acima é possível observar que as interações são identificadas no campo parts e consistem em:
CUSTOMER_B2W: Interação entre o cliente e a Americanas;
B2W_SELLER: Interação entre a Americanas e o seller;
CUSTOMER_SELLER: Interação entre o cliente e o seller.
Além do parts, o retorno apresentado na consulta trará o campo role, que será preenchido com a identificação de quem foi responsável pela interação e poderá conter os seguintes valores:
CUSTOMER: Cliente;
SELLER: A loja que está atuando na solicitação;
EMPLOYEE: Agentes do marketplace estão auxiliando no chat "Ajuda Americanas".
POST - Interagindo em um atendimento
Para responder a um ticket, será necessário utilizar os headers padronizados na API para executar uma requisição contendo o método POST para o endpoint abaixo:
https://api.skyhub.com.br/sac/{code}/chats/{parts}
Request body:
{
"deliveryId": "Número da entrega",
"identityId": "Documento de identificação", // CNPJ do seller cadastrado na Americanas
"messageTo": "TO_CUSTOMER", // Destinatário da mensagem, podendo ser Americanas (TO_B2W) ou o cliente final (TO_CUSTOMER)
"messageType": "TEXT_MESSAGE",
"orderId": "ID do pedido",
"message": "Mensagem a ser enviada"
}
Example request:
curl --location --request POST 'https://api.skyhub.com.br/sac/Lojas Americanas-200123456789001/chats/CUSTOMER_SELLER' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"deliveryId": "200123456789001",
"identityId": "12345678901234",
"messageTo": "TO_CUSTOMER",
"messageType": "TEXT_MESSAGE",
"orderId": "02-123456789",
"message": "Olá! Agradecemos sua compra e nos colocamos à disposição caso precise de algo. Tenha um excelente dia!"
}'
Response esperado:
201 [Success] - Created
É comum ser retornado o status 422 ao tentar interagir em um chat com status PAUSED.
Isto ocorre porquê não é possível interagir em chats contendo este status, uma vez que o PAUSED destina-se a atendimentos que estão sendo mediados pelo marketplace.
PATCH - Atualizando o status do chat
É possível atualizar o status de um chat, seguindo a mesma estrutura vista na interação com o atendimento. Para tal, será necessário utilizar os headers padronizados na API para executar uma requisição contendo o método PATCH para o endpoint abaixo:
https://api.skyhub.com.br/sac/{code}/chats/{parts}
Request body:
{
"status": "ARCHIVED"
}
Example request:
curl --location --request PATCH 'https://api.skyhub.com.br/sac/Lojas Americanas-200123456789001/chats/CUSTOMER_SELLER' \
--header 'X-User-Email: email_de_usuario' \
--header 'X-Api-Key: token_de_integracao de sua conta SkyHub' \
--header 'X-Accountmanager-Key: token_account único de cada Plataforma/ERP' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"status": "READ"
}'
Response esperado:
204 [Success] - No content
Last updated