# Consulta de Erros de Sincronização e Produção

A API disponibiliza um endpoint para a consulta de produtos que apresentaram erros de conexão com o marketplace e reprovas após a conexão; o mesmo endpoint base será utilizado para a consulta de erros de sincronização de pedidos e pode ser visualizado a seguir:

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

### **Como filtrar por categories**

É possivel realizar uma listagem dos erros de categoria existentes na Skyhub. Para consultar, basta utilizar o endpoint abaixo e as devias credenciais da conta:

```
https://api.skyhub.com.br/sync_errors/categories
```

Example request:

```
curl --location --request GET 'https://api.skyhub.com.br/sync_errors/categories' \
--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]: No retorno para a consulta acima serão visualizados os erros de categoria como vemos a seguir:
{% endhint %}

```
[
  "code": "link_b2w_products",
  "entity_type": "products",
  "error_types": [
{
     "code": "ean_null",
     "name": "Não configurado para cadastrar itens com ean nulo.",
     "solution": "O campo do EAN está vazio. Insira o número do EAN na ficha de cadastro do item e tente novamente. Saiba mais na área de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://bit.ly/3QJ6KRl\">Perguntas Frequentes</a>"
            },
 {
     "code": "empty_name",
     "name": "Nome é obrigatório",
      "solution": "O campo \"nome\" está vazio. Insira um nome para o produto na ficha de cadastro e tente novamente. Saiba mais na nossa área de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://bit.ly/3bSvkj3\">Perguntas Frequentes</a>"
            },
  {
      "code": "invalid_ean",
      "name": "Número ean inválido para o item.",
      "solution": "Parece que o código EAN-13 está incorreto. Verifique se ele tem 13 números, não possui caracteres especiais ou letras. Saiba mais na área de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://bit.ly/3yA7DUn\">Perguntas Frequentes</a>"
            }
]
```

O campo "**code**" que aparecerá na consulta Ex: "link\_b2w\_products" se refere a categoria do erro, onde também poderá consultá-la e obter os tipos de erros e soluções sugeridas mapeadas pela SkyHub veja a seguir.

### **Como filtrar uma categoria de erro**

Nesta consulta poderá obter todos os erros e soluções mapeadas para determinada categoria como exemplo utilizaremos a categoria link\_b2w\_product

```
https://api.skyhub.com.br/sync_errors/categories/link_b2w_products
```

Example request:

```
curl --location --request GET 'https://api.skyhub.com.br/sync_errors/categories/link_b2w_products' \
--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]: No retorno para a consulta acima será visualizado a categoria do erro como vemos a seguir:
{% endhint %}

```
{
    "code": "link_b2w_products",
    "entity_type": "products",
    "error_types": [
        {
            "code": "000173",
            "name": "Erro ao executar o cadastro do Item",
            "solution": "Não conseguimos finalizar o cadastro do produto, acesse nossa área de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://bit.ly/3bQ6O1R\">Perguntas Frequentes</a> ou abra um chamado na Central de Ajuda do portal parceiro."
        },
        {
            "code": "ean_null",
            "name": "Não configurado para cadastrar itens com ean nulo.",
            "solution": "O campo do EAN está vazio. Insira o número do EAN na ficha de cadastro do item e tente novamente. Saiba mais na área de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://bit.ly/3QJ6KRl\">Perguntas Frequentes</a>"
        },
        {
            "code": "empty_name",
            "name": "Nome é obrigatório",
            "solution": "O campo \"nome\" está vazio. Insira um nome para o produto na ficha de cadastro e tente novamente. Saiba mais na nossa área de <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://bit.ly/3bSvkj3\">Perguntas Frequentes</a>"
        }
}
```

### **Como filtrar produtos com erro**

Na consulta abaixo o mesmo poderá obter todos seus produtos que se encontram com qualquer tipo de erro.

```
https://api.skyhub.com.br/sync_errors/products
```

Example request:

