Api de Sac
Esta documentação traz as orientações a respeito da API de SAC do
Magalu Marketplace. Com ela é possível fazer as seguintes ações:
● Buscar Tickets de Atendimento
● Enviar Mensagens para tickets de atendimento
OBS: Ainda não temos disponível na API recursos para a criação de
protocolos de atendimento. Deste modo, quando um novo cliente abre
um protocolo de atendimento no site do Magalu, o seller consegue
realizar algumas ações de atendimento deste ticket via API, entretanto,
para outras determinadas ações o seller terá de realizar o atendimento
via tela através do Portal do Seller.
Buscar Tickets de Atendimento
Este recurso permite a consulta de protocolos de atendimento já abertosPadrões de Implementação
Rota - https://in.integracommerce.com.br/api/v1/legacy/tickets/< filter>
Metodo - GET
Ratelimit - 100 requisições/minuto
Autenticação - OAuth2 via IDMagalu
Filtros Aceitos - createdat_greater | createdat_lesser | updatedat_greate | updatedat_lesse | sladat_greater | sladat_lesser | order.id | status | limit | offset | service_protocol
Buscar tickets por quantidade - GET Tickets By Limit
Request:
curl -X GET \
'https://in.integracommerce.com.br/api/v1/legacy/tickets?limit=1' \
-H 'Authorization: Bearer ' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
Response 200 - Success
Body:
{
"count": 138907,
"next": "https://giba.luizalabs.com/api/v2/tickets?limit=1",
"previous": null,
"results": [
{
"protocol": "2017041375312950",
"order": {
"id": "5281500255421355",
"seller": {
"id": "openapi"
},
"customer": {
"name": "evandro lopes santana"
}
},
"status": {
"id": "closed",
"description": "Fechado"
},
"reason": {
"id": "mktplace-duvidas-gerais",
"description": "Dúvidas gerais sobre pedido, produto e troca"
},
"sla": {
"deadline": {
"date": null
}
},
"created_at": "2017-04-14T00:18:24+0000",
"updated_at": "2017-04-14T00:19:44+0000"
}
]
}
Buscar tickets por pedido - GET Tickets By Order
Request:
curl -X GET \
'https://in.integracommerce.com.br/api/v1/legacy/tickets?order.id=5281500255421355 \
-H 'Authorization: Bearer ' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
Response 200 - Success
Body:
{
"count": 2,
"next": null,
"previous": null,
"results": [{
"protocol": "2017041375312950",
"order": {
"id": "5281500255421355",
"seller": {
"id": "openapi"
},
"customer": {
"name": "evandro lopes santana"
}
},
"status": {
"id": "closed",
"description": "Fechado"
},
"reason": {
"id": "mktplace-duvidas-gerais",
"description": "Dúvidas gerais sobre pedido, produto e troca"
},
"sla": {
"deadline": {
"date": null
}
},
"created_at": "2017-04-14T00:18:24+0000",
"updated_at": "2017-04-14T00:19:44+0000"
},
{
"protocol": "2017041366403070",
"order": {
"id": "5281500255421355",
"seller": {
"id": "openapi"
},
"customer": {
"name": "evandro lopes santana"
}
},
"status": {
"id": "closed",
"description": "Fechado"
},
"reason": {
"id": "mktplace-cancelamento-de-pedido",
"description": "Cancelamento de um ou mais itens de um pedido"
},
"sla": {
"deadline": {
"date": null
}
},
"created_at": "2017-04-14T00:19:44+0000",
"updated_at": "2018-07-05T17:49:31+0000"
}]
}
Detalhes do ticket - GET Details By Service_Protocol
Request:
'https://in.integracommerce.com.br/api/v1/legacy/tickets/2018110827174580/' \
-H 'Authorization: Bearer \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache'
Response 200 - Success
Body:
{
"protocol": "2018110827174580",
"order": {
"id": "6850500402188953",
"seller": {
"id": "openapi"
},
"customer": {
"name": "Bruno Henrique de Oliveira"
}
},
"status": {
"id": "closed",
"description": "Fechado"
},
"reason": {
"id": "mktplace-duvidas-gerais",
"description": "Dúvidas gerais sobre pedido, produto e troca"
},
"sla": {
"deadline": {
"date": "2018-11-24T13:54:27+0000"
}
},
"created_at": "2018-11-08T15:22:48+0000",
"updated_at": "2018-11-30T19:30:46+0000",
"messages": [{
"text": "Apenas teste, não é necessário responder. Bruno
Oliveira",
"sender": "customer",
"private": false,
"createdAt": "2018-11-08T15:22:50+0000"
},
{
"text": "Teste",
"sender": "customer",
"private": false,
"createdAt": "2018-11-08T15:23:25+0000"
}],
"mediated": true
}
Enviar Mensagens para Tickets de Atendimento
Este recurso permite enviar mensagens para protocolos já abertos.Padrões de Implementação
Rota - https://in.integracommerce.com.br/api/v1/legacy/tickets/< service_protocol> /messages
Metodo - POST
Ratelimit - 100 requisições/minuto
Autenticação - OAuth2 via IDMagalu
Enviar mensagem para o ticket - POST Messages By Protocol
Request:
curl -X POST \
https://in.integracommerce.com.br/api/v1/legacy/tickets/2018110827174580/messages \
-H 'Authorization: Bearer ' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json'
-H 'cache-control: no-cache' \
-d '{
"message": ,
"private": false
}
Response 200 - Success
Body:
{
"id": 4560628,
"ticket": "2018110827174580",
"created": "2018-11-13T17:22:27+0000",
"role": "seller",
"private": false,
"created_by": "apigee"
}
Autorizar estorno de um ticket por mensagem via API
Para estornar um pedido, você pode mandar uma nova mensagem com a chave extra preenchida no payload da mensagem. O conteúdo da chave deve ser um objeto javascript, respeitando as regras abaixo para cada uma das situações.Para informar que o produto já foi enviado para o cliente:
Body:
{
“productSent”: Boolean
}
Para informar que o código de reversa já foi enviado ao cliente:
Body:
{
“returnInfoSent”: Boolean
}
Para confirmar o recebimento da reversa e autorizar o estorno:
Body:
{
“productReceived”: Boolean,
“authorizedRefund”: Boolean
}
Exemplo - Request
curl -X POST \
https://in.integracommerce.com.br/api/v1/legacy/tickets/2018110827174580
/messages \
-H 'Authorization: Bearer ' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'cache-control: no-cache' \
-d '{
"message": ,
"private": false,
"extra": {
"productReceived": Boolean,
"authorizeRefund": Boolean
}
}