> For the complete documentation index, see [llms.txt](https://desenvolvedores.skyhub.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://desenvolvedores.skyhub.com.br/sac/actions.md).

# Actions

A partir do momento em que o lojista recebe um acionamento quanto a **cancelamento**, **devolução** ou **troca** de um pedido, é necessário realizar uma ação para dar seguimento à instância aberta.&#x20;

O endpoint `/actions` representa as ações a serem tomadas para as instâncias abertas.&#x20;

## GET - Consultando as ações

&#x20;As ações a serem tomadas para um pedido que gerou uma instância podem ser consultadas através do endpoint visto a seguir:

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

{% hint style="info" %}
Nesta consulta será utilizado o **código completo do pedido** (canal de venda + código numérico).
{% endhint %}

{% hint style="warning" %}
Ocorrerá retorno apenas para pedidos que não possuam nenhum tipo de ação, por exemplo, pedidos UNREAD.
{% endhint %}

#### **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/Lojas Americanas-298765432198761/actions' \
--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 estarão as ações a serem tomadas para a instância. Os possíveis valores estão listados a seguir:
{% endhint %}

```
{
  "actions": [
    {
      "id": "CANCEL",
      "name": "cancelamento"
    },
    {
      "id": "RETURN",
      "name": "devolução"
    },
    {
      "id": "EXCHANGE",
      "name": "troca"
    }
  ]
}
```

### **Visualizando as ações de acordo com a causa**

Uma vez que é feita a consulta de acordo com a ação para o pedido, será retornado o motivo apontado pelo cliente, assim como o seu ID. Através do ID retornado é possível obter maiores detalhes quanto as causas para a ação a ser tomada.

Para verificar a ação de acordo com a causa será necessário utilizar os [headers](#request-headers) padronizados na API para executar um método GET no seguinte endpoint:

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

#### **Example request:**

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

{% hint style="info" %}
Para o parâmetro **`action_id`** é possível utilizar os valores retornados na consulta anterior, sendo: CANCEL, RETURN e EXCHANGE.
{% endhint %}

#### **Response esperado:**

{% hint style="success" %}
200 \[Success] - OK: Como retorno serão visualizadas as causas para a ação solicitada na instância:
{% endhint %}

```
{
    "causes": [
        {
            "id": "ARP",
            "name": "Arrependimento",
            "reasons": [
                {
                    "id": "309",
                    "name": "Comprei errado"
                },
                {
                    "id": "307",
                    "name": "Me arrependi"
                }
            ]
        },
        {
            "id": "DFT",
            "name": "Defeito",
            "reasons": [
                {
                    "id": "319",
                    "name": "Veio com defeito"
                }
            ]
        },
        {
            "id": "EOP",
            "name": "Erro Operacional",
            "reasons": [
                {
                    "id": "317",
                    "name": "Veio errado ou incompleto"
                },
                {
                    "id": "318",
                    "name": "Veio quebrado"
                }
            ]
        }
    ]
}
```
