# Listar SAC

O endpoint `/sac` permite ao *seller* a consulta e interação com tickets pós-venda abertos através do marketplace. Neste guia será apresentada a consulta geral destes tickets.

{% hint style="info" %}
**Importante ressaltar que a consulta geral para o endpoint `/sac` não retornará as instâncias abertas.**

A consulta geral para o endpoint `/sac` traz uma listagem dos tickets nos quais houve qualquer troca de mensagens. Para os casos em que apenas foi aberta uma instância, sem interação, será necessário consultar o endpoint [`/sac/{code}/instances`](/sac/instancias_sac.md).
{% endhint %}

&#x20;

## GET - Consultando o SAC

Ao listar o SAC serão retornados todos os pedidos que possuem ticket no marketplace, além do status do atendimento, datas de criação e atualização e informações sobre mediação.

Para listar o SAC é necessário utilizar o método GET, aplicando os headers padronizados na API, para o endpoint abaixo:

```
https://api.skyhub.com.br/sac 
```

#### **Request headers:**

| Key                  | Value                                       |
| -------------------- | ------------------------------------------- |
| 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' \
--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:**

{% hint style="success" %}
200 \[Success] - OK: O retorno trará todos os tickets de SAC recebidos pela conta, conforme exemplo disponibilizado a seguir:
{% endhint %}

```
{
    "next_page": "https://api.skyhub.com.br/sac?cursor=eyJwYWd...In0=",
    "sacs": [
        {
            "code": "Lojas Americanas-201000000004001",
            "created_at": "2023-06-06T21:41:57-03:00",
            "mediation": false,
            "order_code": "02-1000000004",
            "platform": "B2w",
            "status": "UNREAD",
            "updated_at": "2023-06-06T21:41:57-03:00",
            "warehouse": "98"
        },
        {
            "code": "Lojas Americanas-201000000006001",
            "created_at": "2023-06-04T18:04:58-03:00",
            "mediation": false,
            "order_code": "02-1000000006",
            "platform": "B2w",
            "status": "ARCHIVED",
            "updated_at": "2023-06-04T18:04:58-03:00",
            "warehouse": "98"
        },
        {
            "code": "Lojas Americanas-201000000000001",
            "created_at": "2023-06-01T08:37:27-03:00",
            "mediation": false,
            "order_code": "02-1000000000",
            "platform": "B2w",
            "status": "READ",
            "updated_at": "2023-06-01T08:37:27-03:00",
            "warehouse": "98"
        },
        (...)
    ]
}
```

{% hint style="info" %}
**Observe que o retorno da consulta traz o campo&#x20;***<mark style="color:green;">**next\_page**</mark>***, sinalizando a URL com o parâmetro&#x20;***<mark style="color:green;">**cursor**</mark>***&#x20;que será utilizado para avançar as páginas.**

O endpoint de SAC não utiliza a paginação através dos parâmetros page/per\_page, sendo possível apenas avançar na consulta, sem retrocedê-la.&#x20;

Caso este parâmetro esteja presente, os demais filtros de status e platform serão ignorados.
{% endhint %}

## Filtros para consulta de SAC

É possível limitar a listagem de pedidos com SAC ao aplicar filtros às consultas. Através da URL de SAC e dos headers informados no início deste guia é possível realizar os filtros por:

