Instâncias SAC

O que são instâncias?

Instâncias são requisições feitas na API de SAC para tratar as ações dos pedidos que são: Cancelamento, Devolução e Troca.

A criação das instâncias para o SAC se sucede após conseguir todas os parâmetros necessários com os retornos das consultas das informações dos pedidos nos endpoints de SAC, que estão na aba Listar SAC.

A instâncias estarão disponíveis para o endpoint:

https://api.skyhub.com.br/sac/{code}/instances

Para esse endpoint estão disponíveis as ações POST, GET e PUT.

Criar uma instância

Para a criação de uma instância deverá fazer a requisição de acordo com o exemplo abaixo:

Request Headers:

--header 'x-api-key: YOUR API KEY HERE' \
--header 'x-user-email: MUDAR@SEU_EMAIL.COM' \
--header 'content-type: application/json' \
--header 'accept: application/json' \
--header 'x-accountmanager-key: SUAXACCOUNT'

Request Headers:

Name

Type

Required

Description

Example

accept

String

Required

application/json

application/json

Content-type

String

Required

application/json

application/json

x-user-email

String

Required

E-mail da loja

seu@email.com

x-api-key

String

Required

Token da loja

SuaApiKey

x-accountmanager-key

String

Required

Código identificador da sua Integração

SUAXACCOUNT

Example Body:

{
"instance": {
"items": [
{
"id": "158259995-1",
"sku_id": "120615464",
"product_id": "120615456",
"quantity": 1
}
],
"action": {
"id": "CANCEL",
"name": "cancelamento"
},
"cause": {
"id": "ARP",
"name": "Arrependimento",
"reason": {
"id": "183",
"name": "Comprei errado"
}
},
"refunds": [
{
"id": "CREDIT_CARD",
"group": "ORIGINAL_PAYMENT"
}
],
"additional_note": "Cancel item 158259995-1"
}
}

Os arrays terão os seguintes dados:

  • "action" terá os dados da ação escolhida (Cancelamento, Devolução e Troca);

ID

Name

CANCEL

Cancelamento

RETURN

Devolução

EXCHANGE

Troca

  • "cause" terá os dados da causa escolhida, o motivo de ter sido tomada a ação;

  • "refunds" terá os dados do reembolso escolhido, importante destacar que o "refunds" será utilizado apenas para ações de "Cancelamento" ou "Devolução".

Example Body for EXCHANGE (Troca):

{
"instance": {
"new_items": [
{
"id": "158259995-1",
"sku_id": "120615464",
"product_id": "120615456",
"quantity": 1
}
],
"items": [
{
"id": "158259995-1",
"sku_id": "120615464",
"product_id": "120615456",
"quantity": 1
}
],
"cause": {
"id": "ARP",
"name": "Arrependimento",
"reason": {
"id": "183",
"name": "Comprei errado"
}
},
"additional_note": "Return item 158259995-1",
"action": {
"id": "Troca",
"name": "EXCHANGE"
}
}
}

Obs: Solicitações de troca só podem ser enviadas com o mesmo SKU, ou seja, não existe a possibilidade de trocar um produto por outro item do mesmo valor.

Responses:

201 - Created

400 - Bad Request

404 - Not Found

422 - Unprocessable Entity

{
"error": "Error message"
}

Como consultar uma instância

Para consultar uma instância criada é necessário utilizar o método GET no seguinte endpoint:

https://api.skyhub.com.br/sac/{code}/instances

Example Request:

curl --location --request GET 'https://api.skyhub.com.br/sac/{code}/instances' \
--header 'X-User-Email: MUDAR@SEU_EMAIL.COM' \
--header 'x-Api-Key: YOUR API KEY HERE' \
--header 'x-accountmanager-key: SUAXACCOUNT' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Responses:

200 - OK

404 - Not Found

422 - Unprocessable Entity

{
"error": "Error message"
}

É possível realizar a consulta acrescentando o ID da instância que é encontrada dentro do retorno do GET da instância.

Example Request:

curl --location --request GET 'https://api.skyhub.com.br/sac/{code}/instances/{id_instancia}' \
--header 'X-User-Email: MUDAR@SEU_EMAIL.COM' \
--header 'x-Api-Key: YOUR API KEY HERE' \
--header 'x-accountmanager-key: SUAXACCOUNT' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Responses:

200 - OK

404 - Not Found

422 - Unprocessable Entity

{
"error": "Error message"
}

Atualização de instâncias

Para atualizarmos instâncias que foram criadas no endpoint de SAC temos o método PUT e JSONs de requisição diferentes de acordo com a necessidade, segue o exemplo de requisição para esse endpoint:

curl --location --request PUT 'https://api.skyhub.com.br/sac/{code}/instances/{id_instancia}' \
--header 'X-User-Email: MUDAR@SEU_EMAIL.COM' \
--header 'x-Api-Key: YOUR API KEY HERE' \
--header 'x-accountmanager-key: SUAXACCOUNT' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'

Os JSONs de exemplos seguirão de acordo com o status que deseja atualizar para a instância, segue abaixo exemplos, para toda requisição de atualização é necessário que envie um body do status para atualização da instância.

Status "POST" refere-se a postagem da instância para o item de pedido (produto):

{
"id": 1,
"status": "POST",
"carrier": {
"in_days": 1,
"tracking_number": "RR1234567890BR"
},
"additional_note": "Postar produto..."
}

Status "COLLECT" refere-se a coleta da instância para o item de pedido (produto):

Seller deverá utilizar seu próprio contrato com os Correios ou transportadora, para gerar código para o consumidor devolver o produto sem custo, depois deverá informar o código e enviar texto de orientação para consumidor devolver o produto. Recomendamos o uso de texto pré-definido, mas editável, caso o parceiro queira mudar:

  • “Acondicione o (s) produto (s) na embalagem original, dentro de uma caixa de papelão ou envoltório que o (s) proteja;

  • Devolva junto com (s) produto (s) os manuais, certificados e acessórios;

  • Leve o (s) produto (s) até a agência dos Correios autorizada e informe o

    número do código ao atendente. ”

{
"id": 1,
"status": "COLLECT",
"carrier": {
"in_days": 1
},
"additional_note": "Coletar produto..."
}

Status "CLOSE" refere-se ao fechamento da instância:

Neste caso é possível cancelar o pedido e realizar a liberação de reembolso ou troca para o consumidor. É utilizado quando a mercadoria está com o parceiro ou ele consegue barrar antes da expedição.

{
"id": 1,
"status": "CLOSE",
"additional_note": "Fechar instância..."
}

Status "CANCEL" refere-se ao cancelamento da instância:

{
"id": 1,
"cause_id": 131,
"status": "CANCEL",
"additional_note": "Cancelar instância..."
}

Status "REFUSE" refere-se a recusa da instância:

Quando consumidor pede reembolso ou troca e o pedido está em transporte, parceiro tem prazo (verificar campo de vencimento da API) para orientar consumidor que ele recuse a entrega da mercadoria. Quando aciona essa opção, precisa incluir orientação para o consumidor:

{
"id": 1,
"status": "REFUSE",
"additional_note": "Recusar instância..."
}

Exemplo de "additional_note": "O produto já está a caminho do endereço informado. Por favor, recuse a entrega do produto para que ele possa ser devolvido. Após o registro da devolução seu atendimento será efetuado."

Responses:

204 - No content

404 - Not Found

422 - Unprocessable Entity

{
"error": "Error message"
}

500 - Internal server error

{
"error": "Error message"
}