Como integrar

Autenticação:

Nossa API REST, utiliza o método de autenticação "Basic Auth", sendo necessário enviar os seguintes cabeçalhos à cada requisição feita:

Authorization: Basic hash_base64(clientId:clientSecret) e Content-Type: application/json

Credenciais:

Para obter as credenciais de acesso à API, acesse o menu "Integração > Credenciais" na área do usuário.

URL da API:

A URL base para envio das solicitações HTTP é:

https://app.botelhomarketing.com.br/api/v1/{endpoint}

Resposta:

Em todas as requisições será retornado um "body" no formato JSON, e também o respectivo código de status HTTP (200,400,etc...)

Endpoints

Os seguintes endpoints estão disponíveis em nossa API:

Produtos
Ação Método Endpoint Observações
Listar Tudo GET produtos Cada produto traz categoria (com nome), area (com nome e is_digital), tags e fotos
Paginar GET produtos/page/{numeroPagina} Limite de 10 resultados por página
Exibir GET produtos/{idProduto} Mesmos campos enriquecidos (categoria, area + is_digital, tags)

O catálogo inclui produtos físicos e digitais. Os digitais vêm com area.is_digital = true e suas tags.

Taxonomias

Para montar filtros/menus sem varrer todos os produtos. Todos escopados pela credencial.

Ação Método Endpoint Observações
Áreas GET areas Retorna [{ id_area, nome, is_digital }]
Categorias GET categorias Retorna [{ id_categoria, nome, id_categoria_pai }]
Tags GET tags Retorna [{ id_tag, nome, id_tag_pai }] (hierarquia via id_tag_pai)
Pedidos
Ação Método Endpoint Observações
Enviar POST pedidos Aceita o cabeçalho opcional Idempotency-Key: reenvios com a mesma chave retornam o pedido já criado (sem duplicar)
Listar Tudo GET pedidos (nenhuma)
Paginar GET pedidos/page/{numeroPagina} Limite de 20 resultados por página
Exibir GET pedidos/{idPedido} (nenhuma)
Confirmar PUT pedidos/approve/{idPedido} Confirma um pedido Pendente (gera baixa de estoque)
Cancelar PUT pedidos/cancel/{idPedido} Cancela pedidos Pendentes ou Confirmados (estorna o estoque)

Exemplos

Confira os seguintes exemplos:

Enviar Pedido

Necessário enviar no "body" da requisição, um objeto JSON com os seguintes dados:

Resposta de Produto

Idempotência (opcional): no POST de pedido, envie o cabeçalho Idempotency-Key: <chave-única>. Se a mesma chave for reenviada, a API retorna o pedido já criado (HTTP 200) em vez de duplicar.

Os endpoints de produto retornam categoria, area (com is_digital) e tags:

{
    "id_produto": "323",
    "nome": "Bloco de Bolso Athos",
    "slug": "bloco-de-bolso-athos",
    "qtd_estoque": "935",
    "categoria": { "id_categoria": "12", "nome": "Impressos", "id_categoria_pai": null },
    "area":      { "id_area": "60", "nome": "Comercial", "is_digital": false },
    "tags": [
        { "id_tag": "5", "nome": "Folder", "id_tag_pai": null },
        { "id_tag": "8", "nome": "Safra 24/25", "id_tag_pai": "5" }
    ],
    "fotos": [ { "id_foto": "326", "url": "https://.../11417.jpg" } ]
}