* [Status](#filtro-de-sac-por-status);
* [Mediação](#filtro-de-sac-com-mediacao);
* [Data de atualização](#filtro-por-data-de-atualizacao-do-sac);

{% hint style="info" %}
Existe também o parâmetro ***platform*** passível de ser incluso na *query*, porém este sempre conterá o valor **b2w** e engloba os três canais de venda do marketplace Americanas (Lojas Americanas, Shoptime e Submarino), assim, a consulta não terá diferença daquela resultante do GET (sem filtros) em `/sac`.
{% endhint %}

### Filtro de SAC por status

É possível aplicar os valores **READ**, **UNREAD** e **ARCHIVED** para listar os atendimentos através de seus status. Para esta consulta serão aplicados os [headers](#request-headers) padronizados na API para a execução de um GET para o endpoint base `/sac`, utilizando o parâmetro `status`:

```
https://api.skyhub.com.br/sac?status={status}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/sac?status=UNREAD' \
--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:**

{% hint style="success" %}
200 \[Success] - OK: O retorno trará todos os tickets de SAC com o status definido na consulta, conforme breve exemplo disponibilizado a seguir:
{% endhint %}

```
{
    "next_page": "https://api.skyhub.com.br/sac?cursor=eyJwYWd...In0=",
    "sacs": [
        {
            "code": "Lojas Americanas-201000000004001",
            "created_at": "2023-06-06T21:41:57-03:00",
            "mediation": false,
            "order_code": "02-1000000004",
            "platform": "B2w",
            "status": "UNREAD",
            "updated_at": "2023-06-06T21:41:57-03:00",
            "warehouse": "98"
        },
        (...)
    ]
}
```

### Filtro de SAC com mediação

Uma conversa passa a ser mediada pelo marketplace sempre que o cliente solicitar tal ação para o seu pedido. Através do `/sac` é possível aplicar o filtro `mediation` para listagem de atendimentos que possuíram ou não mediação. Para isto, serão aplicados os [headers](#request-headers) padronizados na API para a execução de um GET para o endpoint base acrescido do filtro de mediação:

```
https://api.skyhub.com.br/sac?mediation={true / false}
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/sac?mediation=true' \
--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:**

{% hint style="success" %}
200 \[Success] - OK: Seguindo o cURL utilizado como exemplo, serão retornados os tickets que passaram por mediação (`?mediation=true`) pelo marketplace:
{% endhint %}

```
{
    "next_page": "https://api.skyhub.com.br/sac?cursor=eyJwYWd...SJ9",
    "sacs": [
        {
            "code": "Lojas Americanas-201000000001001",
            "created_at": "2023-01-16T18:53:09-03:00",
            "mediation": true,
            "order_code": "02-1000000001",
            "platform": "B2w",
            "status": "ARCHIVED",
            "updated_at": "2023-01-26T13:11:27-03:00",
            "warehouse": "98"
        },
        {
            "code": "Lojas Americanas-201000000003001",
            "created_at": "2023-01-17T16:17:22-03:00",
            "mediation": true,
            "order_code": "02-1000000003",
            "platform": "B2w",
            "status": "ARCHIVED",
            "updated_at": "2023-01-25T17:44:17-03:00",
            "warehouse": "98"
        },
        (...)
    ]
}
```

### Filtro por data de atualização do SAC

Também é possível aplicar o filtro para listagem de tickets conforme uma data de atualização selecionada.

{% hint style="info" %}
Compreende **atualização** qualquer mudança recebida pelo SAC, sendo interação, instância ou alteração do status de atendimento.&#x20;
{% endhint %}

Para utilização do filtro por data de atualização serão aplicados os [headers](#request-headers) padronizados na API para a execução de um GET para o endpoint base acrescido do filtro de `updated_at`:

```
https://api.skyhub.com.br/sac?updated_at=AAAA-MM-DD
```

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/sac?updated_at=2023-06-04' \
--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:**

{% hint style="success" %}
200 \[Success] - OK: Como retorno serão apresentados os atendimentos atualizados na data referenciada na consulta:
{% endhint %}

```
{
    "next_page": "https://api.skyhub.com.br/sac?cursor=eyJ1cGR...ifQ==",
    "sacs": [
        {
            "code": "Lojas Americanas-201000000006001",
            "created_at": "2023-06-04T18:04:58-03:00",
            "mediation": false,
            "order_code": "02-1000000006",
            "platform": "B2w",
            "status": "ARCHIVED",
            "updated_at": "2023-06-04T18:04:58-03:00",
            "warehouse": "98"
        }
    ]
}
```

## GET - Consultando o SAC por pedido

No endpoint de SAC é possível buscar um atendimento de acordo com o pedido. Para esta consulta será aplicado um GET, utilizando os [headers](#request-headers) padronizados na API, para o endpoint:&#x20;

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

#### **Example request:**

```
curl --location --request GET 'https://api.skyhub.com.br/sac/Lojas Americanas-201111111114001' \
--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:**

{% hint style="success" %}
200 \[Success] - OK: Como retorno serão apresentadas as informações sobre o atendimento para o pedido referenciado na URL:
{% endhint %}

```
{
    "code": "Lojas Americanas-201111111114001",
    "created_at": "2023-06-06T21:41:57-03:00",
    "mediation": false,
    "order_code": "02-1111111114",
    "platform": "B2w",
    "status": "UNREAD",
    "updated_at": "2023-06-06T21:41:57-03:00",
    "warehouse": "98"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://desenvolvedores.skyhub.com.br/sac/listar_sac.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
