# Categorias

Através da API de Categorias é possível consultar as categorias contidas na loja virtual.

| Endereço para Integração |                                                |
| ------------------------ | ---------------------------------------------- |
| URL de Acesso            | https\://{URL\_LOJA}/web\_api/categories/tree/ |
| Protocolo                | Rest/HTTP                                      |

### Lista de Categorias <a href="#ir-para-lista-de-categorias" id="ir-para-lista-de-categorias"></a>

Para a lista de categorias, deverá ser realizada uma requisição via GET.

Podem ser enviados na URL o código da categoria desejada, onde será retornada somente a categoria desejada e as respectivas subcategorias:

Veja abaixo uma chamada de exemplo para a lista de categorias:

```html
<script type="text/javascript">  
    var categoryId =  "3";
    
    $.ajax({
        method: "GET",
        url: "/web_api/categories/tree/"+categoryId
    }).done(function( response, textStatus, jqXHR ) {
        console.log(response);
    }).fail(function( jqXHR, status, errorThrown ){
        var response = $.parseJSON( jqXHR.responseText );
        console.log(response);
    });
</script>
```

Na lista de categorias, a API retorna a resposta em JSON.

Abaixo um detalhamento de cada nó do JSON de resposta:

| JSON de Resposta                          | Descrição                           |
| ----------------------------------------- | ----------------------------------- |
| `Category[]`                              | Lista de Categorias                 |
| `Category[].Category`                     | Dados da Categoria                  |
| `Category[].Category.slug`                | Caminho absoluto da Categoria       |
| `Category[].Category.id`                  | Código da Categoria                 |
| `Category[].Category.parent_id`           | Código da Categoria Pai             |
| `Category[].Category.name`                | Nome da Categoria                   |
| `Category[].Category.description`         | Descrição da Categoria (meta title) |
| `Category[].Category.title`               | Título da categoria (meta title)    |
| `Category[].Category.link`                | Objeto com as URLs da Categoria     |
| `Category[].Category.link.http`           | URL Simples da Categoria            |
| `Category[].Category.link.https`          | URL Segura da Categoria             |
| `Category[].Category.images[]`            | Imagens da Categoria                |
| `Category[].Category.images[].http`       | URL Simples da Imagem da Categoria  |
| `Category[].Category.images[].https`      | URL Segura da Imagem da Categoria   |
| `Category[].Category.children[]`          | Lista de Subcategorias              |
| `Category[].Category.children[].Category` | Dados da Subcategoria               |

Exemplo de resposta com sucesso baseando no envio do exemplo acima:

```json
{
    "Category": [
        {
            "Category": {
                "slug": "categoria-1",
                "id": "1",
                "parent_id": "",
                "name": "Categoria 1",
                "description": "categoria-1",
                "title": "",
                "link": {
                    "http": "http://sualojavirtual.commercesuite.com.br/categoria-1",
                    "https": "https://sualojavirtual.commercesuite.com.br/categoria-1"
                },
                "images": [
                    {
                        "http": "http://images1.tcdn.com.br/img/img_prod/123/categoria_img_1.png",
                        "https": "https://images2.tcdn.com.br/img/img_prod/123/categoria_img_1.png"
                    }
                ],
                "children": [
                    {
                        "Category": {
                            "slug": "categoria-1/subcategoria",
                            "id": "3",
                            "parent_id": "1",
                            "name": "Subcategoria",
                            "description": "Subcategoria",
                            "title": "",
                            "link": {
                             "http": "http://sualojavirtual.commercesuite.com.br/categoria-1/subcategoria",
                             "https": "https://sualojavirtual.commercesuite.com.br/categoria-1/subcategoria"
                            },
                            "images": [],
                            "children": null
                        }
                    }
                ]
            }
        },
        {
            "Category": {
                "slug": "categoria-2",
                "id": "2",
                "parent_id": "",
                "name": "Categoria 2",
                "description": "categoria-2",
                "title": "",
                "link": {
                    "http": "http://sualojavirtual.commercesuite.com.br/categoria-2",
                    "https": "https://sualojavirtual.commercesuite.com.br/categoria-2"
                },
                "images": [
                    {
                        "http": "http://images1.tcdn.com.br/img/img_prod/123/categoria_img_2.png",
                        "https": "https://images2.tcdn.com.br/img/img_prod/123/categoria_img_2.png"
                    }
                ],
                "children": null
            }
        }
    ]
}
```

Para mais detalhes sobre a API de categorias acesse o link da documentação <https://developers.tray.com.br/?java#api-de-categorias>


---

# 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://partners.tray.com.br/themes/construindo-seu-template/apis-disponiveis/categorias.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.