```
curl --location --request GET 'https://api.skyhub.com.br/sync_errors/products' \
--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]: No retorno para a consulta acima será visualizado os produtos que obtiveram erro na conexão como vemos a seguir:
{% endhint %}

```
{
   "categories": [
    {
      "error_category_code": "b2w_product_callback",
      "errors": [
         {
            "attribute_name": null,
            "error_code": "gtin_ean",
            "last_occurrence": "2023-01-09T16:08:34.635-03:00",
            "load_token": null,
            "message": "{\n  \"message\": \"O código EAN-13 informado não é válido.\"\n}"
          }
        ]
     }
   ]
```

Abaixo uma legenda descrevendo os campos que serão apresentados no retorno acima:

* &#x20;**Errors\_qty** = total de produtos com erro&#x20;
* &#x20;**Entity\_id** = número do SKU com erro
* &#x20;**Message** = erro retornado
* &#x20;**Last\_accurrence** = data da ultima ocorrência de erro deste produto
* &#x20;**Error\_code** = código do erro
* &#x20;**Error\_category\_code** = código da categoria do erro

### **Como filtrar produtos com erro por categoria:**

O Exemplo abaixo retornará somente produtos com erro de uma determinada categoria. Neste caso iremos utilizar a categoria de exemplo **"b2w\_product\_callback"** para criar uma query.<br>

```
https://api.skyhub.com.br/sync_errors/products?error_category_code=b2w_product_callback
```

Example request:

```
curl --location --request GET 'https://api.skyhub.com.br/sync_errors/products?error_category_code=b2w_product_callback' \
--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:**&#x20;

{% hint style="success" %}
200 - Success \[OK]: No retorno para a consulta acima será retornado os produtos que obtiveram erro na categoria que foi requisitada como vemos a seguir:
{% endhint %}

<pre><code>{
    {
<strong>      "categories": [
</strong>    {
      "error_category_code": "b2w_product_callback",
      "errors": [
  {
        "attribute_name": null,
        "error_code": "images_required",
        "last_occurrence": "2023-01-17T11:51:40.929-03:00",
        "load_token": null,
        "message": "{\n  \"message\": \"O sku precisa ter pelo menos uma imagem válida.\"\n}"
    },
    {
         "attribute_name": null,
         "error_code": "media_images_required",
         "last_occurrence": "2023-01-17T11:51:40.931-03:00",
         "load_token": null,
         "message": "{\n  \"message\": \"O produto precisa ter pelo menos uma imagem válida\"\n}"
             },
        {
         "attribute_name": null,
          "error_code": "media_images_not_found",
          "last_occurrence": "2023-01-17T11:51:40.941-03:00",
          "load_token": null,
           "message": "{\n  \"message\": \"Não foi possível encontrar o recurso no servidor (Status code: 404)\"\n}"
       },
          {
            "attribute_name": null,
            "error_code": "images_not_found",
            "last_occurrence": "2023-01-17T11:51:40.948-03:00",
            "load_token": null,
            "message": "{\n  \"message\": \"Não foi possível encontrar o recurso no servidor (Status code: 404)\"\n}"
               }
            ]
         }
       ],
            "sku": "202201002"
     }
}
</code></pre>

### **Como filtrar pedidos com erros**

Na consulta abaixo será possível obter todos os seus pedidos que se encontram com qualquer tipo de erro.

```
https://api.skyhub.com.br/sync_errors/orders
```

&#x20;Example request:

```
curl --location --request GET 'https://api.skyhub.com.br/sync_errors/orders' \
--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:**&#x20;

{% hint style="success" %}
200 - Success \[OK]: No retorno para a consulta acima será retornado os pedidos que obtiveram qualquer tipo de erro como vemos a seguir:
{% endhint %}

```
{
    {
       "categories": [
         {
           "error_category_code": "sync_order_mtkp_to_skyhub",
           "errors": [
      {
          "attribute_name": null,
          "error_code": "unknown",
          "last_occurrence": "2023-01-12T17:10:36.673-03:00",
          "load_token": null,
          "message": "Current Status: Pedido Enviado (SkyHub) (order_shipped) | Remote Status: DELIVERED"
                        }
                    ]
                }
            ],
            "sku": "100101658345001"
        }
}
```

### **Como filtrar pedidos com erro por categoria**

O exemplo abaixo retornará somente pedidos com erro de uma determinada categoria.

```
https://api.skyhub.com.br/sync_errors/orders?error_category_code=sync_order_skyhub_to_mtkp 
```

Example request:

```
curl --location --request GET 'https://api.skyhub.com.br/sync_errors/orders?error_category_code=sync_order_skyhub_to_mtkp' \
--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:**&#x20;

{% hint style="success" %}
200 - Success \[OK]: No retorno para a consulta acima será retornado os pedidos que obtiveram erro em uma categoria especifica como vemos a seguir:
{% endhint %}

```
{
  [
    {
      "categories": [
    {
        "error_category_code": "sync_order_mtkp_to_skyhub",
        "errors": [
          {
              "attribute_name": null,
              "error_code": "unknown",
              "last_occurrence": "2023-01-12T17:10:36.673-03:00",
              "load_token": null,
              "message": "Current Status: Pedido Enviado (SkyHub) (order_shipped) | Remote Status: DELIVERED"
             }
         ]
       }
     ],
            "sku": "100101658345001"
   }
}

```

### Ignorar erros de produtos e pedidos

**Produtos:**

Saiba como ignorar os erros: Quando utilizamos o método **"PATCH"**, informamos para a SkyHub que não desejamos ver aquele determinado erro novamente, ou seja, após a correção do problema, você pode informar para que você fez a correção e não deseja ver aquele erro novamente, e ele não voltará a aparecer.

```
PATCH /sync_errors/products
```

Example request:

```
curl --location --request PATCH 'https://api.skyhub.com.br/sync_errors/products' \
--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'
```

**Pedidos:**

```
PATCH /sync_errors/orders
```

Example request:

```
curl --location --request PATCH 'https://api.skyhub.com.br/sync_errors/orders' \
--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'
```

&#x20;Qualquer dúvida sobre o processo encaminhe e-mail para *<mark style="color:blue;"><srv.mktp.api@americanas.io></mark>*


---

# 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/sync_errors/consulta-erros-de-sincronizacao-e-producao.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.
