NAV Navbar
  • Introdução
  • Autenticação
  • Headers
  • Paginação
  • Pedidos
  • Catálogo
  • Clientes
  • Leads
  • Queues (filas)
  • Marketing
  • Promoções
  • Logística
  • Conteúdo
  • Marketplaces
  • Checkout
  • Configurações
  • Merchant
  • Dashboard
  • Usuários
  • Webhooks
  • Notificações
  • Buscas
  • Introdução

    Seja bem-vindo(a) a documentação da API v2 da Yampi.

    Através dessa API REST você conseguirá administrar todos os recursos que uma loja possui dentro do nosso ambiente.

    Qualquer dúvida ou contribuição para esta documentação, envie um e-mail para suporte@yampi.com.br.

    Endpoints

    Cada loja possui seu endpoint através de um alias.

    Exemplo: https://api.dooki.com.br/v2/{alias}

    Lembre-se: você deverá substituir o termo alias pelo alias de seu cliente.

    SDKS oficiais

    Includes

    Nem sempre uma chamada simples em algum endpoint terá todo o payload que uma entidade possui. A API disponibiliza um recurso de include que permite carregar outros objetos, de acordo com a sua necessidade.

    Cada endpoint possui documentado seus respectivos includes.

    Para habilitar este recurso, basta passar uma query string include na URL de consulta. Exemplo:

    https://api.dooki.com.br/v2/{alias}/catalog/products?include=skus

    Você também pode solicitar vários includes de uma única vez:

    https://api.dooki.com.br/v2/{alias}/catalog/products?include=skus,images

    Encadeamento de includes:

    https://api.dooki.com.br/v2/{alias}/catalog/products?include=skus.prices.installments

    Filtros

    A API disponibiliza um recurso de filtros para cada endpoint. Isso permite que você procure os registros de acordo com a sua necessidade. Você deverá utilizar a query string search:

    https://api.dooki.com.br/v2/{alias}/catalog/brands?search=active:true

    No exemplo acima, a API retornará todas marcas que possuem o atributo active: true

    Também é possível realizar outros tipos de filtros:

    https://api.dooki.com.br/v2/{alias}/users?search=John&searchFields=name:like

    https://api.dooki.com.br/v2/{alias}/users?search=john@gmail.com&searchFields=email:=

    https://api.dooki.com.br/v2/{alias}/users?search=name:John Doe;email:john@gmail.com

    https://api.dooki.com.br/v2/{alias}/users?search=name:John;email:john@gmail.com&searchFields=name:like;email:=

    Por padrão, as pequisas utlizam OR nos resultados. Para utilizar AND basta incluir o parâmetro searchJoin=AND

    Trabalhando com datas

    Para filtrar os registros por período de data, utilize o seguinte formato:

    https://api.dooki.com.br/v2/{alias}/users?date=created_at:2017-05-21|2017-05-30

    O filtro acima retornará registros criados entre 21/05/2017 até 30/05/2017.

    Ordenação

    Você pode alterar a ordenação dos resultados utilizando os parâmetros orderBy e sortedBy. Exemplo:

    https://api.dooki.com.br/v2/{alias}/users?orderBy=id&sortedBy=desc

    Cache

    Por padrão, todas as consultas GET possuem um cache de 30 minutos. Esse cache pode ser evitado utilizando a query string skipCache=true em sua consulta. Exemplo:

    https://api.dooki.com.br/v2/{alias}/catalog/products?skipCache=true

    Erros

    Código Descrição
    400 Bad Request -- Request inválido.
    401 Unauthorized -- Acesso não autorizado.
    403 Forbidden -- Acesso negado
    404 Not Found -- Recurso não encontrado.
    405 Method Not Allowed -- Método inválido para o endpoint.
    410 Gone -- The kitten requested has been removed from our servers.
    422 Unprocessable Entity -- Recurso não processado.
    429 Too Many Requests -- Muitos requests. Vá com calma.
    500 Internal Server Error -- Problema interno de servidor.
    503 Service Unavailable -- API indisponível.

    Autenticação

    Por JWT

    Você pode autenticar sua aplicação utilizando JWT (Json Web Tokens). O request de autorização precisa conter o e-mail e senha do usuário associado a loja.

    POST https://api.dooki.com.br/v2/auth/login

    Parâmetro Obrigatório Descrição
    email Sim E-mail de acesso do usuário
    password Sim Senha de acesso do usuário

    A partir do momento que você possui o token de acesso, todos os próximos requests precisarão de um header de autorização:

    Authorization: Bearer SEU_TOKEN.

    Lembre-se: você deverá substituir o termo SEU_TOKEN pelo token retornado pela API.

    Por token de usuário

    Cada usuário possui um token de API (que deve ser solicitado com o responsável da loja).

    Utilize o header User-Token: TOKEN nas requisições para esta modalidade.

    Exemplo de autenticação JWT em PHP:

    <?php
    
    use GuzzleHttp\Client as Client;
    use GuzzleHttp\Exception\RequestException;
    
    try
    {
    
        $params = [
            'email' => 'john@bubb.store',
            'password' => '123456'
        ];
    
        $headers = [
            'Content-Type' => 'application/json'
        ];
    
        $client = new Client();
        $request = $client->request('POST', 'https://api.dooki.com.br/v2/auth/login', ['json' => $params, 'headers' => $headers]);
    
        $content = json_decode($request->getBody()->getContents(), true);
    
        // Obtem o token de acesso
        $token = $content['access_token'];
    
        echo $token;
    
    } catch ( RequestException $e )
    {
        die(sprintf('Ocorreu um erro: %s', $e->getMessage()));
    }
    
    

    O JSON retornado terá o seguinte formato:

    {
        "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOi8vYm9yZGFib3JkYWRvcy5idWJic3RvcmUtYXBpLmRldjo4ODg4L2FwaS92Mi9hdXRoL2xvZ2luIiwiaWF0IjoxNTEyMjE3NTg0LCJuYmYiOjE1MTIyMTc1ODQsImp0aSI6IllPZGM2cDRSQzJPN2ZUQlMiLCJzdWIiOjE3LCJwcnYiOiI4N2UwYWYxZWY5ZmQxNTgxMmZkZWM5NzE1M2ExNGUwYjA0NzU0NmFhIn0.FT9cn5MD-ptnW-AQG2pRmf18MBD1YZjhRWrNF5sTVmg",
        "token_type": "bearer",
        "expires_in": 0,
    }
    

    Headers

    É obrigatório o envio do header Content-Type: application/json em todas as requisições.

    Paginação

    Por padrão a API retornará 10 resultados por página, porém, você pode alterar isso através do parâmetro limit=20, por exemplo.

    Também há disponível um objeto meta que traz os detalhes da paginação.

    {
        "meta": {
            "pagination": {
                "total": 47,
                "count": 10,
                "per_page": 10,
                "current_page": 1,
                "total_pages": 5,
                "links": {
                    "next": "https://api.dooki.com.br/v2/{alias}/catalog/brands?page=2"
                }
            }
        }
    }
    

    Pedidos

    Listar pedidos

    GET https://api.dooki.com.br/v2/{alias}/orders

    Visualizar pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}

    Request para criar um pedido

    {
        "status": "paid",
        "number": "22222293",
        "customer_id": 141,
        "value_total": 100,
        "value_products": 10,
        "value_shipment": 0,
        "value_discount": 0,
        "value_tax": 0,
        "days_delivery": 2,
        "items": [
            {
                "product_id": 9375,
                "sku_id": 19606,
                "quantity": 1,
                "price": 19.00,
                "sku": "10-021-Avela"
            },
            {
                "product_id": 9375,
                "sku_id": 19222,
                "quantity": 2,
                "price": 19.00,
                "sku": "10-021-Azul"
            }
        ],
        "address": [
            {
                "street": "Rua Teste",
                "number": 123,
                "neighborhood": "Centro",
                "receiver": "John Snow",
                "zipcode": 14940000,
                "city": "São Paulo",
                "uf": "SP"
            }
        ],
        "transactions": [
            {
                "customer_id": 141,
                "payment_id": 123,
                "affiliation_id": 123,
                "gateway_transaction_id": 222,
                "amount": 100.00,
                "installments": 1,
                "status": "paid",
                "holder_name": "John Snow",
                "holder_document": "000000000"
            }   
        ]
    }
    

    Criar pedido

    POST https://api.dooki.com.br/v2/{alias}/orders

    Para criar um pedido, será necessário ter um cliente pré-cadastrado.

    Parâmetro Tipo Obrigatório Descrição
    status string Sim Status do pedido. Veja os valores aceitos
    number int Sim Número do pedido.
    customer_id int Sim ID do cliente.
    marketplace_id int Não ID do marketplace.
    value_total float Sim Valor total do pedido.
    value_products float Sim Valor dos produtos.
    value_shipment float Sim Valor do frete.
    value_discount float Sim Valor do desconto.
    value_tax float Não Valor da taxa.
    shipment_service string Sim Método de entrega. Exemplo: pac, sedex, transportadora
    days_delivery int Sim Prazo (em dias) para entrega.
    ip string Não Número do IP do cliente.
    items array Sim Objeto de ítens.
    items[product_id] int Sim ID do produto.
    items[sku_id] int Sim ID do SKU.
    items[quantity] int Sim Quantidade comprada.
    items[price] float Sim Preço unitário.
    items[sku] string Sim Código SKU.
    items[gift] boolean Não Marca se o item é para presente ou não.
    items[gift_value] float Não Valor da embalagem de presente.
    address array Sim Objeto endereço de entrega.
    address[street] string Sim Nome da rua.
    address[number] string Sim Número do endereço.
    address[neighborhood] string Sim Bairro.
    address[complement] string Não Complemento.
    address[reference] string Não Referência.
    address[zipcode] string Sim CEP de entrega.
    address[city] string Sim Cidade de entrega.
    address[uf] string Sim Estado de entrega.
    transactions array Não Objeto de transações
    transactions[customer_id] int Sim ID do cliente.
    transactions[payment_id] int Não ID do meio de pagamento. Referências
    transactions[affiliation_id] int Não ID da afiliação. Referências.
    transactions[gateway_transaction_id] string Não ID da transação no Gateway de pagamento.
    transactions[gateway_authorization_code] string Não Código de autorização no Gateway de pagamento.
    transactions[gateway_order_id] string Não Código do pedido no Gateway de pagamento.
    transactions[gateway_billet_id] string Não ID do boleto no Gateway de pagamento.
    transactions[amount] float Sim Total cobrado na transação.
    transactions[installments] int Sim Número de parcelas.
    transactions[status] string Sim Status da transação.
    transactions[holder_name] string Sim Nome do pagador.
    transactions[holder_document] string Sim Documento do pagador.
    transactions[truncated_card] string Não Número truncado do cartão de crédito.
    transactions[billet_url] string Não URL do boleto.
    transactions[billet_date] string Não Data de vencimento do boleto.
    transactions[antifraud_sale_id] string Não Númer do pedido no antifraude.

    Request para atualizar um pedido

    {
        "sync_by_erp": true,
        "shipment_service": "PAC",
        "track_url": "http://www.test.com",
        "track_code": "TRACKCODE",
        "status_id": 3,
        "status_details": "Status observation."
    }
    

    Atualizar o status através de um alias

    {
        "status": "paid",
    }
    

    Response de pedidos

    {
        "data": [
            {
                "id": 1,
                "customer_id": 1,
                "status_id": 3,
                "promocode_id": null,
                "marketplace_id": null,
                "authorized": false,
                "sync_by_erp": false,
                "has_recomm": true,
                "delivered": false,
                "number": 48075,
                "marketplace_partner_id": null,
                "marketplace_sale_number": null,
                "value_total": 59.39,
                "value_products": 49.9,
                "value_shipment": 15.48,
                "value_tax": 0,
                "shipment_service": "INTELIPOST_CORREIOS_PAC_1",
                "shipment_quote_id": "3536091764",
                "track_code": null,
                "track_url": null,
                "days_delivery": 23,
                "date_delivery": {
                    "date": "2018-01-25 00:00:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "utm_source": "facebook",
                "utm_campaign": "remarketing",
                "total_comments": 0,
                "ip": "127.0.0.1",
                "status": {
                    "data": {
                        "id": 3,
                        "alias": "waiting_payment",
                        "name": "Aguardando confirmação do pagamento",
                        "description": "Aguardando confirmação de pagamento"
                    }
                },
                "marketplace": {
                    "data": []
                },
                "customer": {
                    "data": {
                        "id": 2,
                        "marketplace_id": null,
                        "active": true,
                        "type": "f",
                        "name": "John Snow",
                        "razao_social": null,
                        "first_name": "John",
                        "last_name": "Snow",
                        "email": "john@snow.com",
                        "cnpj": null,
                        "cpf": "0000000000",
                        "phone": {
                            "area_code": "32",
                            "number": "646464654",
                            "formated_number": "(64) 6464-6464"
                        },
                        "utm_source": null,
                        "utm_campaign": null,
                        "ip": "127.0.0.1",
                    }
                },
                "items": {
                    "data": [
                        {
                            "id": 121745,
                            "product_id": 9373,
                            "sku_id": 19598,
                            "price_cost": 0,
                            "price": 49.9,
                            "quantity": 1,
                            "gift": false,
                            "gift_value": 0,
                            "has_recomm": 0,
                            "custom_value": null,
                            "customizations": [
                                {
                                    "id": 8,
                                    "name": "Primeira Letra",
                                    "value": "L"
                                }
                            ],
                            "sku": {
                                "data": {
                                    "id": 19598,
                                    "product_id": 9373,
                                    "sku": "06-011-Vermelho",
                                    "erp_id": "06-011-Vermelho",
                                    "blocked_sale": false,
                                    "barcode": "9900000010546",
                                    "title": "Cortina Riviera 2,00m x 1,70m para Varão Simples - Vermelho/Palha Vermelho",
                                    "days_availability": 1,
                                    "days_availability_formated": "1 dia útil",
                                    "width": 23,
                                    "height": 7,
                                    "length": 29,
                                    "weight": 0.84,
                                    "quantity_managed": false,
                                    "variations": [
                                        {
                                            "name": "Cor",
                                            "value": "Vermelho",
                                            "value_id": 379
                                        }
                                    ],
                                    "order": 0,
                                    "total_in_stock": 1027,
                                }
                            }
                        }
                    ]
                }
            }
        ],
        // Retorna a soma dos pedidos listados
        // e também o ticket médio
        "stats": {
            "amount": 14534.00,
            "average_ticket": 189.00
        }
    }
    

    Atualizar pedido

    PUT https://api.dooki.com.br/v2/{alias}/orders/{id}

    Parâmetro Tipo Obrigatório Descrição
    sync_by_erp boolean Não Marca se o pedido foi importado pelo ERP.
    delivered boolean Não Marca se o pedido foi entregue.
    shipment_service string Não Altera o método de entrega.
    track_url string Não URL de rastreamento.
    track_code string Não Código de rastreamento.
    status_id int Não Status do pedido. Veja os valores aceitos.
    status string Não Alias do status status do pedido. Veja os valores aceitos.
    status_details string Não Alguma observação para anexar ao status.

    Atualizar o endereço de entrega do pedido:

    PUT https://api.dooki.com.br/v2/{alias}/orders/{id}/addresses/{addressId}

    Parâmetro Tipo Obrigatório Descrição
    receiver boolean Não Marca se o pedido foi entregue.
    reference string Não Referência.
    street string Sim Nome da rua do endereço.
    number string Sim Número do endereço.
    neighborhood string Sim Bairro do endereço.
    complement string Não Complemento do endereço.
    city string Sim Nome da cidade.
    uf string Sim UF do estado.

    Atualizar pedido via planilha

    POST https://api.dooki.com.br/v2/{alias}/orders/import

    Para atualizar os pedidos, é necessário o envio do parâmetro file_url com a URL do arquivo. Extensões de arquivos aceitas: .xls.

    Ver planilha modelo

    Filtros personalizados

    Parâmetro Tipo Descrição
    status_id array Retorna que possuem os status informados. Exemplo: /orders?status_id[]=3&status_id=4
    total_comments int Retorna pedidos que possuem o número de comentários. Exemplo: /orders?total_comments=3
    seller_id array Retorna pedidos que possuem os vendedores informados. Exemplo: /orders?seller_id[]=3

    Listar filtros de busca

    GET https://api.dooki.com.br/v2/{alias}/orders/filters

    Listar produtos de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/items

    Listar transações de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/transactions

    Listar histórico de status de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/statuses

    Listar embalagens de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/boxes

    Exportar pedidos

    GET https://api.dooki.com.br/v2/{alias}/orders/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Gerar declaração de conteúdo de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/content-statement?token={token_de_autenticação}

    Exportar pedidos para um determinado serviço

    GET https://api.dooki.com.br/v2/{alias}/orders/export/{service}

    Etiquetas de entrega

    Listar etiquetas de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/labels

    Criar etiqueta

    POST https://api.dooki.com.br/v2/{alias}/orders/{id}/labels

    Request para criar uma etiqueta

    {
        "code": "123123123132",
        "tracking_code": "P182371823713BR",
        "tracking_url": "https://url.com/P182371823713BR",
        "shipping_service": "pac",
        "file_url": "https://url.com/label.pdf"
    }
    
    Parâmetro Tipo Obrigatório Descrição
    shipping_service string Não Nome do serviço de entrega.
    code string Não Código da etiqueta.
    tracking_code string Não Código de rastreamento da etiqueta.
    tracking_url string Não URL de rastreamento.
    file_url string Sim URL do arquivo da etiqueta.

    Atualizar etiqueta

    PUT https://api.dooki.com.br/v2/{alias}/orders/{id}/labels/{labelId}

    Excluir etiqueta

    DELETE https://api.dooki.com.br/v2/{alias}/orders/{id}/labels/{labelId}

    Comentários de um pedido

    Listar comentários

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/comments

    Criar um comentário

    POST https://api.dooki.com.br/v2/{alias}/orders/{id}/comments

    Request para incluir um comentário

    {
        "comments": "A comment test."
    }
    

    Response de comentários de pedido

    {
        "data": [
            "id": 9908,
            "user_id": 1,
            "comments": "A comment test.",
            "edited": false,
            "user": {
                "data": {
                    "id": 1,
                    "active": true,
                    "name": "John Snow",
                    "email": "john@snow.com",
                    "avatar_url": "https://secure.gravatar.com/avatar/c873ba11b62067c4bf74b6ac3b97a980?s=80&r=g&d=identicon",
                }
            }
        ]
    }
    
    Parâmetro Tipo Obrigatório Descrição
    comments string Sim Conteúdo do comentário.

    Visualizar um comentário

    GET https://api.dooki.com.br/v2/{alias}/orders/{orderId}/comments/{id}

    Atualizar um comentário

    PUT https://api.dooki.com.br/v2/{alias}/orders/{orderId}/comments/{id}

    Excluir um comentário

    DELETE https://api.dooki.com.br/v2/{alias}/orders/{orderId}/comments/{id}

    Nota fiscal de um pedido

    Listar nota fiscal

    GET https://api.dooki.com.br/v2/{alias}/orders/{orderId}/invoices

    Criar uma nota fiscal

    POST https://api.dooki.com.br/v2/{alias}/orders/{id}/invoices

    Request para incluir uma nota fiscal

    {
        "series": "000",
        "number": "000",
        "key": "000",
        "date": "2018-01-01",
        "value": 100.00,
        "products_value": 80.00,
        "cfop": "cfop",
        "url": "http://url.com",
        "force_invoiced_status": true
    }
    

    Response de nota fiscal

    {
        "data": [
            "id": 1,
            "series": "000",
            "number": "000",
            "key": "000",
            "date": {
                "date": "2018-01-01 00:00:00.000000",
                "timezone_type": 3,
                "timezone": "America/Sao_Paulo"
            },
            "value": null,
            "products_value": null,
            "cpfop": null,
            "url": null,
        ]
    }
    
    Parâmetro Tipo Obrigatório Descrição
    series string Não Número de série da nota.
    key string Não Chave da nota.
    number string Sim Número da nota.
    date date Sim Data da nota.
    value float Sim Valor da nota.
    products_value float Sim Valor dos produtos da nota.
    url string Não URL da nota.
    force_invoiced_status boolean Não Marca se o status do pedido será marcado como invoiced

    Atualizar uma nota fiscal

    PUT https://api.dooki.com.br/v2/{alias}/orders/{orderId}/invoices/{id}

    Excluir uma nota fiscal

    DELETE https://api.dooki.com.br/v2/{alias}/orders/{orderId}/invoices/{id}

    Rastreamento de um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/tracking

    Response de tracking de pedido

    {
        "data": [
            {
                "id": 38033,
                "status": "Objeto postado após o horário limite da agência",
                "locale": "Local: AGF PRUDENTE DE MORAES - IBITINGA/SP",
                "date": {
                    "date": "2017-12-19 18:48:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
            },
            {
                "id": 38056,
                "status": "Objeto encaminhado ",
                "locale": "AGF PRUDENTE DE MORAES - IBITINGA/SP",
                "date": {
                    "date": "2017-12-19 20:34:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
            },
        ],
    }
    

    Criar status de rastreamento

    POST https://api.dooki.com.br/v2/{alias}/orders/{id}/tracking

    Request para criar status de rastreamento

    {
        "status": "Em transporte",
        "date": "2018-02-18 08:00:00",
        "locale": "CD São Paulo",
        "delivered": true,
        "notify_customer": true,
    }
    
    Parâmetro Tipo Obrigatório Descrição
    status string Sim Nome do status. Exemplo: "Em trânsito"
    date datetime Sim Data do evento.
    locale string Sim Descrição do local do evento. Exemplo: "CD São Paulo"
    delivered boolean Sim Marca se o status é considerado como Entregue ao destinatário.
    notify_customer boolean Não Informa se o cliente será notificado sobre este novo status.

    Consultar anti-fraude para um pedido

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/antifraud

    Ao consultar o anti-fraude, a API retornará uma chave com os serviços que o cliente possui integração e o HTML do formulário que deverá ser renderizado e enviado em sua aplicação.

    Response de consulta de anti-fraude

    {
        "data": [
            "clearsale_form" {
                "name": "Clearsale Form",
                "output": "<html>...</html>"
            }
        ]
    }
    

    E-mails de um pedido

    Listar e-mails

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/emails

    Response de e-mails

    {
        "data": [
            {
                "id": 1,
                "subject": "Subject",
                "from": "Merchant Name <email@email.com.br>",
                "to": "lucas@bubb.com.br",
                "cc": null,
                "bcc": "email@email.com.br",
                "file_url": "http://url.to/email.html",
            }
        ]
    }
    

    Visualizar e-mail

    GET https://api.dooki.com.br/v2/{alias}/orders/{id}/emails/{messageId}

    Catálogo

    Marcas

    Listar marcas

    GET https://api.dooki.com.br/v2/{alias}/catalog/brands

    Request

    {
        "active": true,
        "featured": true,
        "name": "Brand",
        "description": "Description test",
        "logo_url": "http://foo.bar/logo.png",
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "active": true,
                "featured": true,
                "name": "Brand",
                "description": "Description test",
                "logo_url": "https://jarvis.bubbstore.com/brand-logo.png",
            },
        ]
    }
    

    Criar marca

    POST https://api.dooki.com.br/v2/{alias}/catalog/brands

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status da marca
    featured boolean Sim Marca em destaque
    name string Sim Nome da marca
    description string Não Descrição da marca
    logo_url string Não URL do logotipo da marca

    Visualizar marca

    GET https://api.dooki.com.br/v2/{alias}/catalog/brands/{id}

    Atualizar marca

    PUT https://api.dooki.com.br/v2/{alias}/catalog/brands/{id}

    Excluir marca

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/brands/{id}

    Categorias

    Listar categorias

    GET https://api.dooki.com.br/v2/{alias}/catalog/categories

    Por padrão, a API retorna todas as categorias. Se você deseja listar apenas os pais, basta adicionar o parâmetro /categories?onlyParents=true.

    Request

    {
        "active": true,
        "featured": false,
        "name": "Category",
        "slug": "category",
        "seo_title": "Page title for category",
        "seo_keywords": "meta, tags, keywords",
        "seo_description": "Seo description",
        "banners_ids": [1, 2, 3],
        "external_url": "http://www.link.com",
        "canonical_url": "http://www.link.com"
    }
    

    Response

    {
        "data": [
            {
                "id": 400,
                "active": true,
                "featured": false,
                "parent_id": null,
                "ml_category": null,
                "name": "Category",
                "slug": "category",
                "url": "https://www.domain.com.br/category",
                "sort_by": "relevance",
                "price_factor": 1.00,
                "total_banners": 0,
                "external_url": "http://www.link.com",
                "canonical_url": "http://www.link.com",
                "seo": {
                    "data": {
                        "seo_title": "Page title for category",
                        "seo_keywords": "meta, tags, keywords",
                        "seo_description": "Seo description"
                    }
                },
                "parent": {},
                "children": []
            },
        ]
    }
    

    Criar categoria

    POST https://api.dooki.com.br/v2/{alias}/catalog/categories

    Parâmetro Tipo Obrigatório Descrição
    parent_id int Não ID da categoria pai.
    active boolean Sim Status da categoria.
    featured boolean Não Categoria em destaque
    ml_category string Não ID da categoria no Mercado Livre
    price_factor float Não Fator de multiplicação
    name string Sim Nome da categoria
    slug string Não Slug da categoria
    seo_title string Não Título da página da categoria
    seo_keywords string Não Meta tag keywords da categoria
    seo_description string Não Meta tag description da categoria
    external_url string Não Link externo da categoria.
    canonical_url string Não Link canônico da categoria.
    order int Não Índice de ordenação da categoria
    sort_by string Não Tipo de ordenação dos produtos da categoria. Valores aceitos: relevance, highest_price, lowest_price, best_rating, name_asc, name_desc, random, best_sellers
    banners_ids array Não Lista de banners que a categoria possuirá.

    Visualizar categoria

    GET https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}

    Atualizar categoria

    PUT https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}

    Excluir categoria

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}

    Lista de produtos associados a uma categoria

    GET https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}/products

    Associar produtos a uma categoria

    PUT https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}/products

    Excluir produtos de uma categoria

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}/products

    Lista de banners associados a uma categoria

    GET https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}/banners

    Você deverá enviar um json com os IDS dos produtos que deseja associar ou excluir.

    Incluir ou excluir produtos de uma categoria

    {
        "products_ids": [1, 2, 3, 4, 5]
    }
    

    Exportar categorias

    GET https://api.dooki.com.br/v2/{alias}/catalog/categories/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Importar categorias

    POST https://api.dooki.com.br/v2/{alias}/catalog/categories/import

    Para importar as categorias, é necessário o envio do parâmetro file_url com a URL do arquivo. Extensões de arquivos aceitas: .xls.

    Associar produtos de outras categorias

    POST https://api.dooki.com.br/v2/{alias}/catalog/categories/{id}/copy-products

    Esse recurso é útil quando você precisa transferir produtos de outras categorias. Você deverá enviar em seu request os IDS das categorias dessa forma: "categories_ids": [1,2,3,4].

    A API irá associar todos os produtos das categorias 1,2,3,4.

    Selos

    Listar selos

    GET https://api.dooki.com.br/v2/{alias}/catalog/flags

    Request

    {
        "active": true,
        "is_visible": true,
        "name": "Coleção 2017",
        "slug": "colecao-2017",
        "text_color": "#ffffff",
        "background_color": "#000000",
        "image_url": "http://image.com/selo.gif",
    }
    

    Response

    {
        "data": [
            {
                "id": 163,
                "active": true,
                "is_visible": true,
                "name": "Coleção 2017",
                "slug": "colecao-2017",
                "text_color": "#ffffff",
                "background_color": "#000000",
                "image_url": "http://image.com/selo.gif",
            },
        ]
    }
    

    Criar selo

    POST https://api.dooki.com.br/v2/{alias}/catalog/flags

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status do selo
    is_visible boolean Não Selo visível. Padrão: true.
    name string Sim Nome do selo.
    slug string Não Slug do selo.
    text_color string(7) Não Código hexadecimal da cor do texto.
    background_color string(7) Não Código hexadecimal do fundo.
    image_url string Não URL da imagem que será usada no selo.

    Visualizar selo

    GET https://api.dooki.com.br/v2/{alias}/catalog/flags/{id}

    Atualizar selo

    PUT https://api.dooki.com.br/v2/{alias}/catalog/flags/{id}

    Excluir selo

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/flags/{id}

    Lista de produtos associados a um selo

    GET https://api.dooki.com.br/v2/{alias}/catalog/flags/{id}/products

    Associar produtos a um selo

    POST https://api.dooki.com.br/v2/{alias}/catalog/flags/{id}/products

    Excluir produtos de um selo

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/flags/{id}/products

    Você deverá enviar um json com os IDS dos produtos que deseja associar ou excluir.

    Incluir ou excluir produtos de um selo

    {
        "products_ids": [1, 2, 3, 4, 5]
    }
    

    Variações

    Listar variações

    GET https://api.dooki.com.br/v2/{alias}/catalog/variations

    Request

    {
        "name": "Cor"
    }
    

    Response

    {
        "data": [
            "id": 13,
            "name": "Cor",
            "values": {
                "data": [
                    {
                        "id": 490,
                        "name": "Amarelo",
                        "color": "#fff705",
                    },
                    {
                        "id": 1067,
                        "name": "Amarelo Floral",
                        "color": null,
                    },
                ]
            }
        ]
    }
    

    Criar variação

    POST https://api.dooki.com.br/v2/{alias}/catalog/variations

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome da variação.

    Visualizar variação

    GET https://api.dooki.com.br/v2/{alias}/catalog/variations/{id}

    Atualizar variação

    PUT https://api.dooki.com.br/v2/{alias}/catalog/variations/{id}

    Excluir variação

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/variations/{id}

    Valores de variações

    Listar valores de uma variação

    GET https://api.dooki.com.br/v2/{alias}/catalog/variations/{variationId}/values

    Request

    {
        "name": "Branco",
        "color": "#ffffff",
        "image_url": "https://image-url.com/image.jpg"
    }
    

    Response

    {
        "data": {
            "id": 1,
            "name": "Branco",
            "color": "#ffffff",
            "image_url": "https://image-url.com/image.jpg"
        }
    }
    

    Criar valor de variação

    POST https://api.dooki.com.br/v2/{alias}/catalog/variations/{variationId}/values

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do valor de variação.
    color string Não Código hexadecimal de uma cor.
    image_url string Não URL da imagem que será usada no valor de variação.

    Visualizar valor de uma variação

    GET https://api.dooki.com.br/v2/{alias}/catalog/variations/{variationId}/values/{id}

    Atualizar valor de variação

    PUT https://api.dooki.com.br/v2/{alias}/catalog/variations/{variationId}/values/{id}

    Excluir valor de variação

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/variations/{variationId}/values/{id}

    Filtros

    Os filtros possuem quase a mesma estrutura de uma variação, porém, eles possuem uma outra finalidade, que é exclusivamente para a busca de produtos.

    Listar filtros

    GET https://api.dooki.com.br/v2/{alias}/catalog/filters

    Request

    {
        "name": "Tamanho",
        "searchable": true,
        "navigation": false
    }
    

    Response

    {
        "data": [
            "id": 1,
            "name": "Tamanho",
            "searchable": true,
            "navigation": false,
            "values": {
                "data": [
                    {
                        "id": 1,
                        "name": "P",
                        "color": null,
                    },
                    {
                        "id": 2,
                        "name": "M",
                        "color": null,
                    },
                ]
            }
        ]
    }
    

    Criar filtro

    POST https://api.dooki.com.br/v2/{alias}/catalog/filters

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do filtro.
    searchable boolean Não Filtro buscável.
    navigation boolean Não Filtro visível no menu de navegação.

    Visualizar filtro

    GET https://api.dooki.com.br/v2/{alias}/catalog/filters/{id}

    Atualizar filtro

    PUT https://api.dooki.com.br/v2/{alias}/catalog/filters/{id}

    Excluir filtro

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/filters/{id}

    Valores de filtros

    Listar valores de um filtro

    GET https://api.dooki.com.br/v2/{alias}/catalog/filters/{filterId}/values

    Request

    {
        "name": "M",
        "color": null,
        "image_url": "https://image-url.com/image.jpg"
    }
    

    Response

    {
        "data": {
            "id": 1,
            "name": "M",
            "color": null,
            "image_url": "https://image-url.com/image.jpg"
        }
    }
    

    Criar valor de filtro

    POST https://api.dooki.com.br/v2/{alias}/catalog/filters/{filterId}/values

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do valor de filtro.
    color string Não Código hexadecimal de uma cor.
    image_url string Não URL da imagem que será usada no filtro.

    Visualizar valor de um filtro

    GET https://api.dooki.com.br/v2/{alias}/catalog/variations/{filterId}/values/{id}

    Atualizar valor de filtro

    PUT https://api.dooki.com.br/v2/{alias}/catalog/variations/{filterId}/values/{id}

    Excluir valor de filtro

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/variations/{filterId}/values/{id}

    Produtos

    Listar produtos

    GET https://api.dooki.com.br/v2/{alias}/catalog/products

    Criar produto

    POST https://api.dooki.com.br/v2/{alias}/catalog/products

    Atualizar produto

    PUT https://api.dooki.com.br/v2/{alias}/catalog/products/{id}

    Excluir produto

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/products/{id}

    Request

    {
        "simple": true,
        "brand_id": 1,
        "erp_id": 1212,
        "active": true,
        "searchable": true,
        "is_digital": false,
        "buy_similars": false,
        "priority": 1,
        "rating": 5,
        "ncm": "NCM",
        "name": "Produto X",
        "slug": "produto-x",
        "video": "https://youtube.com",
        "description": "Descrição",
        "specifications": "Especificação",
        "measures": "Medidas",
        "gift_value": 1.00,
        "seo_title": "Page title",
        "seo_description": "Meta tag description",
        "seo_keywords": "Meta tag keywords",
        "canonical_url": "canonical_url",
        "search_terms": "search, terms, for, better, search",
        "categories_ids": [1, 2, 3, 4],
        "flags_ids": [1, 2, 3, 4],
        "filters_values_ids": [1, 2, 3, 4],
        "variations_ids": [1, 2, 3, 4],
        "similars_ids": [1, 2, 3, 4],
        "skus": [
            {
                "sku": "SKU-TEST-API",
                "erp_id": "01-753-Rose",
                "barcode": "barcode-test",
                "price_cost": 12.3,
                "price_sale": 30,
                "price_discount": 25,
                "weight": 1,
                "height": 1,
                "width": 1,
                "length": 1,
                "quantity_managed": false,
                "availability": 1,
                "availability_soldout": 1,
                "blocked_sale": false,
                "variations_values_ids": [490],
                "images": [
                    {
                        "url": "http://www.site.com/image1.jpg",
                    },
                    {
                        "url": "http://www.site.com/image2.jpg",
                    }
                ]   
            }
        ]
    }
    

    Response simples

    {
        "data": [
            {
                "id": 3254,
                "merchant_id": 3,
                "active": true,
                "simple": false,
                "has_variations": true,
                "name": "Product name 1",
                "slug": "product-name-1",
                "rating": 0,
                "url": "https://www.domain.com.br/slug/p"
            },
            {
                "id": 3254,
                "merchant_id": 3,
                "active": true,
                "simple": true,
                "has_variations": true,
                "name": "Product name 2",
                "slug": "product-name-2",
                "rating": 0,
                "url": "https://www.domain.com.br/slug-2/p"
            },
        ]
    }
    

    Response completo

    {
        "data": {
            "id": 3254,
            "merchant_id": 3,
            "active": true,
            "simple": true,
            "has_variations": true,
            "name": "Product name 2",
            "slug": "product-name-2",
            "rating": 0,
            "url": "https://www.domain.com.br/slug-2/p",
            "dates": {
                "data": {
                    "created_at": {
                        "date": "2014-06-04 20:05:57.000000",
                        "timezone_type": 3,
                        "timezone": "America/Sao_Paulo"
                    },
                    "updated_at": {
                        "date": "2014-08-22 10:51:40.000000",
                        "timezone_type": 3,
                        "timezone": "America/Sao_Paulo"
                    }
                }
            },
            "brand": {
                "data": {
                    "id": 48,
                    "active": true,
                    "featured": false,
                    "name": "Ione Enxovais",
                    "description": null,
                    "logo_url": null,
                }
            },
            "extras": {
                "data": {
                    "video": "http://youtube.com",
                    "search_terms": "edredom, edredom king, edredom florido, edredom estampado, edredom rose",
                    "ncm": null,
                }
            },
            "texts": {
                "data": {
                    "description": "<p>01 Edredom 2,80m x 2,70m<br />\r\n02 Porta Travesseiros 90cm x 60cm</p>\r\n",
                    "specifications": "<p>Tecidos Externos: 100% Algod&atilde;o 150 Fios<br />\r\nEnchimento: 100% Poli&eacute;ster</p>\r\n",
                    "measures": null
                }
            },
            "seo": {
                "data": {
                    "seo_title": "Edredom Casal King Senegal Cor Rose 03 Pecas",
                    "seo_description": "Edredom Casal King 100% Algodão 150 Fios",
                    "seo_keywords": ""
                }
            },
            "filters": {
                "data": [
                    {
                        "name": "Cor",
                        "value": "Rosê",
                        "value_id": 483,
                        "color": "#d6878a"
                    },
                ]
            },
            "flags": {
                "data": []
            },
            "variations": {
                "data": [
                    {
                        "id": 13,
                        "name": "Cor",
                        "values": [
                            {
                                "id": 385,
                                "value": "Rosê",
                                "color": "#e3adbe"
                            },
                            {
                                "id": 397,
                                "value": "Marrom",
                                "color": "#783d1a"
                            }
                        ]
                    }
                ]
            },
            "categories": {
                "data": [
                    {
                        "id": 137,
                        "name": "Casal"
                    },
                    {
                        "id": 144,
                        "name": "Edredom"
                    }
                ]
            },
            "images": {
                "data": [
                    {
                        "small": {
                            "width": 120,
                            "height": 100,
                            "url": "https://jarvis.bubbstore.com/assets/stores/store-alias/uploads/images/edredom-casal-king-senegal-cor-rose-tecido-algodao-150-fios-538ff60197af1-small.jpg"
                        },
                        "thumb": {
                            "width": 225,
                            "height": 190,
                            "url": "https://jarvis.bubbstore.com/assets/stores/store-alias/uploads/images/edredom-casal-king-senegal-cor-rose-tecido-algodao-150-fios-538ff60197af1-thumb.jpg"
                        },
                        "medium": {
                            "width": 545,
                            "height": 465,
                            "url": "https://jarvis.bubbstore.com/assets/stores/store-alias/uploads/images/edredom-casal-king-senegal-cor-rose-tecido-algodao-150-fios-538ff60197af1-medium.jpg"
                        },
                        "large": {
                            "width": 1200,
                            "height": 1021,
                            "url": "https://jarvis.bubbstore.com/assets/stores/store-alias/uploads/images/edredom-casal-king-senegal-cor-rose-tecido-algodao-150-fios-538ff60197af1-large.jpg"
                        }
                    },
                ]
            },
            "skus": {
                "data": [
                    {
                        "id": 5657,
                        "sku": "01-752-Rose",
                        "blocked_sale": true,
                        "barcode": null,
                        "title": "Edredom Casal King Senegal 03 Pecas Rosê",
                        "days_availability": 0,
                        "days_availability_formated": "Imediata",
                        "width": 30,
                        "height": 30,
                        "length": 30,
                        "weight": 4,
                        "quantity_managed": false,
                        "variations": [
                            {
                                "name": "Cor",
                                "value": "Rosê",
                                "value_id": 385
                            }
                        ],
                        "stocks": []
                    },
                    {
                        "id": 5658,
                        "sku": "01-752-Marrom",
                        "blocked_sale": true,
                        "barcode": null,
                        "title": "Edredom Casal King Senegal 03 Pecas Marrom",
                        "days_availability": 0,
                        "days_availability_formated": "Imediata",
                        "width": 30,
                        "height": 30,
                        "length": 30,
                        "weight": 4,
                        "quantity_managed": false,
                        "variations": [
                            {
                                "name": "Cor",
                                "value": "Marrom",
                                "value_id": 397
                            }
                        ],
                        "stocks": []
                    }
                ]
            },
        }   
    }
    
    Parâmetro Tipo Obrigatório Descrição
    simple boolean Sim Produto simples ou não. Para produtos que possuem variações, o valor deve ser false.
    brand_id int Sim ID da marca.
    erp_id int Não Código do produto no ERP.
    active boolean Sim Produto ativo.
    searchable boolean Não Produto buscável. Padrão: true.
    priority int Não Índice de prioridade que o produto tem no posicionamento de busca. Valores aceitos: 1, 2, 3
    is_digital boolean Não Produto digital. Padrão: false.
    buy_similars boolean Não Compra de produtos relacionados. Padrão: false.
    rating int Não Nota do produto. Valores aceitos: 1, 2, 3, 4 ou 5.
    ncm string Não Código NCM do produto.
    name string Sim Nome do produto.
    slug string Não Slug do produto.
    video string Não URL do vídeo do produto.
    description string Não Descrição do produto.
    specifications string Não Especificação do produto.
    measures string Não Medidas do produto.
    gift_value float Não Valor da embalagem de presente do produto.
    google_category string Não Categoria do produto no Google Merchant Center.
    seo_title string Não Título da página do produto.
    seo_description string Não Meta tag description.
    seo_keywords string Não Meta tag keywords.
    canonical_url string Não URL canônica do produto
    search_terms string Não Termos de busca do produto separados em vírgula.
    categories_ids array Não IDS das categorias que o produto pertence.
    filters_values_ids array Não IDS dos valores de filtros que o produto possui.
    variations_ids array Não IDS das variações que o produto possui.
    similars_ids array Não IDS de produtos relacionados.
    skus array Não Array de objetos SKU. Por enquanto só é permitido criar SKUS em massa. Para atualizar, você deverá fazer um request PUT para o SKU que deseja.

    Listar SKUS de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/skus

    Atualizar ordem dos SKUS de um produto

    PUT https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/skus/order

    A sintaxe do request é o mesmo utilizado na ordenação de imagens de um SKU.

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    brand_id[] array Array de IDS de marcas
    category_id[] array Array de IDS de categorias
    flag_id[] array Array de IDS de selos
    collection_id[] array Array de IDS de coleções

    Exemplo de um request com filtros personalizados:

    GET https://api.dooki.com.br/v2/{alias}/products?brand_id[]=3&brand_id[]=4&category_id[]=6

    A API retornará produtos das marcas com ID 3, 4, e categoria de ID 6

    Exportar produtos

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Importar produtos

    POST https://api.dooki.com.br/v2/{alias}/catalog/products/import

    Para importar os produtos, é necessário o envio do parâmetro file_url com a URL do arquivo. Extensões de arquivos aceitas: .xls.

    Selos de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/flags

    Grupos de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/groups

    Comentários de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/comments

    Avaliações de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/reviews

    Combos de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/combos

    Coleções que um produto pertence

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/collections

    Promoções que um produto pertence

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/promotions

    Recomendações para um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/recommendations

    Duplicar produto

    POST https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/duplicate

    Listar estoques de todos os SKUS de um produto

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/stocks

    Atualização em massa

    Atualização de produtos em massa

    {
        "attribute": "price_discount",
        "operation_type": "increment",
        "value_type": "percent",
        "value": 100,
        "restrictions": {
            "include": {
                "products_ids": [1, 2, 3, 4],
                "brands_ids": [1, 2, 3]
            }
        }
    }
    

    Exemplo de request que aumenta o preço de venda em 20% de todos os produtos, exceto os da marca com id 5

    {
        "attribute": "price_sale",
        "operation_type": "increment",
        "value_type": "percent",
        "value": 20,
        "restrictions": {
            "exclude": {
                "brands_ids": [5]
            }
        }
    }
    

    Através desse endpoint, é possível aterar os seguintes parâmetros de um produto e seus respectivos SKUS:

    PUT https://api.dooki.com.br/v2/{alias}/catalog/products/batch-edit

    Parâmetro Tipo Obrigatório Descrição
    attribute string Sim O atributo que será atualizado. Valores aceitos: active, price_sale e price_discount
    operation_type string Sim (se attribute for price_sale ou price_discount) Tipo de operação. Valores aceitos: increment ou decrement
    value_type string Sim (se attribute for price_sale ou price_discount) Tipo do valor da operação. Valores aceitos: percent ou fixed
    value string Sim Novo valor aplicado
    restrictions array Sim Regras de restrições de produtos

    Sincronizar estoques

    Sincronizar estoques

    {
        "skus": [
            {
                "id": 12345,
                "stock_id": 2,
                "quantity": 100,
                "min_quantity": 0
            },
            {
                "id": 123456,
                "stock_id": 2,
                "quantity": 100,
                "min_quantity": 0
            },
        ]
    }
    

    Neste endpoint, é possível informar as respectivas quantidades em estoque de um SKU em cada estoque/armazém.

    POST https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/stocks/sync

    Parâmetro Tipo Obrigatório Descrição
    skus array Sim Array de SKUS do produto
    skus[id] int Sim ID do SKU
    skus[stock_id] int Sim ID do estoque
    skus[quantity] int Sim Quantidade do SKU
    skus[min_quantity] int Sim Quantidade mínima do SKU

    Exportar Skus de um estoque

    Rota para exportar os produtos de um estoque específico, é necessário enviar por parâmetro o id do estoque:

    GET https://api.dooki.com.br/v2/{alias}/catalog/stocks/export-skus

    Parâmetro Tipo Obrigatório Descrição
    stock_id array Sim Id do estoque

    Produtos relacionados

    Incluir ou excluir produtos relacionados

    {
        "products_ids": [1, 2, 3, 4, 5]
    }
    

    Request para ordenar os produtos relacionados

    {
        "orders": {
            0: "101941",
            1: "101940",
            2: "101938",
            3: "101934",
            4: "101933",
            5: "101932",
            6: "1107"
        }
    }
    

    Listar produtos relacionados

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/similars

    Associar produtos relacionados

    POST https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/similars

    Excluir produtos relacionados

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/similars

    Ordenar produtos relacionados

    PUT https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/similars

    Batch de produtos relacionados

    POST https://api.dooki.com.br/v2/{alias}/catalog/products/similars/batch

    Para realizar um batch de produtos relacionados, você deverá enviar o parâmetro products_ids[] com os IDS dos produtos que deseja criar o relacionamento. Dessa forma, todos os produtos informados se relacionarão entre si.

    SKUS

    Request para criar um SKU

    {
        "product_id": 81252,
        "sku": "SKU-TEST-API",
        "erp_id": "01-753-Rose",
        "barcode": "barcode-test",
        "price_cost": 12.3,
        "price_sale": 30,
        "price_discount": 25,
        "weight": 1,
        "height": 1,
        "width": 1,
        "length": 1,
        "quantity_managed": false,
        "availability": 1,
        "availability_soldout": 1,
        "blocked_sale": false,
        "variations_values_ids": [490],
        "customizations_ids": [1,2,3],
        "images": [
            {
                "url": "http://www.site.com/image1.jpg",
            },
            {
                "url": "http://www.site.com/image2.jpg",
            }
        ]
    }
    

    Listar SKUS

    GET https://api.dooki.com.br/v2/{alias}/catalog/skus

    Criar SKU

    POST https://api.dooki.com.br/v2/{alias}/catalog/skus

    Response (com includes)

    {
        "id": 94117,
        "product_id": 81252,
        "sku": "SKU-TEST-API",
        "erp_id": "01-753-Rose",
        "blocked_sale": false,
        "barcode": "barcode-test",
        "title": "Produto teste variacao 030303 Amarelo",
        "days_availability": 1,
        "days_availability_formated": "1 dia útil",
        "width": 1,
        "height": 1,
        "length": 1,
        "weight": 1,
        "quantity_managed": false,
        "variations": [
            {
                "name": "Cor",
                "value": "Amarelo",
                "value_id": 490
            }
        ],
        "total_in_stock": 0,
        "customizations": {
            "data": [
                {
                    "id": 8,
                    "name": "Primeira Letra",
                    "price": 0,
                    "description": "Descrição",
                    "type": "select",
                    "required": true,
                    "max_chars": 1,
                    "values": [
                        "A",
                        "B",
                        "C",
                        "D"
                    ],
                }
            ]
        }
        "prices": {
            "data": {
                "currency": "R$",
                "price_cost": 25,
                "price_cost_formated": "R$ 25,00",
                "price": 25,
                "price_formated": "R$ 25,00",
                "price_sale": 30,
                "price_sale_formated": "R$ 30,00",
                "price_discount": 25,
                "price_discount_formated": "R$ 25,00",
                "has_promotion": true
            }
        }
    }
    
    Parâmetro Tipo Obrigatório Descrição
    product_id int Sim ID do produto pai
    sku string Sim Código SKU
    erp_id string Não Código ERP do SKU
    barcode string Não Código de barras
    price_cost float Sim Preço de custo
    price_sale float Sim Preço de venda
    price_discount float Não Preço promocional
    weight float Sim Peso (em KG)
    height float Sim Altura (em CM)
    width float Sim Largura (em CM)
    length float Sim Comprimento (em CM)
    quantity_managed boolean Sim Quantidade de estoque gerenciada pelo sistema
    availability int Sim Número de dias úteis de disponibilidade do SKU
    availability_soldout int Sim Número de dias úteis de disponibilidade do SKU quando zerar o estoque
    blocked_sale boolean Sim Venda bloqueada
    order int Não Ordem de exibicação do produto
    variation_values_ids array Sim (se for produto com variações) IDS dos valores de variações que o SKU possui. Exemplo: Amarelo, Azul, M, P...
    images array Não Array de imagens. Pode conter duas propriedades: url.
    stock_quantity int Não Quantidade em estoque. O sistema criará o estoque somente se o atributo quantity_managed for true.
    stock_min_quantity int Não Quantidade mínima em estoque. O sistema criará o estoque somente se o atributo quantity_managed for true.
    customizations_ids array Não ID das customizações que o SKU possui.

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    stock_quantity int Quantidade em estoque
    stock_min_quantity int Quantidade mínima em estoque

    Imagens

    Exemplo de como enviar imagens via URL

    {
        "images": [
            {
                "url": "http://www.site.com/image.jpg",
            },
            {
                "url": "http://www.site.com/image.jpg",
            },
            {
                "url": "http://www.site.com/image.jpg",
            }
        ]
    }
    

    Request para ordenar as imagens

    {
        "orders": {
            0: "101941",
            1: "101940",
            2: "101938",
            3: "101934",
            4: "101933",
            5: "101932",
            6: "1107"
        }
    }
    

    Por padrão, as imagens não são retornadas no payload de SKUS. Utilize o parâmetro include=images para que isso aconteça.

    Listar imagens de um SKU

    GET https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/images

    Criar imagens

    POST https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/images

    Há disponíveis três formas de upload através do parâmetro upload_option: resize, crop e fill_canvas

    Parâmetro Tipo Obrigatório Descrição
    upload_option string Não Forma que o sistema redimensionará os arquivos. Valores aceitos: resize, crop e fill_canvas
    images array Sim Você pode enviar URL's das imagens ou o IDs de SKUS.

    Excluir imagem

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/images/{id}

    Atualizar ordem das imagens

    PUT https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/images/order

    Importante: não se aplica quando um SKU utiliza fotos de outro.

    Exportar SKUS

    GET https://api.dooki.com.br/v2/{alias}/catalog/skus/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Importar SKUS

    POST https://api.dooki.com.br/v2/{alias}/catalog/skus/import

    Para importar os skus, é necessário o envio do parâmetro file_url com a URL do arquivo. Extensões de arquivos aceitas: .xls.

    Grupos

    Request para criar um Grupo

    {
        "name": "Group name",
        "products_ids": [1, 2, 3, 4]
    }
    

    Response

    {
        "data": [
            {
                "id": 225,
                "name": "Group name",
                "total_products": 4,
            },
        ]
    }
    

    Com este recurso é possível realizar um agrupamento de produtos.

    Listar grupos

    GET https://api.dooki.com.br/v2/{alias}/catalog/groups

    Criar grupo

    POST https://api.dooki.com.br/v2/{alias}/catalog/groups

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do grupo
    products_ids array Não IDs de produtos

    Visualizar grupo

    GET https://api.dooki.com.br/v2/{alias}/catalog/groups/{id}

    Atualizar grupo

    PUT https://api.dooki.com.br/v2/{alias}/catalog/groups/{id}

    Excluir grupo

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/groups/{id}

    Lista de produtos associados a um grupo

    GET https://api.dooki.com.br/v2/{alias}/catalog/groups/{id}/products

    Associar produtos a um grupo

    PUT https://api.dooki.com.br/v2/{alias}/catalog/groups/{id}/products

    Excluir produtos de um grupo

    Incluir ou excluir produtos de um grupo

    {
        "products_ids": [1, 2, 3, 4, 5]
    }
    

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/groups/{id}/products

    Você deverá enviar um json com os IDS dos produtos que deseja associar ou excluir.

    Comentários de produtos

    Request para criar um comentário

    {
        "product_id": 1,
        "comment_id": null,
        "approved": false,
        "name": "Test name",
        "email": "john@snow.com",
        "message": "message",
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "product_id": 1,
                "comment_id": null,
                "approved": false,
                "name": "Test name",
                "email": "john@snow.com",
                "message": "message",
                "answer": null
            }
        ]
    }
    

    Listar comentários

    GET https://api.dooki.com.br/v2/{alias}/catalog/comments

    Criar comentário

    POST https://api.dooki.com.br/v2/{alias}/catalog/comments

    Parâmetro Tipo Obrigatório Descrição
    product_id int Sim ID do produto.
    comment_id int Não ID do comentário. Utilizar quando o comentário em questão for uma resposta, por exemplo.
    approved boolean Sim Comentário aprovado.
    name string Sim Nome do autor do comentário.
    email string Sim E-mail do autor do comentário.
    message string Sim Mensagem do autor do comentário.

    Visualizar comentário

    GET https://api.dooki.com.br/v2/{alias}/catalog/comments/{id}

    Atualizar comentário

    PUT https://api.dooki.com.br/v2/{alias}/catalog/comments/{id}

    Excluir comentário

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/comments/{id}

    Aprovar / desaprovar um comentário

    PATCH https://api.dooki.com.br/v2/{alias}/catalog/comments/{id}

    Deverá ser enviado apenas o atributo { "approved": true }

    Reviews de produtos

    Request para criar um review

    {
        "product_id": 1,
        "name": "Test name",
        "email": "john@snow.com",
        "approved": false,
        "rating": 5,
        "message": "message",
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "product_id": 1,
                "name": "Test name",
                "email": "john@snow.com",
                "approved": false,
                "rating": 5,
                "message": "message",
            }
        ]
    }
    

    Listar reviews

    GET https://api.dooki.com.br/v2/{alias}/catalog/reviews

    Criar review

    POST https://api.dooki.com.br/v2/{alias}/catalog/review

    Parâmetro Tipo Obrigatório Descrição
    product_id int Sim ID do produto.
    rating int Sim Nota do produto. Valores aceitos: 1, 2, 3, 4 ou 5.
    approved boolean Não Review aprovado.
    name string Sim Nome do autor do review.
    email string Sim E-mail do autor do review.
    message string Sim Mensagem do autor do review.

    Visualizar review

    GET https://api.dooki.com.br/v2/{alias}/catalog/reviews/{id}

    Excluir review

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/reviews/{id}

    Aprovar / desaprovar um review

    PATCH https://api.dooki.com.br/v2/{alias}/catalog/reviews/{id}

    Deverá ser enviado apenas o atributo { "approved": true }

    Estoques de SKU

    Request para criar um estoque

    {
        "stock_id": 1,
        "quantity": 10,
        "min_quantity": 3
    }
    

    Response

    {
        "data": [
            {
                "id": 36100,
                "stock_id": 1,
                "quantity": 100,
                "min_quantity": 0,
            },
        ]
    }
    

    Os estoques estão diretamente relacionados a um SKUS. Um SKU pode conter vários estoques. O parâmetro total_in_stock na API de SKUS retorna as quantidades somadas de todos os estoques.

    Listar estoques

    GET https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/stocks

    Criar estoque

    POST https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/stocks

    Parâmetro Tipo Obrigatório Descrição
    stock_id int Sim ID do estoque
    quantity int Sim Quantidade em estoque
    min_quantity int Sim Quantidade mínima em estoque

    Atualizar estoque

    PUT https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/stocks/{id}

    Excluir estoque

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/skus/{skuId}/stocks/{id}

    Looks

    Request para criar um look

    {
        "active": true,
        "name": "Nome do Look",
        "description": "Descrição do look",
        "products_ids": [1,2,3,4]
    }
    

    Response

    {
        "id": 3,
        "active": true,
        "name": "Nome do Look",
        "description": "Descrição do look",
        "slug": "nome-do-look",
        "total_products": 2,
        "url": "https://www.site.com/looks/nome-do-look",
        "products": [
    
        ]
    }
    

    Listar looks

    GET https://api.dooki.com.br/v2/{alias}/catalog/looks

    Criar look

    POST https://api.dooki.com.br/v2/{alias}/catalog/looks

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status do look.
    name string Sim Nome do look.
    slug string Não Slug do look.
    description string Não Descrição do look.
    products_ids array Sim IDs dos produtos do look.

    Visualizar look

    GET https://api.dooki.com.br/v2/{alias}/catalog/looks/{id}

    Atualizar look

    PUT https://api.dooki.com.br/v2/{alias}/catalog/looks/{id}

    Excluir look

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/looks/{id}

    Coleções

    Coleções são listas de produtos para determinada finalidade. Exemplo: produtos participantes da black friday etc.

    Request para criar uma coleção

    {
        "active": true,
        "show_banners": true,
        "featured": true,
        "name": "Collection Test",
        "visible_products": 4,
        "home": true,
        "slug": "collection-test",
        "description": "Test description",
        "seo_title": "Page Title for SEO",
        "seo_description": "Meta Tag Description",
        "seo_keywords": "seo, keywords",
        "start_at": "2015-12-12 12:00:00",
        "end_at": "2016-12-12 12:00:00",
        "stopwatch": "daily",
        "url": "https://www.domain.com/collection/l",
        "products_ids": [1, 2, 3, 4],
        "banners_ids": [1, 2, 3, 4],   
        "restrictions": {
            "include": {
                "brands_ids": [1, 2, 3, 4],
                "categories_ids": [143]
            },
            "exclude": {
                "categories_ids": [141]
            }
        }
    }
    

    Response

    {
        "data": [
            {
                "id": 225,
                "parent_id": null,
                "active": false,
                "show_banners": true,
                "featured": true,
                "home": true,
                "expired": true,
                "expire_in": null,
                "name": "Collection Test",
                "slug": "collection-test",
                "description": "Test description",
                "visible_products": 8,
                "total_products": 1,
                "seo_title": "Page Title for SEO",
                "seo_description": "Meta Tag Description",
                "seo_keywords": "seo, keywords",
                "start_at": "2014-10-23 12:00:00",
                "end_at": "2014-12-31 23:45:00",
                "stopwatch": "daily",
                "stopwatch_expires_in": "2018-01-31 00:00:00",
                "restrictions": {
                    "include": {
                        "products_ids": [1,2,3,4,5,6],
                        "brands_ids": [],
                        "collections_ids": [],
                        "categories_ids": []
                    },
                    "exclude": {
                        "products_ids": [10,12],
                        "brands_ids": [],
                        "collections_ids": [],
                        "categories_ids": []
                    },
                }
            },
        ]
    }
    

    Listar coleções

    GET https://api.dooki.com.br/v2/{alias}/catalog/collections

    Por padrão, a API retorna todas as coleções. Se você deseja listar apenas os pais, basta adicionar o parâmetro /collections?onlyParents=true.

    Criar coleção

    POST https://api.dooki.com.br/v2/{alias}/catalog/collections

    Parâmetro Tipo Obrigatório Descrição
    parent_id int Não ID da categoria pai.
    active boolean Sim Status da coleção.
    show_banners boolean Não Marca se os banners serão exibidos ou não. Default: true
    featured boolean Não Lista em destaque ou não. Default: false
    home boolean Sim Marca se a coleção estará presente na home ou não.
    name string Sim Nome da coleção.
    visible_products int Não Número de produtos visíveis na home.
    slug string Não Slug da coleção.
    description string Não Descrição da coleção.
    seo_title string Não Título da página da coleção.
    seo_keywords string Não Meta tag keywords da coleção.
    seo_description string Não Meta tag description da coleção.
    start_at datetime Sim Início da coleção.
    end_at datetime Sim Término da coleção.
    stopwatch string Não Tipo de cronômetro da coleção. Valores aceitos: null, daily ou expiration_date
    banners_ids array Não IDs de banners.
    restrictions array Não Regras de restrições.

    Visualizar coleção

    GET https://api.dooki.com.br/v2/{alias}/catalog/collections/{id}

    Atualizar coleção

    PUT https://api.dooki.com.br/v2/{alias}/catalog/collections/{id}

    Excluir coleção

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/collections/{id}

    Lista de produtos associados a uma coleção

    GET https://api.dooki.com.br/v2/{alias}/catalog/collections/{id}/products

    Associar produtos a uma coleção

    POST https://api.dooki.com.br/v2/{alias}/catalog/collections/{id}/products

    Excluir produtos de uma coleção

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/collections/{id}/products

    Você deverá enviar um json com os IDS dos produtos que deseja associar ou excluir.

    Incluir ou excluir produtos de uma coleção

    {
        "products_ids": [1, 2, 3, 4, 5]
    }
    

    Feeds

    Listar feeds

    GET https://api.dooki.com.br/v2/{alias}/catalog/feeds

    Request

    {
        "service": "google",
        "name": "ecd73150-e747-11e7-9221-0361c8d4d388",
        "url": "http://bubbstore.com/xml/ecd73150-e747-11e7-9221-0361c8d4d388.xml"
    }
    

    Response

    {
        "data": [
            {
                "id": 3,
                "service": "google",
                "name": "ecd73150-e747-11e7-9221-0361c8d4d388",
                "url": "http://bubbstore.com/xml/file-name.xml",
            },
        ]
    }
    

    Criar feed

    POST https://api.dooki.com.br/v2/{alias}/catalog/feed

    Parâmetro Tipo Obrigatório Descrição
    service string Sim Nome do serviço. Exemplo: google, buscape.
    name string Sim Nome do arquivo.
    url string Sim URL do arquivo.

    Visualizar feed

    GET https://api.dooki.com.br/v2/{alias}/catalog/feeds/{id}

    Atualizar feed

    PUT https://api.dooki.com.br/v2/{alias}/catalog/feeds/{id}

    Excluir feed

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/feeds/{id}

    Customizações

    Esse recurso é útil para produtos que requerem algum tipo de personalização. Exemplo: uma camiseta com o nome do cliente estampado.

    Listar customizações

    GET https://api.dooki.com.br/v2/{alias}/catalog/customizations

    Request

    {
        "name": "Primeira letra do nome",
        "price": 0,
        "description": "Descrição",
        "type": "select",
        "required": true,
        "max_chars": 1,
        "values": ["A", "B", "C", "D"]
    }
    

    Response

    {
        "data": [
            {
                "id": 7,
                "name": "Primeira letra do nome",
                "price": 0,
                "description": "Descrição",
                "type": "select",
                "required": true,
                "max_chars": 1,
                "values": [
                    "A",
                    "B",
                    "C",
                    "D"
                ],
            },
        ]
    }
    

    Criar customização

    POST https://api.dooki.com.br/v2/{alias}/catalog/customizations

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome da customização.
    price float Sim Preço adicional da customização.
    description string Não Descrição da customização.
    type string Sim Tipo da customização. Valores aceitos: select (campo selecionável com valores pré-determinados) e input (campo digitável).
    required boolean Sim Marca se a customização é obrigatória.
    max_chars int Sim Máximo de caracteres permitido.
    values array Não Valores aceitos para a customização se o campo type for igual a select.

    Visualizar customização

    GET https://api.dooki.com.br/v2/{alias}/catalog/customizations/{id}

    Atualizar customização

    PUT https://api.dooki.com.br/v2/{alias}/catalog/customizations/{id}

    Excluir customização

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/customizations/{id}

    Notificações de estoque

    Neste endpoint estão cadastrados os clientes que desejam receber notificações de reposição de estoque de determinados SKUS. É o famoso recurso "Avise-me quando chegar".

    Listar notificações de estoque

    GET https://api.dooki.com.br/v2/{alias}/catalog/stock-notifications

    Request

    {
        "sku_id": 123,
        "name": "John Snow",
        "email": "jonh@snow.com"
    }
    

    Response

    {
        "data": [
            {
                "id": 4,
                "sku_id": 123,
                "name": "John Snow",
                "email": "jonh@snow.com"
                "notified_at": null,
            },
        ]
    }
    

    Exportar notificações de estoque

    GET https://api.dooki.com.br/v2/{alias}/catalog/stock-notifications/export

    Criar notificação de estoque

    POST https://api.dooki.com.br/v2/{alias}/catalog/stock-notifications

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do cliente.
    email string Sim E-mail do cliente.
    sku_id int Sim ID do SKU.

    Visualizar notificação de estoque

    GET https://api.dooki.com.br/v2/{alias}/catalog/stock-notifications/{id}

    Atualizar notificação de estoque

    PUT https://api.dooki.com.br/v2/{alias}/catalog/stock-notifications/{id}

    Excluir notificação de estoque

    DELETE https://api.dooki.com.br/v2/{alias}/catalog/stock-notifications/{id}

    Clientes

    Listar clientes

    GET https://api.dooki.com.br/v2/{alias}/customers

    Request

    {
        "marketplace_id": null,
        "cluster_id": null,
        "active": true,
        "type": "f",
        "name": "John Snow",
        "razao_social": null,
        "cpf": "00000000000",
        "cnpj": null,
        "email": "john@snow.com",
        "password": "123456",
        "password_confirmation": "123456",
        "homephone": "00000000000",
        "ip": "127.0.0.1",
        "utm_source": "Google",
        "utm_campaign": "Adwords",
        "notes": "He is a nice customer."
    }
    

    Response

    {
        "data": [
            {
                "id": 57906,
                "marketplace_id": null,
                "cluster_id": null,
                "active": true,
                "type": "f",
                "name": "John Snow",
                "razao_social": null,
                "first_name": "John",
                "last_name": "Snow",
                "email": "john@snow.com",
                "cnpj": null,
                "cpf": "000.000.000.00",
                "phone": {
                    "area_code": "11",
                    "number": "0000000000",
                    "formated_number": "(11) 00000-0000"
                },
                "utm_source": null,
                "utm_campaign": null,
                "ip": "000.000.000.00",
                "notes": "He is a nice customer."
                "stats": {
                    "data": {
                        "total_orders": 1,
                        "last_sale_at": {
                            "date": "2017-11-03 00:55:07.000000",
                            "timezone_type": 3,
                            "timezone": "America/Sao_Paulo"
                        },
                        "last_sale_amount": 243.92,
                        "last_formated_sale_amount": "R$ 243,92"
                    }
                },
                "addresses": {
                    "data": [
                        {
                            "id": 55934,
                            "receiver": "John Snow",
                            "zip_code": "00000000",
                            "street": "Street Name",
                            "number": "00",
                            "neighborhood": "Neighborhood",
                            "complement": "Complement",
                            "city": "City",
                            "uf": "SP",
                            "full_address": "Street Name, 00 - Complement"
                        }
                    ]
                }
            },
        ]
    }
    

    Criar cliente

    POST https://api.dooki.com.br/v2/{alias}/customers

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status do cliente
    marketplace_id int Não ID do marketplace
    cluster_id int Não ID do cluster
    type string Sim Tipo da pessoa. Valores aceitos: f (pessoa física) e j (pessoa jurídica)
    name string Não Nome do cliente
    razao_social string Não Razão Social do cliente, caso seja pessoa jurídica
    email string Sim E-mail do cliente
    cnpj string Sim (caso seja pessoa jurídica) CNPJ do cliente
    cpf string Sim (caso seja pessoa física) CPF do cliente
    homephone string Sim Telefone ou celular do cliente
    password string Sim Senha de acesso do cliente
    password_confirmation string Sim Confirmação da senha
    ip string Não IP do cliente
    utm_source string Não Origem de acesso do cliente
    utm_campaign string Não Campanha de origem de acesso
    notes string Não Anotações sobre o cliente.

    Filtros

    Parâmetro Tipo Descrição
    state_uf array Retornar clientes de determinados estados.
    buy_product_id array Clientes que compraram determinados produtos.
    q string Busca por nome, e-mail, razão social, cpf ou cnpj.

    Visualizar cliente

    GET https://api.dooki.com.br/v2/{alias}/customers/{id}

    Atualizar cliente

    PUT https://api.dooki.com.br/v2/{alias}/customers/{id}

    Excluir cliente

    DELETE https://api.dooki.com.br/v2/{alias}/customers/{id}

    Listar filtros de busca dos clientes

    GET https://api.dooki.com.br/v2/{alias}/customers/filters

    Listar carrinhos abandonados de um cliente

    GET https://api.dooki.com.br/v2/{alias}/customers/{id}/carts

    Exportar clientes

    GET https://api.dooki.com.br/v2/{alias}/customers/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Exportar clientes para um determinado serviço

    GET https://api.dooki.com.br/v2/{alias}/customers/export/{service}

    Serviços disponíveis: mailchimp, mailee e rdstation

    Parâmetro Descrição
    queue_id ID da fila que está processando a exportação.
    total Número de registros a serem exportados.

    Response ao exportar os clientes

    {
        "queue_id": 53,
        "total": 133,
    }
    

    Filtros personalizados para clientes

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    state_uf string UF do estado do cliente. Exemplo: SP, MG, RJ...
    total_orders int Número de pedidos.
    q string Busca pelo nome ou e-mail do cliente.

    Exemplo:

    GET https://api.dooki.com.br/v2/{alias}/customers?state_uf=SP

    Endereços

    Listar endereços de um cliente

    GET https://api.dooki.com.br/v2/{alias}/customers/{customerId}/addresses

    Request

    {
        "receiver": "John Snowww",
        "zip_code": "00000000",
        "street": "Street Name",
        "number": "00",
        "neighborhood": "Neighborhood",
        "complement": "Complement",
        "city": "City",
        "uf": "SP"
    }
    

    Response

    {
        "data": {
            "id": 55936,
            "receiver": "John Snowww",
            "zip_code": "00000000",
            "street": "Street Name",
            "number": "00",
            "neighborhood": "Neighborhood",
            "complement": null,
            "city": "City",
            "uf": "SP",
            "full_address": "Street Name, 00 - Neighborhood"
        }
    }
    

    Criar endereço

    POST https://api.dooki.com.br/v2/{alias}/customers/{customerId}/addresses

    Parâmetro Tipo Obrigatório Descrição
    receiver string Sim Nome de quem receberá a entrega.
    zip_code string Sim CEP do endereço.
    street string Sim Nome da rua do endereço.
    number string Sim Número do endereço.
    neighborhood string Sim Bairro do endereço.
    complement string Não Complemento do endereço.
    city string Sim Nome da cidade.
    uf string Sim UF do estado.

    Visualizar endereço

    GET https://api.dooki.com.br/v2/{alias}/customers/{customerId}/addresses/{id}

    Atualizar endereço

    PUT https://api.dooki.com.br/v2/{alias}/customers/{customerId}/addresses/{id}

    Excluir valor de filtro

    DELETE https://api.dooki.com.br/v2/{alias}/customers/{customerId}/addresses/{id}

    Clusters

    Clusters são grupos de clientes com condições comerciais flexíveis, como preço de produto, frete e forma de entrega.

    Listar clusters

    GET https://api.dooki.com.br/v2/{alias}/customers/clusters

    Request

    {
        "name": "Sócios",  
        "active": true,
        "person_type": "f",
        "attach_on_signup": true,
        "min_order_value": "200",
        "base_price_percent": "17",
        "payments_ids": [1,2,3],
        "carriers_ids": [1,5,8], 
        "shipping_rules" : [
            {
                "country": "BR",
                "zipcode_min": 14940000,
                "zipcode_max": 15000000,
                "min_order_value": "300",
                "shipment_discount_percent": "13"
            }
        ]
    
    }
    

    Response

    {
        "data": {
            "id": 9,
            "name": "Sócios",
            "active": true,
            "attach_on_signup": null,
            "person_type": "f",
            "min_order_value": "200",
            "base_price_percent": "17",
        }
    }
    

    Criar cluster

    POST https://api.dooki.com.br/v2/{alias}/customers/clusters

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do cluster.
    active boolean Não Status do cluster.
    person_type string Sim Tipo de pessoa ('f' para física e 'j' para jurídica).
    attach_on_signup boolean Não Associar automaticamente um cliente ao cluster.
    min_order_value float Sim Valor mínimo para compra
    base_price_percent float Sim Valor base de desconto.
    shipping_rules array Não Regras de entrega.
    country string Sim Código do país seguindo a padronização (ISO 3166-2).
    zipcode_min string Sim área minima do CEP para aplicar a regra.
    zipcode_max string Sim área máxima do CEP para aplicar a regra.
    min_order_value string Sim Valor mínimo para compra.
    shipment_discount_percent string Sim Valor base de desconto para entrega.
    payments_ids array Não IDS das formas de pagamento que serão aplicados os descontos.
    carriers_ids array Não IDS das formas de entregas que serão aplicados ao grupo de clientes.

    Visualizar cluster

    GET https://api.dooki.com.br/v2/{alias}/customers/clusters/{id}

    Atualizar cluster

    PUT https://api.dooki.com.br/v2/{alias}/customers/clusters/{id}

    Visualizar cliente associados a um cluster

    GET https://api.dooki.com.br/v2/{alias}/customers/clusters/{id}/customers

    Associar cliente a um cluster

    PUT https://api.dooki.com.br/v2/{alias}/customers/clusters/{id}/customers

    Remover um cliente de um cluster

    DELETE https://api.dooki.com.br/v2/{alias}/customers/clusters/{id}/customers

    Você deverá enviar um json com os IDS dos clientes que deseja associar ou excluir.

    Incluir ou excluir clientes de uma categoria

    {
        "customers_ids": [1, 2, 3, 4, 5]
    }
    

    Regras de frete dos clusters

    Listar regras de frete

    GET https://api.dooki.com.br/v2/{alias}/customers/clusters/{cluster_id}/shipping-rules

    Request

    {
        "cluster_id": 9,
        "country": "BR",
        "zipcode_min": 14940000,
        "zipcode_max": 15000000,
        "min_order_value": "300",
        "shipment_percent": "13"
    }
    

    Response

    {
        "data": {
            "id": 2,
            "cluster_id": 9,
            "country": "BR",
            "zipcode_min": 14940000,
            "zipcode_max": 15000000,
            "min_order_value": "300.00",
            "shipment_percent": 13,
        }
    }
    

    Criar regra de frete

    POST https://api.dooki.com.br/v2/{alias}/customers/clusters/{cluster_id}/shipping-rules

    Parâmetro Tipo Obrigatório Descrição
    cluster_id int Sim Id do cluster.
    country string Sim Código do país seguindo a padronização (ISO 3166-2).
    zipcode_min string Sim área minima do CEP para aplicar a regra.
    zipcode_max string Sim área máxima do CEP para aplicar a regra.
    min_order_value float Sim Valor mínimo para compra.
    shipment_percent string Sim Valor base de desconto para entrega.

    Visualizar regra de frete

    GET https://api.dooki.com.br/v2/{alias}/customers/clusters/{cluster_id}/shipping-rules/{id}

    Atualizar regra de frete

    PUT https://api.dooki.com.br/v2/{alias}/customers/clusters/{cluster_id}/shipping-rules/{id}

    Leads

    Listar leads

    GET https://api.dooki.com.br/v2/{alias}/leads

    Request

    {
        "name": "Lead Name",
        "email": "lead@email.com",
        "birthday": "2017-05-05",
        "city": "São Paulo",
        "state": "SP",
        "genre": "m",
        "params": {
            "foo": "Bar",
            "param2": "Param2Value"
        },
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "name": "Lead Name",
                "email": "lead@email.com",
                "birthday": "2017-05-05",
                "city": "São Paulo",
                "state": "SP",
                "genre": "m",
                "params": {
                    "foo": "Bar",
                    "param2": "Param2Value"
                },
            },
        ]
    }
    

    Criar lead

    POST https://api.dooki.com.br/v2/{alias}/leads

    Os leads serão sincronizados com os serviços ativos que o lojista possui integração, por exemplo: MailChimp, RD Station etc.

    Parâmetro Tipo Obrigatório Descrição
    name string Não Nome do lead.
    email string Sim E-mail do lead.
    birthday date Não Data de aniversário do lead. Formato: yyyy-mm-dd.
    city string Não Cidade do lead.
    state string Não Estado do lead.
    genre string Não Sexo do lead. Valores aceitos: m ou f.
    params array Não Parâmetros personalizados de acordo com sua necessidade.

    Visualizar lead

    GET https://api.dooki.com.br/v2/{alias}/leads/{id}

    Atualizar lead

    PUT https://api.dooki.com.br/v2/{alias}/leads/{id}

    Excluir lead

    DELETE https://api.dooki.com.br/v2/{alias}/leads/{id}

    Listar filtros de busca

    GET https://api.dooki.com.br/v2/{alias}/leads/filters

    Exportar leads

    GET https://api.dooki.com.br/v2/{alias}/leads/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Exportar leads para um determinado serviço

    GET https://api.dooki.com.br/v2/{alias}/leads/export/{service}

    Serviços disponíveis: mailchimp, mailee e rdstation

    Parâmetro Descrição
    queue_id ID da fila que está processando a exportação.
    total Número de registros a serem exportados.
    resource_link URL para consultar o status da fila.

    Response ao exportar os leads

    {
        "queue_id": 53,
        "total": 133,
        "resource_link": "https://api.dooki.com.br/v2/{alias}/queues/53",
    }
    

    Queues (filas)

    Alguns processos como exportação e importação de dados são processados em fila. Através dessa API, você consegue consultar o status de cada fila e capturar os logs de sucesso e erros que foram gerados.

    Listar filas

    GET https://api.dooki.com.br/v2/{alias}/queues

    Request

    {
        "token": "ecd73150-e747-11e7-9221-0361c8d4d388",
        "total_sent": 5,
        "total_processed": 5,
        "title": "Importing products",
        "redirect_url": "http://site.com",
        "finished_at": "2017-04-03 00:00:00"
    }
    

    Response

    {
        "data": {
            "id": 385,
            "token": "ecd73150-e747-11e7-9221-0361c8d4d388",
            "total_sent": 5,
            "total_processed": 5,
            "title": "Importing products",
            "redirect_url": "http://site.com",
            "finished_at": "2017-04-03 00:00:00"
        }
    }
    

    Criar fila

    POST https://api.dooki.com.br/v2/{alias}/queues

    Parâmetro Tipo Obrigatório Descrição
    token string Sim Token identificador.
    total_sent int Sim Número de registros enviados.
    total_processed int Sim Número de registros processados.
    title string Sim Título da fila.
    redirect_url string Não URL de redirecionamento do recurso processado.
    finished_at datetime Não Data e horário de término da fila.

    Visualizar fila

    GET https://api.dooki.com.br/v2/{alias}/queues/{id}

    Atualizar fila

    PUT https://api.dooki.com.br/v2/{alias}/queues/{id}

    Excluir fila

    DELETE https://api.dooki.com.br/v2/{alias}/queues/{id}

    Listar logs de uma fila

    GET https://api.dooki.com.br/v2/{alias}/queues/{id}/logs

    Response dos logs

    {
        "data": [
            {
                "id": 77,
                "success": true,
                "error": true,
                "line": "1",
                "message": [
                    "SKU criado"
                ]
            },
            {
                "id": 78,
                "success": true,
                "error": true,
                "line": "2",
                "message": [
                    "SKU criado"
                ]
            }
        ]
    }
    

    Marketing

    Banners

    Listar banners

    GET https://api.dooki.com.br/v2/{alias}/marketing/banners

    Request

    {
        "active": true,
        "home": true,
        "name": "Banner test",
        "link": "http://link.com",
        "image_url": "https://image-url.com/image.jpg",
        "start_at": "2017-05-06 00:00:00",
        "end_at": "2017-05-06 00:00:00",
        "categories_ids": [1, 2, 3],
        "collections_ids": [1, 2, 3],
        "promotions_ids": [1, 2, 3]
    }
    

    Response

    {
        "data": {
            "id": 41,
            "active": true,
            "home": true,
            "name": "Banner test",
            "slug": "banner-test",
            "image_url": "https://image-url.com/image.jpg",
            "link": "http://link.com",
            "expired": true,
            "start_at": {
                "date": "2014-06-03 23:57:00.000000",
                "timezone_type": 3,
                "timezone": "America/Sao_Paulo"
            },
            "end_at": {
                "date": "2020-06-03 23:57:00.000000",
                "timezone_type": 3,
                "timezone": "America/Sao_Paulo"
            },
        }
    }
    

    Criar banner

    POST https://api.dooki.com.br/v2/{alias}/marketing/banners

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status do banner.
    home boolean Sim Marca se o banner aparecerá no slide principal da home.
    name string Sim Nome do banner.
    image_url string Sim URL do arquivo do banner.
    link string Não Link do banner.
    start_at datetime Sim Início da validade do banner. Formato: yyyy-mm-dd H:i:s.
    end_at datetime Sim Fim da validade do banner. Formato: yyyy-mm-dd H:i:s.
    collections_ids array Não Lista de coleções que o banner estará presente.
    categories_ids array Não Lista de categorias que o banner estará presente.
    promotions array Não Lista de promoções que o banner estará presente.
    product_id int Não ID do produto, caso o banner seja composto por um produto.
    stopwatch string Não Tipo de cronômetro. Valores aceitos: null, daily ou expiration_date

    Ordenar banners

    PUT https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}

    Request de ordenação de banners

    {
        "sorting": [
            {
                "group": "categories",
                "resource_id": 1,
                "orders": [1234, 123, 12334]
            },
            {
                "group": "promotions",
                "resource_id": 5,
                "orders": [1234, 123, 12334]
            }
        ]
    }
    
    Parâmetro Tipo Obrigatório Descrição
    sorting array Sim Status do banner.
    sorting[group] string Sim Nome do grupo em que o banner está. Valores aceitos: collections, categories, promotions, home
    sorting[resource_id] int Sim ID do recurso que o banner pertence. Exemplo: se o banner estiver em uma categoria com ID 5, deverá ser passado resource_id:5
    sorting[orders] array Sim IDs dos banners já nas posições ordenadas.

    Visualizar banner

    GET https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}

    Atualizar banner

    PUT https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}

    Excluir banner

    DELETE https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}

    Lista de promoções que o banner pertence

    GET https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}/promotions

    Lista de coleções que o banner pertence

    GET https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}/collections

    Lista de categorias que o banner pertence

    GET https://api.dooki.com.br/v2/{alias}/marketing/banners/{id}/categories

    Promoções

    Cupons de desconto

    Listar cupons

    GET https://api.dooki.com.br/v2/{alias}/pricing/promocodes

    Request

    {
        "code": "TEST",
        "customer_id": null,
        "active": true,
        "discount_type": "p",
        "newsletter": false,
        "ignore_promotion_products": false,
        "free_shipment": false,
        "abandoned_cart": false,
        "once_per_customer": false,
        "for_the_price_of": false,
        "accumulate": false,
        "min_value": 99.99,
        "value": 10,
        "price_products": 0,
        "quantity": 100000,
        "start_at": "2017-09-09 00:00:00",
        "end_at": "2017-09-13 00:00:00",
        "payments_ids": [1, 2, 3, 4],
        "restrictions": {
            "include": {
                "products_ids": [1,2,3,4,5,6],
                "brands_ids": [],
                "collections_ids": [],
                "categories_ids": []
            },
            "exclude": {
                "products_ids": [10,12],
                "brands_ids": [],
                "collections_ids": [],
                "categories_ids": []
            },
        }
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "code": "TEST",
                "customer_id": null,
                "active": true,
                "discount_type": "p",
                "newsletter": false,
                "ignore_promotion_products": false,
                "free_shipment": false,
                "abandoned_cart": false,
                "once_per_customer": false,
                "for_the_price_of": false,
                "accumulate": false,
                "min_value": 99.99,
                "value": 10,
                "price_products": 0,
                "quantity": 100000,
                "used": 22,
                "use_percent": 0.02,
                "expired": true,
                "total_customers_used": 22,
                "start_at": {
                    "date": "2016-05-09 09:51:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "end_at": {
                    "date": "2016-12-31 09:51:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "customer": {
                    "data": []
                },
                "payments": {
                    "data": []
                },
                "restrictions": {
                    "include": {
                        "products_ids": [1,2,3,4,5,6],
                        "brands_ids": [],
                        "collections_ids": [],
                        "categories_ids": []
                    },
                    "exclude": {
                        "products_ids": [10,12],
                        "brands_ids": [],
                        "collections_ids": [],
                        "categories_ids": []
                    },
                    "include_ids": [1,2,3,4,5],
                    "exclude_ids": [1,2,3,4,5],
                }
            },
        ]
    }
    

    Criar cupom

    POST https://api.dooki.com.br/v2/{alias}/pricing/promocodes

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status do cupom.
    customer_id int Não ID do cliente. Utilizado caso o cupom seja de uso exclusivo.
    for_the_price_of boolean Sim Define se o cupom modificará preços de produtos.
    accumulate boolean Sim Define se o desconto será acumulado com outros.
    once_per_customer boolean Sim Define se o cupom é de uso único por cliente.
    abandoned_cart boolean Sim Define se o cupom será enviado em e-mails de carrinhos abandonados.
    newsletter boolean Sim Define se o cupom será enviado aos leads cadastrados no campo de newsletter.
    free_shipment boolean Sim Define se o cupom aplicará frete grátis na compra.
    ignore_promotion_products boolean Sim Define se o cupom ignorará produtos em promoção na regra do desconto.
    discount_type string Sim Tipo de desconto do cupom p para porcentagem e v para valor.
    value float Sim Valor de desconto do cupom.
    code string Sim Código do cupom.
    quantity int Sim Quantidade disponível do cupom.
    price_products float Não Novo preço dos produtos cupom. Se for_the_price_of for true.
    product_quantity int Não Quantidade mínima para os preços dos produtos serem modificados. Se for_the_price_of for true.
    min_value float Sim Valor mínimo da compra para que o desconto seja aplicado.
    shipment_percent float Não Porcentagem de desconto no frete.
    start_at datetime Sim Início da validade do cupom. Formato: yyyy-mm-dd H:i:s.
    end_at datetime Sim Fim da validade do cupom. Formato: yyyy-mm-dd H:i:s.
    payments_ids array Não Lista de pagamentos que o desconto será aplicado.
    banners_ids array Não Lista de banners da promoção.
    restrictions array Não Regras de restrições.

    Visualizar cupom

    GET https://api.dooki.com.br/v2/{alias}/pricing/promocodes/{id}

    Atualizar cupom

    PUT https://api.dooki.com.br/v2/{alias}/pricing/promocodes/{id}

    Excluir cupom

    DELETE https://api.dooki.com.br/v2/{alias}/pricing/promocodes/{id}

    Lista de clientes que usaram o cupom

    GET https://api.dooki.com.br/v2/{alias}/pricing/promocodes/{id}/customers

    Frete grátis

    Listar regras de frete grátis

    GET https://api.dooki.com.br/v2/{alias}/pricing/free-shipment

    Request

    {
        "rules": [
            {
                "uf": "SP",
                "min": 199,
                "shipment_service_id": 6,
                "service_name": "pac"
            },
            {
                "uf": "MG",
                "min": 199,
                "shipment_service_id": 6,
                "service_name": "sedex"
            }
        ]
    }
    

    Response

    {
        "data": [
            {
                "id": 2,
                "shipment_service_id": 6,
                "service_name": "sedex",
                "min": 199,
                "uf": "MG"
            },
            {
                "id": 1,
                "shipment_service_id": 6,
                "service_name": "pac",
                "min": 199,
                "uf": "SP"
            }
        ],
        "excluded_brands_ids": [],
        "excluded_categories_ids": [],
        "excluded_products_ids": [
            31055
        ],
        // Este objeto retorna todos os IDS dos produtos reunidos.
        "excluded_products_ids_merged": [
            31055
        ],
    }
    

    Criar ou atualizar regras de frete grátis

    POST https://api.dooki.com.br/v2/{alias}/pricing/free-shipment

    Parâmetro Tipo Obrigatório Descrição
    rules array Sim Array com as regras de cada estado.
    rules[shipment_service_id] int Sim ID do serviço de entrega.
    rules[service_name] string Não Nome do serviço de entrega.
    rules[min] float Sim Valor mínimo da compra.
    rules[uf] string Sim Sigla do estado.
    exclude_brands_ids array Não IDS de marcas que não entram na regra de frete grátis.
    exclude_categories_ids array Não IDS de categorias que não entram na regra de frete grátis.
    exclude_products_ids array Não IDS de produtos que não entram na regra de frete grátis.

    Desconto progressivo

    Listar descontos progressivos

    GET https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts

    Request

    {
        "active": true,
        "min_value": 0,
        "max_value": 100,
        "start_at": "2017-07-02 10:00",
        "end_at": "2018-08-17 12:00",
        "percent": 5
    }
    

    Response

    {
        "data": {
            "id": 1,
            "active": true,
            "min_value": 0,
            "max_value": 100,
            "start_at": "2017-07-02 10:00",
            "end_at": "2018-08-17 12:00",
            "percent": 5
        }
    }
    

    Criar desconto progressivo

    POST https://api.dooki.com.br/v2/{alias}/pricing/progressive-discounts

    Parâmetro Tipo Obrigatório Descrição
    active bool Não Se o desconto estará ativo ou não
    min_value float Sim Valor mínimo do intervalo.
    max_value float Sim Valor máximo do intervalo.
    percent float Sim Porcentagem de desconto.
    start_at datetime Sim Data e horário de início.
    end_at datetime Sim Data e horário de término.
    restrictions array Não Regras de restrições

    Promoções de produtos

    Listar promoções

    GET https://api.dooki.com.br/v2/{alias}/pricing/promotions

    Request

    {
        "active": true,
        "all_products": false,
        "utm_only": true,
        "utm_source": "google",
        "utm_campaign": "adwords",
        "name": "Test",
        "start_at": "2017-08-08 00:00:00",
        "end_at": "2017-08-08 00:00:00",
        "banners_ids": [1, 2, 3, 4],
    
    }
    

    Response

    {
        "data": [
            {
                "active": true,
                "all_products": false,
                "utm_only": true,
                "utm_source": "google",
                "utm_campaign": "adwords",
                "name": "Test",
                "start_at": "2017-08-08 00:00:00",
                "end_at": "2017-08-08 00:00:00",
                "expired": true,
                "url": "https://www.domain.com/promocoes/test",
                "start_at": {
                    "date": "2016-05-09 09:51:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "end_at": {
                    "date": "2016-12-31 09:51:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "banners": {
                    "data": []
                }
            },
        ]
    }
    

    Criar promoção

    POST https://api.dooki.com.br/v2/{alias}/pricing/promotions

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status da promoção.
    all_products boolean Sim Marca se a promoção é para todos os produtos da loja.
    utm_only boolean Sim Marca se a promoção é válida apenas por tags UTM.
    name string Sim Nome da promoção.
    slug string Não Slug da promoção.
    value float Sim Porcentagem de desconto.
    utm_source string Não Origem de acesso do cliente
    utm_campaign string Não Campanha de origem de acesso
    start_at datetime Sim Início da validade do cupom. Formato: yyyy-mm-dd H:i:s.
    end_at datetime Sim Fim da validade do cupom. Formato: yyyy-mm-dd H:i:s.
    restrictions array Não Regras de restrições.
    banners_ids array Não Lista de banners que a página de promoção terá.

    Visualizar promoção

    GET https://api.dooki.com.br/v2/{alias}/pricing/promotions/{id}

    Atualizar promoção

    PUT https://api.dooki.com.br/v2/{alias}/pricing/promotions/{id}

    Excluir promoção

    DELETE https://api.dooki.com.br/v2/{alias}/pricing/promotions/{id}

    Lista de produtos da promoção

    GET https://api.dooki.com.br/v2/{alias}/pricing/promotions/{id}/products

    Combos (compre junto)

    Listar combos

    GET https://api.dooki.com.br/v2/{alias}/pricing/combos

    Request

    {
        "active": true,
        "discount_type": "p",
        "name": "Combo test",
        "start_at": "2017-08-08 00:00:00",
        "end_at": "2017-08-08 00:00:00",
        "discount_value": 10,
        "products_ids": [1, 2, 3, 4],
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "active": true,
                "type_increment_value": "p",
                "discount_value": 10,
                "name": "Combo test",
                "description": null,
                "expired": true,
                "total_products": 4,
                "start_at": {
                    "date": "2016-05-09 09:51:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "end_at": {
                    "date": "2016-12-31 09:51:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "products": {
                    "data": []
                },
            },
        ]
    }
    

    Criar combo

    POST https://api.dooki.com.br/v2/{alias}/pricing/combos

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status do compre junto.
    name string Sim Nome do compre junto.
    description string Não Descrição do compre junto.
    discount_type string Sim Tipo de desconto. p para porcentagem e v para valor.
    discount_value float Sim Valor do desconto.
    products_ids array Sim Lista de produtos que o desconto será aplicado.

    Visualizar combo

    GET https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}

    Atualizar combo

    PUT https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}

    Excluir combo

    DELETE https://api.dooki.com.br/v2/{alias}/pricing/combos/{id}

    Logística

    Países

    Listar países

    GET https://api.dooki.com.br/v2/{alias}/logistics/countries

    Response

    [
        {
            "code": "BR",
            "name": "Brasil"
        },
    ]
    

    Armazéns

    Listar armazéns

    GET https://api.dooki.com.br/v2/{alias}/logistics/warehouses

    Request

    {
        "country_code": "BR",
        "name": "Doca 1",
        "zipcode": "14940000",
        "street": "Street Test",
        "number": 200,
        "neighborhood": "Centro",
        "city": "Ibitinga",
        "state": "SP"
    }
    

    Response

    {
        "data": {
            "id": 1,
            "country_code": "BR",
            "name": "Doca 1",
            "zipcode": "14940000",
            "street": "Street Test",
            "number": 200,
            "complement": null,
            "neighborhood": "Centro",
            "city": "Ibitinga",
            "state": "SP",
        },
    }
    

    Criar armazéns

    POST https://api.dooki.com.br/v2/{alias}/logistics/warehouses

    Parâmetro Tipo Obrigatório Descrição
    country_code string Sim Código do país.
    name string Sim Nome do armazém.
    zipcode string Sim CEP do armazém.
    street string Sim Rua do armazém.
    number string Sim Número do armazém.
    complement string Não Complemento do armazém.
    neighborhood string Sim Bairro do armazém.
    city string Sim Cidade do armazém.
    state string Sim Estado do armazém.

    Visualizar armazém

    GET https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}

    Atualizar armazém

    PUT https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}

    Excluir armazém

    DELETE https://api.dooki.com.br/v2/{alias}/logistics/warehouses/{id}

    Estoques

    O lojista pode ter um cadastro de múltiplos estoques onde ele pode associar posteriormente os SKUS com suas respectivas quantidades. Um exemplo prático é permitir que ele consiga trabalhar com estoques de fornecedores externos com diferentes prazos de entrega.

    Caso um SKU estiver relacionado a um estoque, a disponibilidade final de entrega será sempre a maior.

    Listar estoques

    GET https://api.dooki.com.br/v2/{alias}/logistics/stocks

    Request

    {
        "name": "Estoque pronta entrega",
        "delivery_days": 1,
        "warehouse_id": 4
    }
    

    Response

    {
        "data": {
            "id": 3,
            "warehouse_id": 4,
            "name": "Estoque pronta entrega",
            "delivery_days": 1,
            "warehouse": {
                "data": {
                    "id": 4,
                    "country_code": "BR",
                    "name": "Doca 1",
                    "zipcode": 14940000,
                    "street": "Street Test",
                    "number": "200",
                    "complement": null,
                    "neighborhood": "Centro",
                    "city": "Ibitinga",
                    "state": "SP",
                }
            }
        },
    }
    

    Criar estoque

    POST https://api.dooki.com.br/v2/{alias}/logistics/stocks

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do estoque.
    delivery_days int Sim Dias de entrega do estoque.
    warehouse_id int Não ID do armazém.

    Visualizar estoque

    GET https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}

    Atualizar estoque

    PUT https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}

    Excluir estoque

    DELETE https://api.dooki.com.br/v2/{alias}/logistics/stocks/{id}

    Embalagens

    Listar embalagens

    GET https://api.dooki.com.br/v2/{alias}/logistics/boxes

    Request

    {
        "name": "Embalagem Test",
        "outer_width": 12,
        "outer_length": 12,
        "outer_depth": 12,
        "empty_weight": 12,
        "inner_width": 12,
        "inner_length": 12,
        "inner_depth": 12,
        "max_weight": 12
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "name": "Embalagem Test",
                "outer_width": 12,
                "outer_length": 12,
                "outer_depth": 12,
                "inner_width": 12,
                "inner_length": 12,
                "inner_depth": 12,
                "empty_weight": 12,
                "max_weigth": 0,
            },
        ]
    }
    

    Criar embalagem

    POST https://api.dooki.com.br/v2/{alias}/logistics/boxes

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome da embalagem.
    outer_width float Sim Largura externa da embalagem (em cm).
    outer_length float Sim Comprimento externo da embalagem (em cm).
    outer_depth float Sim Altura externa da embalagem (em cm).
    inner_width float Sim Largura interna da embalagem (em cm).
    inner_length float Sim Comprimento interno da embalagem (em cm).
    inner_depth float Sim Altura interna da embalagem (em cm).
    max_weight float Sim Peso máximo da embalagem (em kg).
    empty_weight float Sim Peso da embalagem vazia (em kg).

    Visualizar embalagem

    GET https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}

    Atualizar embalagem

    PUT https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}

    Excluir embalagem

    DELETE https://api.dooki.com.br/v2/{alias}/logistics/boxes/{id}

    Transportadoras

    Listar transportadoras

    GET https://api.dooki.com.br/v2/{alias}/logistics/carriers

    Request

    {
        "active": true,
        "name": "PAC",
        "only_backup_use": false,
        "origin_zipcode": "14940000",
        "increment_percent": 0,
        "max_weight": 100,
        "active_cubic_weight": false,
        "cubic_weight_factor": 0,
        "min_cubic_weight": 10,
        "weight_param": "real",
        "weight_condition": ">"
    }
    

    Response

    {
        "data": {
            "id": 1,
            "active": true,
            "name": "PAC",
            "only_backup_use": false,
            "origin_zipcode": "14940000",
            "increment_percent": 0,
            "max_weight": 100,
            "active_cubic_weight": false,
            "cubic_weight_factor": 0,
            "min_cubic_weight": 10,
            "weight_param": "real",
            "weight_condition": ">"
        },
    }
    

    Criar transportadora

    POST https://api.dooki.com.br/v2/{alias}/logistics/carriers

    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Marca se a transportadora está ativa ou não.
    name string Sim Nome da transportadora.
    only_backup_use boolean Sim Marca se a transportadora será utilizada somente para backup em caso de falha de algum webservice.
    origin_zipcode string Sim CEP de origem.
    increment_percent float Sim Porcentagem adicional no preço de entrega. Valor padrão: 0
    max_weight float Sim Peso máximo que a transportadora suporta (em kg).
    active_cubic_weight boolean Sim Marca se será considerado o peso cúbico.
    cubic_weight_factor float Sim Fator de cubagem.
    min_cubic_weight float Sim Peso real mínimo para que o peso cúbico seja considerado.
    weight_param string Sim Marca qual o peso será considerado como parâmetro. Valores aceitos: real ou cubic
    weight_condition string Sim Condicional que compara os dois tipos de pesos. Valores aceitos: > ou <

    Visualizar transportadora

    GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}

    Atualizar transportadora

    PUT https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}

    Excluir transportadora

    DELETE https://api.dooki.com.br/v2/{alias}/logistics/carriers/{id}

    Preços de frete (planilhas)

    Request

    {
        "id": 117936,
        "carrier_id": 42,
        "description": "ACRE - CAPITAL",
        "zipcode_min": 69900000,
        "zipcode_max": 69920999,
        "max_weight": 1,
        "min_weight": 0,
        "price": 66.51,
        "extra_weight_price": 0,
        "delivery_days": 8,
        "increment_percent": 10
    }
    

    Response

    {
        "data": [
            {
                "id": 117936,
                "carrier_id": 42,
                "description": "ACRE - CAPITAL",
                "zipcode_min": 69900000,
                "zipcode_max": 69920999,
                "max_weight": 1,
                "min_weight": 0,
                "price": 66.51,
                "extra_weight_price": 0,
                "delivery_days": 8,
                "increment_percent": 10
            },
            {
                "id": 117937,
                "carrier_id": 42,
                "description": "ACRE - CAPITAL",
                "zipcode_min": 69900000,
                "zipcode_max": 69920999,
                "max_weight": 2,
                "min_weight": 1.00,
                "price": 86.62,
                "extra_weight_price": 0,
                "delivery_days": 8,
                "increment_percent": 10
            },
            {
                "id": 117938,
                "carrier_id": 42,
                "description": "ACRE - CAPITAL",
                "zipcode_min": 69900000,
                "zipcode_max": 69920999,
                "max_weight": 3,
                "min_weight": 2.00,
                "price": 107.54,
                "extra_weight_price": 0,
                "delivery_days": 8,
                "increment_percent": 10
            },
        ]
    }
    

    Request para importar faixas de CEP

    {
        "file_url": "http://yoursite.com/files/shipping-spreadsheet.xls"
    }
    

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    zipcode string Faz o filtro de registros de acordo com o CEP informado.

    Listar preços de uma transportadora

    GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices

    Criar preço para uma transportadora

    POST https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices

    Parâmetro Tipo Obrigatório Descrição
    carrier_id int Sim ID da transportadora.
    description string Sim Descrição da faixa de CEP.
    zipcode_min string Sim CEP inicial.
    zipcode_max string Sim CEP final.
    price float Sim Preço do frete.
    delivery_days int Sim Dias para entrega.
    extra_weight_price float Sim Valor extra por kilo adicional.
    increment_percent float Não Porcentagem adicional no valor do frete.

    Visualizar preço

    GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}

    Atualizar preço

    PUT https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}

    Excluir preço

    DELETE https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/{id}

    Exportar preços

    GET https://api.dooki.com.br/v2/{alias}/logistics/carriers/{carrierId}/prices/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Importar preços

    POST https://api.dooki.com.br/v2/{alias}/logistics/services/{carrierId}/prices/import

    Para importar os faixas de CEP, é necessário o envio do parâmetro file_url com a URL do arquivo. Extensões de arquivos aceitas: .xls.

    Consulta de CEP

    Response de consulta de CEP

    {
        "data": {
            "zipcode": "01505010",
            "street": "Rua Anita Ferraz",
            "neighborhood": "Sé",
            "city": "São Paulo",
            "uf": "SP",
            "source": "database",
            "city_id": 173
        }
    }
    

    Consultar CEP

    GET https://api.dooki.com.br/v2/{alias}/logistics/zipcode/{zipcode}

    Calcular frete

    Request

    {
        "zipcode": "14940000",
        "total": 430.00,
        "origin": "product_page",
        "utm_email": "john@snow.com",
        "skus_ids": [1233, 2123, 3423, 41233, 54423],
        "quantities": [1, 1, 1, 2, 2]
    }
    

    Response de cálculo de frete

    {
        "data": {
            "INTELIPOST_CORREIOS_PAC_1": {
                "id": "INTELIPOST_CORREIOS_PAC_1",
                "service_id": 1,
                "service_name": "Correios PAC",
                "service_display_name": "Correios PAC",
                "service_type_id": 1,
                "service_type_name": "Correios",
                "price": 0,
                "delivery_time": 18,
                "quote_id": 3517956284,
                "gateway": "intelipost",
                "zipcode": "14940000",
                "street": null,
                "neighborhood": null,
                "city": "Ibitinga",
                "uf": "SP",
                "source": "database",
                "city_id": 3,
                "formated_delivery_time": "até 18 dias úteis",
                "formated_price": "Grátis",
                "free_shipment": true,
                "real_price": 0
            },
            "INTELIPOST_CORREIOS_SEDEX_2": {
                "id": "INTELIPOST_CORREIOS_SEDEX_2",
                "service_id": 2,
                "service_name": "Correios Sedex",
                "service_display_name": "Correios Sedex",
                "service_type_id": 2,
                "service_type_name": "Correios",
                "price": 24.32,
                "delivery_time": 13,
                "quote_id": 3517956284,
                "gateway": "intelipost",
                "zipcode": "14940000",
                "street": null,
                "neighborhood": null,
                "city": "Ibitinga",
                "uf": "SP",
                "source": "database",
                "city_id": 3,
                "formated_delivery_time": "até 13 dias úteis",
                "formated_price": "R$ 24,32",
                "free_shipment": false,
                "real_price": 24.32
            },
        }
    }
    

    Calcular frete

    POST https://api.dooki.com.br/v2/{alias}/logistics/shipping-costs

    Parâmetro Tipo Obrigatório Descrição
    zipcode string Sim CEP de entrega.
    total float Sim Valor total da compra.
    origin string Não Origem da consulta. Exemplo: product_page, cart
    utm_email string Não E-mail do cliente que está consultando o frete.
    skus_ids array Sim IDs dos SKUS.
    quantities array Sim Quantidades dos SKUS (precisa seguir a ordem que os skus_ids foram declarados)

    Conteúdo

    Páginas

    Listar páginas

    GET https://api.dooki.com.br/v2/{alias}/content/pages

    Request

    {
        "name": "page test",
        "slug": "page-test",
        "active": true,
        "content": "content page",
        "seo_keywords": "keywords, for, seo",
        "seo_description": "meta tag description",
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "active": true,
                "name": "page test",
                "slug": "page-test",
                "seo_keywords": "keywords, for, seo",
                "seo_description": "meta tag description",
                "url": "https://www.domain.com/pages/page-test",
                "content": {
                    "data": {
                        "content": "content page"
                    }
                }
            },
        ]
    }
    

    Criar página

    POST https://api.dooki.com.br/v2/{alias}/content/pages

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome da página.
    active boolean Sim Status da página.
    content string Sim Conteúdo da página.
    slug string Não Slug da página.
    seo_keywords string Não Meta tag keywords da página.
    seo_description string Não Meta tag description da página.

    Visualizar página

    GET https://api.dooki.com.br/v2/{alias}/content/pages/{id}

    Atualizar página

    PUT https://api.dooki.com.br/v2/{alias}/content/pages/{id}

    Excluir página

    DELETE https://api.dooki.com.br/v2/{alias}/content/pages/{id}

    Redirecionamentos 301

    Listar redirecionamentos

    GET https://api.dooki.com.br/v2/{alias}/content/redirects

    Request

    {
        "url_from": "/old-page",
        "url_to": "/new-page"
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "url_from": "/old-page",
                "url_to": "/new-page"
            },
        ]
    }
    

    Criar redirecionamento

    POST https://api.dooki.com.br/v2/{alias}/content/redirects

    Parâmetro Tipo Obrigatório Descrição
    url_from string Sim URL de origem.
    url_to string Sim URL de destino.

    Visualizar redirecionamento

    GET https://api.dooki.com.br/v2/{alias}/content/redirects/{id}

    Atualizar redirecionamento

    PUT https://api.dooki.com.br/v2/{alias}/content/redirects/{id}

    Excluir redirecionamento

    DELETE https://api.dooki.com.br/v2/{alias}/content/redirects/{id}

    Marketplaces

    Lista de Marketplaces

    Listar Marketplaces

    GET https://api.dooki.com.br/v2/{alias}/marketplaces

    Response

    {
        "data": [
            {
                "id": 1,
                "alias": "mercadolivre",
                "name": "Mercadolivre",
                "auth_type": "oauth2",
                "needs_category_association": true,
                "needs_association": true,
                "active": true,
                "icon_url": "https://github.bubbstore.com/marketplaces/mercadolivre.svg"
            },
            {
                "id": 2,
                "alias": "b2w",
                "name": "B2W",
                "auth_type": "api_key",
                "needs_category_association": false,
                "needs_association": false,
                "active": false,
                "icon_url": "https://github.bubbstore.com/marketplaces/b2w.svg"
            },
            {
                "id": 3,
                "alias": "cnova",
                "name": "CNOVA",
                "auth_type": "api_key",
                "needs_category_association": true,
                "needs_association": true,
                "active": false,
                "icon_url": "https://github.bubbstore.com/marketplaces/cnova.svg"
            }
        ]
    }
    

    Tabela de Marketplaces

    Alias Nome
    mercadolivre Mercado Livre
    b2w B2W
    cnova CNOVA
    magalu Magalu
    madeiramadeira Madeira Madeira
    walmart Walmart
    dafiti Dafiti
    kanui Kanui
    tricae Tricae
    carrefour Carrefour
    mobly Mobly
    amazon Amazon
    zoom Zoom
    ricardoeletro Ricardo Eletro
    colombo Colombo

    Visualizar marketplace

    GET https://api.dooki.com.br/v2/{alias}/marketplaces/{alias}

    Listar categorias dos Marketplaces

    Lista a árvore de categorias definidas pelo marketplace.

    GET https://api.dooki.com.br/v2/{alias}/marketplaces/categories/{marketplace_alias}

    Lista de marketplaces que necessitam de mapeamento das categorias da loja com as do Marketplaces.

    Marketplace Alias
    Mercadolivre mercadolivre
    Madeira Madeira madeiramadeira
    Cnova cnova

    Associar categorias aos Marketplaces

    Alguns Marketplaces trabalham com uma árvore de categorias já definidas. Devido a isso, é necessário realizar o mapeamento das categorias da loja com as do Marketplaces. Para fazer isso, existe um endpoint específico:

    PUT https://api.dooki.com.br/v2/{alias}/marketplaces/categories/associate

    Request

    {
        "category_id": 132,
        "marketplace_id": 2,
        "marketplace_category_id": null,
        "marketplace_category_value": "ML1231223"
    }
    
    Parâmetro Tipo Obrigatório Descrição
    category_id int Sim ID da categoria da loja
    marketplace_id int Sim ID do Marketplace
    marketplace_category_id string Não ID da categoria no Marketplace
    marketplace_category_value string Sim Nome da categoria no Marketplace

    Contas de Marketplaces

    A API possibilida que o lojista gerencie múltiplas contas de um ou mais Marketplaces.

    Listar contas de Marketplaces

    GET https://api.dooki.com.br/v2/{alias}/marketplaces/accounts

    Request

    {
        "marketplace_id": 1,
        "stock_id": 35,
        "auto_sync_catalog": true,
        "name": "Conta Mercado Livre",
        "price_attribute": "price_sale",
        "price_percentage": 0,
        "params": {
            "listing_type_id": "bronze",
            "allow_sku_without_stock": true
        },
    }
    

    Response

    {
        "id": 3,
        "stock_id": 35,
        "active": true,
        "auto_sync_catalog": true,
        "name": "Conta Mercado Livre",
        "marketplace_user_id": "50673958",
        "price_attribute": "price_sale",
        "price_percentage": 0,
        "authorize_url": "https://url.com",
        "params": {
            "listing_type_id": "bronze",
            "allow_sku_without_stock": true
        },
        "auth_params": {
            "access_token": "access_token",
            "expires_in": 1546103272,
            "refresh_token": "refresh_token"
        },
        "marketplace": {
            "data": {
                "id": 1,
                "alias": "mercadolivre",
                "name": "Mercadolivre",
                "auth_type": "oauth2",
                "needs_category_association": true,
                "icon_url": "https://github.bubbstore.com/marketplaces/mercadolivre.svg"
            }
        }
    }
    

    Criar conta de Marketplace

    POST https://api.dooki.com.br/v2/{alias}/marketplaces/accounts

    Parâmetro Tipo Obrigatório Descrição
    active bool Sim Marca se a conta está ativa ou não.
    marketplace_id int Sim ID do Marketplace.
    auto_sync_catalog bool Sim Marca se o catálogo será sincronizado automaticamente.
    name string Sim Nome da conta
    stock_id int Sim ID do estoque que ficará associado a conta.
    price_attribute string Sim Define qual será o preço enviado. Valores aceitos: price_sale ou price_discount
    price_percentage float Sim Define qual a porcentagem aplicada ao preço do produto (pode ser um valor positivo ou negativo)
    params array Não Parâmetros específicos de cada Marketplace

    Atualizar conta de Marketplace

    PUT https://api.dooki.com.br/v2/{alias}/marketplaces/accounts/{id}

    Excluir conta de Marketplace

    DELETE https://api.dooki.com.br/v2/{alias}/marketplaces/accounts/{id}

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    active boolean Filtro de contas ativas e inativas

    Parâmetros de Marketplaces

    Mercado Livre

    Parâmetro Tipo Obrigatório Descrição
    listing_type_id string Sim Tipo de anúncio do Mercado Livre. Valores aceitos: gold_pro, gold_premium, gold_special, gold, silver, bronze, free
    allow_sku_without_stock bool Sim Marca se será permitido enviar SKU sem estoque. Caso sim, a quantidade padrão será 99999

    Atributos

    Alguns Marketplaces exigem que certos produtos possuam alguns atributos. Isso pode variar de acordo com a categoria que o produto pertence.

    Para consultar os atributos requeridos de um produto, basta consultar o seguinte endpoint:

    Listar atributos de um produto no Marketplace

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/marketplaces/attributes

    Request para atualizar atributos de um produto

    {
        "marketplace_id": 1,
        "skus": [
            {
                "id": 1,
                "name": "Tamanho",
                "value_id": 123,
                "value_name": "GG",
                "required": true,
                "catalog_required": true,
                "variation_required": true,
            }
        ]
    }
    

    Atualizar atributos de um produto

    PUT https://api.dooki.com.br/v2/{alias}/catalog/products/{id}/marketplaces/attributes

    Parâmetro Tipo Obrigatório Descrição
    marketplace_id int Sim ID do marketplace
    skus[name] string Sim Nome do atributo
    skus[value_id] string Sim ID do valor do atributo no Marketplace
    skus[value_name] string Sim Nome do valor do atributo no Marketplace
    skus[required] boolean Sim Marca se o atributo é obrigatório
    skus[catalog_required] boolean Sim Marca se o atributo é obrigatório para ser listado no Marketplace
    skus[variation_required] boolean Sim Marca se o atributo é obrigatório para a criação de variações

    Anúncios

    Os anúncios possuem relacionamento direto com os produtos da loja. Um produto pode conter um ou mais anúncios, em diferentes Marketplaces.

    Criar anúncio

    Entendemos que um anúncio no Marketplace é um produto cadastrado no catálogo. Devido a isso, existe um endpoint para exportar um ou mais produtos para uma determinada conta de Marketplace.

    No exemplo abaixo, iremos exportar os produtos com os IDS 123 e 1234 para a conta de Marketplace com ID 4.

    GET https://api.dooki.com.br/v2/{alias}/catalog/products/export/marketplace?id[]=123&id[]=1234&account_id=4

    Também é possível exportar produtos através de um critério, como marca, categoria etc.

    Response de anúncios

    {
        "id": 5,
        "marketplace_id": 1,
        "account_id": 3,
        "account_name": "Conta Mercado Livre",
        "status": "active",
        "external_id": "MLB1160036757",
        "price": 1532.58,
        "url": "http://produto.mercadolivre.com.br",
        "marketplace": {
            "data": {
                "id": 1,
                "alias": "mercadolivre",
                "name": "Mercadolivre",
                "auth_type": "oauth2",
                "needs_category_association": true,
                "icon_url": "https://github.bubbstore.com/marketplaces/mercadolivre.svg"
            }
        }
    }
    

    Listar todos os anúncios

    GET https://api.dooki.com.br/v2/{alias}/marketplaces/ids

    Atualizar um anúncio

    PUT https://api.dooki.com.br/v2/{alias}/marketplaces/ids/{id}

    Parâmetro Tipo Obrigatório Descrição
    status string Não Status do anúncio. Valores aceitos: closed, paused, active
    price float Não Preço do anúncio. Valor mínimo: 6.00
    title string Não Título do anúncio.
    resource_id int Não ID do produto que será vinculado.

    Excluir um anúncio

    DELETE https://api.dooki.com.br/v2/{alias}/marketplaces/ids/{id}

    Importar um anúncio

    POST https://api.dooki.com.br/v2/{alias}/marketplaces/ids/import?account_id={marketplaceAccountId}

    Duplicar um anúncio

    POST https://api.dooki.com.br/v2/{alias}/marketplaces/ids/{id}/duplicate

    Parâmetro Tipo Obrigatório Descrição
    title string Sim Título do anúncio
    price float Sim Preço do anúncio. Valor mínimo: 6.00
    params array Sim Parametros para duplicar o anúncio.
    params[free_shipment] boolean Sim Se o anúncio irá oferecer frete grátis.
    params[increment_shipping_cost] boolean Sim Se o valor do frete será adicionado ao preço do anúncio

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    status String Filtro por status do anúncio (valores aceitos: active, paused, closed)
    marketplace_id Array Filtro por marketplace
    marketplace_account Array Filtro por contas de marketplaces
    synced boolean Filtra os anúncios sincronizados

    Lista de erros

    Response de erros

    {
        "id": 63,
        "message": "Produto não encontrado ao criar a venda. ID da venda: 11111111",
        "read_at": "2019-01-23 08:32:59"
    }
    

    Listar erros

    GET https://api.dooki.com.br/v2/{alias}/marketplaces/errors

    Visualizar um erro

    GET https://api.dooki.com.br/v2/{alias}/marketplaces/errors/{id}

    Marcar um erro como lido

    PUT https://api.dooki.com.br/v2/{alias}/marketplaces/errors/{id}/read

    Excluir um erro

    DELETE https://api.dooki.com.br/v2/{alias}/marketplaces/errors/{id}

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    status string Faz o filtro de erros de acordo com seu status(aceita apenas read e unread)

    Checkout

    Status de pedidos

    Listar status

    GET https://api.dooki.com.br/v2/{alias}/checkout/statuses

    Filtros personalizados

    Parâmetro Tipo Descrição
    orderId int Retorna os status esperado por um pedido.

    Response de status

    {
        "data": [
            {
                "id": 1,
                "alias": "created",
                "name": "Pedido realizado",
                "description": "O pedido foi realizado",
                "email_details": {
                    "data": {
                        "subject": "Pedido realizado",
                        "message": "Seu pedido foi realizado. Obrigado."
                    }
                }
            },
            {
                "id": 2,
                "alias": "authorized",
                "name": "Pedido autorizado",
                "description": "O pedido foi autorizado e está aguardando captura",
                "email_details": {
                    "data": {
                        "subject": "Pedido autorizado",
                        "message": "Estamos aguardando a confirmação do pagamento..."
                    }
                }
            },
        ]
    }
    

    Todos os status disponíveis

    Alias Nome Descrição
    created Pedido realizado O pedido foi realizado.
    authorized Pedido autorizado O pedido foi autorizado e está aguardando captura.
    waiting_payment Aguardando confirmação de pagamento O pedido ainda não foi pago.
    paid Pagamento aprovado O pedido foi pago/capturado.
    handling_products Produtos em separação Os produtos estão em separação, aguardando postagem.
    on_carriage Em transporte O pedido já foi postado para a transportadora.
    delivered Entregue O pedido foi entregue ao destinatário.
    cancelled Pedido cancelado O pedido foi cancelado.
    refused Pagamento não aprovado O pagamento não foi aprovado.
    invoiced Faturado O pedido foi faturado.
    shipment_exception Exceção na entrega O pedido teve um problema em sua entrega.

    Request para alterar o assunto e mensagem do e-mail de um status

    {
        "subject": "Pedido realizado",
        "message": "Seu pedido foi realizado. Obrigado."
    }
    

    Atualizar detalhes do e-mail de um status

    PUT https://api.dooki.com.br/v2/{alias}/checkout/statuses/{id}/email-details

    Bancos

    Listar bancos

    GET https://api.dooki.com.br/v2/{alias}/checkout/banks

    Response de bancos

    {
        "data": [
            {
                "id": 1,
                "code": "001",
                "alias": "BANCO_DO_BRASIL",
                "name": "Banco do Brasil"
            },
            {
                "id": 2,
                "code": "237",
                "alias": "BRADESCO",
                "name": "Bradesco"
            },
            {
                "id": 3,
                "code": "341",
                "alias": "ITAU",
                "name": "Itaú"
            },
            {
                "id": 4,
                "code": "033",
                "alias": "SANTANDER",
                "name": "Santander"
            }
        ],
    }
    

    Visualizar banco

    GET https://api.dooki.com.br/v2/{alias}/checkout/banks/{id}

    Gateways de pagamento

    Listar gateways de pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/gateways

    Response de gateways de pagamento

    {
        "data": [
            {
                "alias": "billet",
                "name": "Boleto Bancário",
                "params": {
                    "data": [
                        "env",
                        "merchant_id",
                        "key"
                    ]
                }
            },
            {
                "alias": "cielo",
                "name": "Cielo",
                "params": {
                    "data": [
                        "env",
                        "merchant_id",
                        "key"
                    ]
                }
            },
            {
                "alias": "deposit",
                "name": "Depósito Bancário",
                "params": {
                    "data": [
                        "env",
                        "merchant_id",
                        "key"
                    ]
                }
            },
            {
                "alias": "mercadopago",
                "name": "Mercadopago",
                "params": {
                    "data": [
                        "env",
                        "merchant_id",
                        "key"
                    ]
                }
            },
            // ...
        ]
    }
    

    Visualizar gateway de pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/gateways/{alias}

    Visualizar parâmetros de um gateway de pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/gateways/{alias}/params

    Afiliações

    Listar afiliações

    GET https://api.dooki.com.br/v2/{alias}/checkout/affiliations

    Request

    {
        "name": "Cielo Afilliation",
        "gateway_alias": "cielo",
        "auto_capture": true,
        "params": {
            "env": "test",
            "merchant_id": 123456,
            "key": "key"
        }
    }
    

    Response

    {
        "data": [
            {
                "id": 88,
                "auto_capture": false,
                "has_payment_config": false,
                "name": "Cielo Affiliation",
                "params": {
                    "env": "test",
                    "merchant_id": 123456,
                    "key": "key"
                },
                "gateway": {
                    "data": {
                        "alias": "cielo",
                        "name": "Cielo",
                        "params": {
                            "data": [
                                "env",
                                "merchant_id",
                                "key"
                            ]
                        }
                    }
                }
            },
        ]
    }
    

    Criar afiliação

    POST https://api.dooki.com.br/v2/{alias}/checkout/affiliations

    Parâmetro Tipo Obrigatório Descrição
    gateway_alias string Sim Alias do gateway de pagamento.
    name string Sim Nome da afiliação.
    params array Sim Parâmetros da afiliação.

    Visualizar afiliação

    GET https://api.dooki.com.br/v2/{alias}/checkout/affiliations/{id}

    Atualizar afiliação

    PUT https://api.dooki.com.br/v2/{alias}/checkout/affiliations/{id}

    Excluir afiliação

    DELETE https://api.dooki.com.br/v2/{alias}/checkout/affiliations/{id}

    Formas de pagamentos

    Listar formas de pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/payments

    Response

    {
        "data": [
            {
                "id": 1,
                "alias": "amex",
                "name": "American Express",
                "has_config": true,
                "is_credit_card": true,
                "is_deposit": false,
                "is_billet": false
            },
            {
                "id": 2,
                "alias": "visa",
                "name": "Visa",
                "has_config": true,
                "is_credit_card": true,
                "is_deposit": false,
                "is_billet": false
            },
            {
                "id": 3,
                "alias": "diners",
                "name": "Diners",
                "has_config": true,
                "is_credit_card": true,
                "is_deposit": false,
                "is_billet": false
            },
            // ...
        ]
    }
    

    Visualizar forma de pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/payments/{id}

    Configurações de pagamentos

    Listar configurações

    GET https://api.dooki.com.br/v2/{alias}/checkout/payments/{id}/config

    Request

    {
        "payment_id": 6,
        "affiliation_id": 3,
        "active": true,
        "default_display": false,
        "accumulate_discount": false,
        "ignore_promotions": false,
        "percent_discount": 0,
        "min_installment_value": 25,
        "max_installments_without_tax": 1,
        "billet_expire_days": 1,
    }
    

    Response

    {
        "data": {
            "id": 1,
            "payment_id": 6,
            "affiliation_id": 3,
            "active": true,
            "default_display": false,
            "accumulate_discount": false,
            "ignore_promotions": false,
            "percent_discount": 0,
            "min_installment_value": 25,
            "max_installments_without_tax": 1,
            "billet_expire_days": 1,
            "installments": {
                "data": [
                    {
                        "id": 5241,
                        "payment_id": 2,
                        "installment": 1,
                        "tax": 0,
                        "percent_discount": 5,
                    },
                    // ...
                ]
            },
            "affiliation": {
                "data": {
                    "id": 26,
                    "auto_capture": true,
                    "has_payment_config": true,
                    "name": "Pagarme - bordabordados",
                    "params": {
                        "api_key": "api_key",
                        "encryption_key": "enc_key"
                    },
                    "gateway": {
                        "data": {
                            "alias": "pagarme",
                            "name": "Pagar.me",
                            "params": {
                                "data": [
                                    "api_key",
                                    "encryption_key"
                                ]
                            }
                        }
                    }
                }
            },
            "payment": {
                "data": {
                    "id": 2,
                    "alias": "visa",
                    "name": "Visa",
                    "has_config": true,
                    "is_credit_card": true,
                    "is_deposit": false,
                    "is_billet": false
                }
            }
        }
    }
    

    Criar configuração de pagamento

    POST https://api.dooki.com.br/v2/{alias}/checkout/payments/{paymentId}/config

    Parâmetro Tipo Obrigatório Descrição
    payment_id int Sim ID do pagamento.
    affiliation_id int Sim ID da afiliação.
    active boolean Sim Status da configuração.
    default_display boolean Sim Marca se essa configuração será a padrão para exibição na vitrine.
    accumulate_discount boolean Não Marca se o desconto irá acumular com outros descontos.
    ignore_promotions boolean Não Marca se o desconto excluirá produtos já em promoção
    percent_discount float Não Porcentagem de desconto.
    min_installment_value float Não Valor mínimo da parcela.
    max_installments_without_tax int Não Máximo de parcelas sem juros.
    billet_expire_days int Não Número de dias de vencimento do boleto.

    Visualizar configuração de pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/payments/{paymentId}/config/{id}

    Atualizar configuração de pagamento

    PUT https://api.dooki.com.br/v2/{alias}/checkout/payments/{paymentId}/config/{id}

    Excluir configuração de pagamento

    DELETE https://api.dooki.com.br/v2/{alias}/checkout/payments/{paymentId}/config/{id}

    Parcelamento

    Listar parcelamentos de um pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/payments/{id}/installments

    Request

    {
        "installments": [
            {
                "payment_id": 2,
                "installment": 1,
                "tax": 1.5,
                "percent_discount": 0
            },
            {
                "payment_id": 2,
                "installment": 2,
                "tax": 3.0,
                "percent_discount": 0
            }
        ]
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "payment_id": 2,
                "installment": 1,
                "tax": 1.5,
                "percent_discount": 0,
            },
            {
                "id": 2,
                "payment_id": 2,
                "installment": 2,
                "tax": 3.5,
                "percent_discount": 0,
            },
        ]
    }
    

    Criar regras de parcelamentos para um pagamento

    POST https://api.dooki.com.br/v2/{alias}/checkout/payments/{paymentId}/installments

    Parâmetro Tipo Obrigatório Descrição
    payment_id int Sim ID do pagamento.
    installment int Sim Número da parcela.
    tax float Sim Taxa de juros para a parcela.
    percent_discount float Sim Porcentagem de desconto para a parcela.

    Simular parcelamento de um pagamento

    GET https://api.dooki.com.br/v2/{alias}/checkout/payments/{id}/installments/simulate

    Parâmetro Tipo Obrigatório Descrição
    amount float Sim Valor simulado.
    min_installment_value float Sim Valor mínimo da parcela.
    max_installments_without_tax int Sim Máximo de parcelas sem juros.
    currency string Não Moeda.
    taxes[0][tax] array Sim Taxa de juros da parcela (em porcentagem).
    taxes[0][installment] array Sim Número da parcela.
    taxes[0][percent_discount] array Sim Desconto (em porcentagem) da parcela.

    Response da simulação de parcelamento

    {
        "data": {
            "max_installment": "1",
            "max_installment_value": 500,
            "amount": 500,
            "text": "1x de R$ 500,00 sem juros",
            "text_with_tax": "1x de R$ 500,00",
            "text_discount_percent": null,
            "text_discount": null,
            "installments": [
                {
                    "amount": 500,
                    "amount_formated": "R$ 500,00",
                    "base_value": 500,
                    "tax": "0",
                    "tax_value": 0,
                    "discount_percent": 0,
                    "discount_value": 0,
                    "discount_value_formated": "R$ 0,00",
                    "installment": "1",
                    "installment_value": 500,
                    "installment_value_formated": "R$ 500,00",
                    "text": "1x de R$ 500,00 sem juros",
                    "text_with_tax": "1x de R$ 500,00",
                    "text_discount_percent": null,
                    "text_discount": null
                }
            ],
        }
    }
    

    Carrinhos abandonados

    Listar carrinhos abandonados

    GET https://api.dooki.com.br/v2/{alias}/checkout/carts

    Response

    {
        "data": [
            {
                "id": 388392,
                "token": "29d7f5ec-365c-3997-b44d-bca6136dbda2",
                "has_recommendation": true,
                "totalizers": {
                    "total_items": "1",
                    "subtotal": 718.2,
                    "discount": 0,
                    "shipment": 0,
                    "shipment_original_value": null,
                    "shipment_discount_value": 0,
                    "shipment_discount_percent": "0,00",
                    "promocode_discount_value": 0,
                    "progressive_discount_value": 0,
                    "combos_discount_value": 0,
                    "total": 718.2,
                    "subtotal_formated": "R$ 718,20",
                    "discount_formated": "R$ 0,00",
                    "total_formated": "R$ 718,20"
                },
                "shipping_service": null,
                "tracking_data": null,
                "utm_source": "facebook",
                "utm_campaign": "remarketing",
                "customizations": [],
                "items": {
                    "data": [
                        {
                            "id": 545699,
                            "sku_id": 46863,
                            "kit_id": null,
                            "quantity": 1,
                            "gift": false,
                            "has_recomm": false,
                            "custom_value": null,
                            "sku": {
                                "data": {
                                    // ...
                                }
                            }
                        }
                    ]
                }
            },
        ]
    }
    

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    has_transactions boolean Retorna somente carrinhos com transações.

    Exportar carrinhos abandonados

    GET https://api.dooki.com.br/v2/{alias}/checkout/carts/export

    Dica: os filtros de busca também estão disponíveis no endpoint de exportação.

    O sistema enviará para o usuário um e-mail com o link para download da planilha com os registros.

    Estatísticas de carrinhos abandonados

    GET https://api.dooki.com.br/v2/{alias}/checkout/carts/stats

    Transações de carrinhos abandonados

    GET https://api.dooki.com.br/v2/{alias}/checkout/carts/{id}/transactions

    Response de estatísticas de carrinhos abandonados

    {
        "converted_carts": {
            "amount": "293477.67",
            "amount_formated": "R$ 293.477,67",
            "total": 1445
        },
        "utms": [
            {
                "utm_source": "facebook",
                "total": 1835
            },
            {
                "utm_source": "Email",
                "total": 65
            },
        ]
    }
    

    Transações

    Transações são criadas para toda tentativa de pagamento. Um pedido pode ter uma ou mais transações (no caso de pagamento com mais de um cartão).

    Listar transações

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions

    Response de transações

    {
        "data": [
            {
                "id": 89000,
                "customer_id": 37484,
                "payment_id": 9,
                "affiliation_id": 26,
                "authorized": true,
                "captured": false,
                "cancelled": false,
                "gateway_transaction_id": "29687073",
                "gateway_order_id": null,
                "gateway_authorization_code": null,
                "gateway_billet_id": null,
                "amount": 59.39,
                "installments": 1,
                "status": "waiting_payment",
                "error_message": null,
                "error_code": null,
                "truncated_card": null,
                "holder_name": null,
                "holder_document": null,
                "billet_url": "https://billet.com",
                "billet_our_number": null,
                "billet_document_number": null,
                "billet_date": {
                    "date": "2018-01-02 00:00:00.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "antifraud_sale_id": null,
                "sent_to_antifraud": false,
                "capture_date": null,
                "authorized_at": {
                    "date": "2017-12-25 04:53:10.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "captured_at": null,
                "cancelled_at": null,
                "payment": {
                    "data": {
                        "id": 9,
                        "alias": "billet",
                        "name": "Boleto Bancário",
                        "has_config": true,
                        "is_credit_card": false,
                        "is_deposit": false,
                        "is_billet": true
                    }
                },
            }
        ]
    }
    

    Confirmar uma transação de boleto ou depósito

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions/{id}/payment/confirm

    Cancelar uma transação de boleto ou depósito

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions/{id}/payment/cancel

    Capturar uma transação de cartão de crédito

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions/{id}/payment/gateway/capture

    Cancelar uma transação de cartão de crédito

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions/{id}/payment/gateway/cancel

    Status de transações

    Status Descrição
    paid A transação foi paga.
    cancelled A transação foi cancelada.
    chargeback A transação sofreu chargeback.
    created A transação foi criada.
    refused A transação foi negada.
    waiting_payment A transação está aguardando pagamento.

    Visualizar transação

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions/{id}

    Listar logs de uma transação

    GET https://api.dooki.com.br/v2/{alias}/checkout/transactions/{id}/logs

    Response de logs de transação

    Vendedores

    Listar vendedores

    GET https://api.dooki.com.br/v2/{alias}/checkout/sellers

    Visualizar vendedor

    GET https://api.dooki.com.br/v2/{alias}/checkout/sellers/{id}

    Criar vendedor

    POST https://api.dooki.com.br/v2/{alias}/checkout/sellers

    Request

    {
        "affiliation_id" : 98,
        "bank_account_id" : 11,
        "has_split" : false,
        "transfer_enabled" : false,
        "active" : true,
        "name" : "teste",
        "email" : "teste@email.com",
        "document" : "12345678912",
        "document_type" : "cpf",
        "transfer_interval" : "daily",
        "transfer_day" : "0",
        "antecipatable_volume_percentage" : "0",
        "automatic_antecipation_enabled" : false,
        "ref_code" : "1",
        "external_gateway_id" : "1",
        "percentage_products" : "5",
        "percentage_shipping" : "5",
        "charge_processing_fee" : true,
        "liable" : true
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "bank_account_id": 1,
                "has_split": false,
                "transfer_enabled": false,
                "active": true,
                "name": "teste",
                "email": "teste@email.com",
                "document": "12345678912",
                "document_type": "cpf",
                "transfer_interval": "daily",
                "transfer_day": "0",
                "anticipatable_volume_percentage": 0,
                "automatic_anticipation": false,
                "ref_code": 1,
                "external_gateway_id": null,
                "percentage_products": 5,
                "percentage_shipping": 5,
                "charge_processing_fee": true,
                "liable": true
            }
        ]
    }
    
    Parâmetro Tipo Obrigatório Descrição
    affiliation_id int/nullable Não ID da afiliação.
    bank_account_id int/nullable Não ID da conta bancária.
    has_split boolean Não Split de pagamentos habilitado (default: false).
    transfer_enabled boolean Sim Indica se haverá transferência automática
    active boolean Não Status do vendedor (default: true).
    name string Sim Nome do vendedor.
    email email Sim Email do vendedor.
    document string Sim Documento do vendedor.
    document_type string Sim Tipo de documento do vendedor (valores aceitos: cpf, cnpj).
    transfer_interval string Sim Intervalo de transferência (valores aceitos: daily, weekly, monthly).
    transfer_day int Sim Dia em que será realizada a transferência (valores aceitos: entre 0 e 31).
    antecipatable_volume_percentage int Não Porcentagem referente ao valor a receber que o vendedor pode antecipar (defaul: 0).
    automatic_anticipation_enabled boolean Não Define se o vendedor pode receber antecipações automáticas (default: false).
    ref_code string Sim Código de referência do vendedor.
    external_gateway_id string Não ID do recebedor no pagarme.
    percentage_products int Sim Porcentagem de comissão em cima dos produtos.
    percentage_shipping int Sim Porcentagem de comissão em cima do frete.
    charge_processing_fee boolean Não Indica se o vendedor será cobrado pelas taxas da transação (default: false).
    liable boolean Sim indica se o vendedor assumirá os riscos de chargeback da transação.

    Obs : Os valores aceitos pelo parâmentro transfer_day são de acordo com o intervalo de transferência (transfer_interval).

    Intervalo de transferência Valor aceito (transfer_day)
    monthly 1 a 31
    weekly 1 a 5
    daily 0

    Atualizar vendedor

    PUT https://api.dooki.com.br/v2/{alias}/checkout/sellers/{id}

    Atualização em lote

    PUT https://api.dooki.com.br/v2/{alias}/checkout/sellers/batch-update

    Request - atualização em lote

    {
        "ids" : [
            66
        ],
        "attributes" : {
            "active" : true
        }
    
    }
    

    Excluir vendedor

    DELETE https://api.dooki.com.br/v2/{alias}/checkout/sellers/{id}

    Contas bancárias

    Listar contas bancárias

    GET https://api.dooki.com.br/v2/{alias}/checkout/sellers/bank-accounts

    Visualizar conta bancária

    GET https://api.dooki.com.br/v2/{alias}/checkout/sellers/bank-accounts/{id}

    Criar conta bancária

    POST https://api.dooki.com.br/v2/{alias}/checkout/sellers/bank-accounts

    Request

    {
        "affiliation_id" : 98,
        "bank_code" : 1,
        "external_gateway_id" : "2",
        "agency" : "2222",
        "agency_digit" : "3",
        "account" : "1234",
        "account_digit" : "2",
        "document_number" : "123456789",
        "legal_name" : "teste",
        "type" : "conta_poupanca"
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "affiliation_id": 98,
                "bank_code": 1,
                "external_gateway_id": 2,
                "agency": 2222,
                "agency_digit": 3,
                "account": 1234,
                "account_digit": 2,
                "document_number": "11111111111",
                "legal_name": "teste",
                "type": "conta_poupanca"
            }
        ]
    }
    
    Parâmetro Tipo Obrigatório Descrição
    affiliation_id int/nullable Não ID da afiliação.
    bank_code string Sim Código do banco.
    external_gateway_id int Sim ID no pagarme.
    agency string Sim Número da agência bancaria.
    agency_digit string Sim Dígito da agência bancaria.
    account string Sim Número da conta.
    account_digit string Sim Dígito da conta.
    document_number string Sim Número do documento.
    legal_name string Sim Nome ou razão social do titular da conta.
    type string Sim Tipo da conta (valores aceitos: conta_corrente, conta_poupanca, conta_corrente_conjunta, conta_poupanca_conjunta ).

    Atualizar conta bancária

    PUT https://api.dooki.com.br/v2/{alias}/checkout/sellers/bank-accounts/{id}

    Excluir conta bancária

    DELETE https://api.dooki.com.br/v2/{alias}/checkout/sellers/bank-accounts/{id}

    Configurações

    Credenciais da loja

    Listar credenciais

    GET https://api.dooki.com.br/v2/{alias}/config/merchant-credentials

    Request de credenciais

    {
        "active": true,
        "is_subdomain": true,
        "domain": "domain.com.br",
    }
    

    Response de credenciais

    {
        "data": {
            "id": 3,
            "active": true,
            "is_subdomain": false,
            "alias": "merchant_alias",
            "domain": "domain.com.br",
        }
    }
    
    Parâmetro Tipo Obrigatório Descrição
    active boolean Sim Status da loja.
    is_subdomain boolean Sim Marca se a loja roda em um subdomínio.
    domain string Sim Domínio da loja.

    Atualizar credenciais

    PUT https://api.dooki.com.br/v2/{alias}/config/merchant-credentials/{id}

    Dados da loja

    Listar dados da loja

    GET https://api.dooki.com.br/v2/{alias}/config/merchant-data

    Request de dados da loja

    {
        "maintenance": false,
        "name": "Merchant Name",
        "razao_social": "Razao Social",
        "email_contact": "merchant@domain.com",
        "email_sales": "merchant@domain.com",
        "description": "Merchant Description",
        "owner_name": "John Snow",
        "phone": "99 9999999",
        "whatsapp": "99 9999999",
        "ie": "0000",
        "cnpj": "00.000.0000/0001-32",
        "full_address": "Address Store",
        "zipcode": "14940000",
        "products_per_page": 10,
        "logo_url": "http://url.to/logo.jpg",
        "icon_url": "http://url.to/logo.jpg"
    }
    

    Response de dados da loja

    {
        "data": {
            "id": 1,
            "maintenance": false,
            "name": "Merchant Name",
            "razao_social": "Razao Social",
            "email_contact": "merchant@domain.com",
            "email_sales": "merchant@domain.com",
            "description": "Merchant Description",
            "owner_name": "John Snow",
            "phone": "99 9999999",
            "whatsapp": "99 9999999",
            "ie": "0000",
            "cnpj": "00.000.0000/0001-32",
            "full_address": "Address Store",
            "zipcode": "14940000",
            "products_per_page": 10,
            "logo_url": "http://url.to/logo.jpg",
            "icon_url": "http://url.to/logo.jpg"
        }
    }
    

    Atualizar dados da loja

    PUT https://api.dooki.com.br/v2/{alias}/config/merchant-data/{id}

    Parâmetro Tipo Obrigatório Descrição
    maintenance boolean Sim Marca se a loja está em manutenção.
    name string Sim Nome da loja.
    description string Sim Descrição da loja.
    razao_social string Não Razão social da loja.
    email_contact string Sim E-mail de contato da loja.
    email_sales string Sim E-mail de vendas da loja.
    owner_name string Sim Nome do proprietário da loja.
    phone string Não Telefone da loja.
    whatsapp string Não Whatsapp da loja.
    ie string Não Inscrição Estadual da loja.
    cnpj string Não CNPJ da loja.
    full_address string Não Endereço da loja.
    address_street string Sim Rua da loja.
    address_number string Sim Número da loja.
    address_complement string Não Complemento da loja.
    address_neighborhood string Sim Bairro da loja.
    address_city string Sim Cidade da loja.
    address_state string Sim Estado da loja.
    zipcode string Sim CEP da loja.
    products_per_page int Sim Números de produtos por página.
    logo_url string Não URL do logotipo da loja.
    icon_url string Não URL do ícone da loja.

    Checkout (config)

    Listar configuração do checkout

    GET https://api.dooki.com.br/v2/{alias}/config/checkout

    Request de configuração do checkout

    {
        "sequential_sale_number": true,
        "delivery_working_days": true,
        "show_shipping_in_cart": true,
        "show_products_links": true,
        "show_promocode": true,
        "max_daily_sales_by_ip": 3,
        "currency": "R$",
        "person_type": "all",
        "text_footer": null,
        "text_shipping": "O prazo de entrega começa a contar apenas quando o pagamento for confirmado",
        "text_billet": null,
        "text_card": null,
        "redirect_url_billet": null,
        "redirect_url_card": null,
        "redirect_url_deposit": null
    }
    

    Response de dados da loja

    {
        "data": {
            "id": 1,
            "sequential_sale_number": true,
            "delivery_working_days": true,
            "show_shipping_in_cart": true,
            "show_products_links": true,
            "show_promocode": true,
            "max_daily_sales_by_ip": 3,
            "currency": "R$",
            "text_footer": null,
            "person_type": "all",
            "text_shipping": "O prazo de entrega começa a contar apenas quando o pagamento for confirmado",
            "text_billet": null,
            "text_card": null,
            "text_deposit": null,
            "redirect_url_billet": null,
            "redirect_url_card": null,
            "redirect_url_deposit": null
        }
    }
    

    Atualizar configuração de checkout

    PUT https://api.dooki.com.br/v2/{alias}/config/checkout/{id}

    Parâmetro Tipo Obrigatório Descrição
    sequential_sale_number boolean Sim Marca se os números dos pedidos serão sequenciais.
    delivery_working_days boolean Sim Marca se o prazo de entrega será em dias úteis.
    show_shipping_in_cart boolean Sim Marca se o cálculo de frete no carrinho estará visível.
    show_products_links boolean Sim Marca se os produtos no carrinho terão links.
    show_promocode boolean Sim Marca se os campo de cupom de desconto será visível.
    max_daily_sales_by_ip int Sim Máximo de pedidos por dia por IP. Mínimo: 3.
    currency string Sim Moeda monetária. Valores aceitos: R$.
    person_type string Não Tipos de cadastro aceitos. Valores: all, business e personal
    text_footer string Não Texto no rodapé do checkout.
    text_shipping string Não Texto de apoio para entregas.
    text_billet string Não Texto de apoio para boleto bancário.
    text_card string Não Texto de apoio para cartão de crédito.
    text_deposit string Não Texto de apoio para depósito.
    redirect_url_billet string Não URL de redirecionamento quando o pagamento for por boleto bancário.
    redirect_url_card string Não URL de redirecionamento quando o pagamento for por cartão de crédito.
    redirect_url_deposit string Não URL de redirecionamento quando o pagamento for por depósito.

    IPS bloqueados

    Listar IPS bloqueados

    GET https://api.dooki.com.br/v2/{alias}/config/blocked-ips

    Request

    {
        "ip": "127.0.0.1",
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "name": "127.0.0.1",
            },
        ]
    }
    

    Criar bloqueio de IP

    POST https://api.dooki.com.br/v2/{alias}/config/blocked-ips

    Parâmetro Tipo Obrigatório Descrição
    ip string Sim Número de IP.

    Visualizar bloqueio de IP

    GET https://api.dooki.com.br/v2/{alias}/config/blocked-ips/{id}

    Atualizar bloqueio de IP

    PUT https://api.dooki.com.br/v2/{alias}/config/blocked-ips/{id}

    Excluir bloqueio de IP

    DELETE https://api.dooki.com.br/v2/{alias}/config/blocked-ips/{id}

    Carrinhos abandonados (config)

    A plataforma possui um recurso de disparo automático de e-mails de recuperação de carrinho.

    Listar configurações de carrinhos abandonados

    GET https://api.dooki.com.br/v2/{alias}/config/carts

    Request

    {
        "email_subject": "{name}, os produtos estão te esperando!",
        "sms_subject": "{name}, os produtos estão te esperando!",
        "email_frequency": 1,
        "email_hours_delay": 1,
        "promocode_in_first_email": false
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "email_subject": "{name}, os produtos estão te esperando!",
                "sms_subject": "{name}, os produtos estão te esperando!",
                "email_frequency": 1,
                "email_hours_delay": 1,
                "promocode_in_first_email": false
            },
        ]
    }
    

    Criar configuração de carrinho abandonado

    POST https://api.dooki.com.br/v2/{alias}/config/carts

    Parâmetro Tipo Obrigatório Descrição
    email_subject string Sim Assunto do e-mail de recuperação. Você pode usar a tag {name} que o sistema substituirá pelo nome do cliente.
    sms_subject string Não Mensagem customizada do SMS.
    email_frequency int Sim Número de dias que o sistema enviará o e-mail. Máximo: 2.
    email_hours_delay int Sim Atraso (em horas) para o primeiro disparo. Padrão: 1.
    promocode_in_first_email boolean Sim Marca se o sistema deve enviar o cupom de desconto associado no primeiro e-mail.

    Visualizar configuração de carrinho abandonado

    GET https://api.dooki.com.br/v2/{alias}/config/carts/{id}

    Atualizar configuração de carrinho abandonado

    PUT https://api.dooki.com.br/v2/{alias}/config/carts/{id}

    Excluir configuração de carrinho abandonado

    DELETE https://api.dooki.com.br/v2/{alias}/config/carts/{id}

    Integrações

    Listar todas os serviços disponíveis

    GET https://api.dooki.com.br/v2/{alias}/config/services

    Visualizar serviço

    GET https://api.dooki.com.br/v2/{alias}/config/services/{service}

    Filtros personalizados

    Esse tipo de filtro não utiliza a sintaxe global. Neste caso, o parâmetro é passado individualmente via query string na URL.

    Parâmetro Tipo Descrição
    groupedByCategory boolean Agrupa os serviços de acordo com suas categorias

    Listar todos os serviços com configurações ativas

    GET https://api.dooki.com.br/v2/{alias}/config/services?actives=true

    Response de todos os serviços

    {
        "data": [
            {
                "alias": "clearsale_form",
                "name": "Clearsale Form",
                "category": "antifraud",
                "active_config": true,
                "params": {
                    "data": [
                        "env",
                        "code"
                    ]
                }
            },
            {
                "alias": "clearsale_total",
                "name": "Clearsale Total",
                "category": "antifraud",
                "active_config": false,
                "params": {
                    "data": [
                        "env",
                        "entity_code",
                        "app_fingerprint"
                    ]
                }
            },
        ]
    }
    

    Listar configuração de um serviço

    GET https://api.dooki.com.br/v2/{alias}/config/services/{serviceAlias}/settings

    Criar nova configuração para um serviço

    POST https://api.dooki.com.br/v2/{alias}/config/services/{serviceAlias}/settings

    Request para criar ou atualizar uma configuração

    {
        "active": true,
        "service_alias": "intelipost",
        "params": {
            "origin_zipcode": "14940000",
            "api_key": "api_key"
        }
    }
    

    Response de configuração de serviço

    {
        "data": [
            {
                "id": 33,
                "service_alias": "intelipost",
                "active": true,
                "params": {
                    "origin_zipcode": "14940000",
                    "api_key": "api_key"
                },
            }
        ],
    }
    

    Atualizar configuração de um serviço

    PUT https://api.dooki.com.br/v2/{alias}/config/services/{serviceAlias}/settings/{id}

    Excluir configuração de um serviço

    DELETE https://api.dooki.com.br/v2/{alias}/config/services/{serviceAlias}/settings/{id}

    Fotos

    Listar configurações de fotos

    GET https://api.dooki.com.br/v2/{alias}/config/photos

    Request

    {
        "width_small": 50,
        "height_small": 50,
        "width_thumb": 100,
        "height_thumb": 100,
        "width_medium": 500,
        "height_medium": 500,
        "width_large": 1000,
        "height_large": 1000
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "width_small": 50,
                "height_small": 50,
                "width_thumb": 100,
                "height_thumb": 100,
                "width_medium": 500,
                "height_medium": 500,
                "width_large": 1000,
                "height_large": 1000
            },
        ]
    }
    

    Criar configuração de foto

    POST https://api.dooki.com.br/v2/{alias}/config/photos

    Parâmetro Tipo Obrigatório Descrição
    width_small int Sim Largura da foto small.
    height_small int Sim Altura da foto small.
    width_thumb int Sim Largura da foto thumb.
    height_thumb int Sim Altura da foto thumb.
    width_medium int Sim Largura da foto medium.
    height_medium int Sim Altura da foto medium.
    width_large int Sim Largura da foto large.
    height_large int Sim Altura da foto large.

    Visualizar configuração de foto

    GET https://api.dooki.com.br/v2/{alias}/config/photos/{id}

    Atualizar configuração de foto

    PUT https://api.dooki.com.br/v2/{alias}/config/photos/{id}

    Excluir configuração de foto

    DELETE https://api.dooki.com.br/v2/{alias}/config/photos/{id}

    E-mails

    Listar configurações de e-mails

    GET https://api.dooki.com.br/v2/{alias}/config/emails

    Request

    {
        "host": "smtp.server.com",
        "username": "username@server.com",
        "password": "123456",
        "encryption": "ssl",
        "port": 465,
        "from": "contact@server.com",
        "name": "Merchant Name"
    }
    

    Response

    {
        "data": [
            {
                "id": 1,
                "host": "smtp.server.com",
                "username": "username@server.com",
                "password": "123456",
                "encryption": "ssl",
                "port": 465,
                "from": "contact@server.com",
                "name": "Merchant Name"
            },
        ]
    }
    

    Criar configuração de email

    POST https://api.dooki.com.br/v2/{alias}/config/emails

    Parâmetro Tipo Obrigatório Descrição
    host string Sim Servidor de saída.
    username string Sim Usuário de autenticação.
    password string Sim Senha de autenticação.
    encryption string Sim Tipo de criptografia.
    port int Sim Porta de saída.
    from string Sim E-mail do remetente das mensagens.
    name string Sim Nome do remetente das mensagens.

    Visualizar configuração de email

    GET https://api.dooki.com.br/v2/{alias}/config/emails/{id}

    Atualizar configuração de email

    PUT https://api.dooki.com.br/v2/{alias}/config/emails/{id}

    Excluir configuração de email

    DELETE https://api.dooki.com.br/v2/{alias}/config/emails/{id}

    Merchant

    Pageviews

    Listar pageviews

    GET https://api.dooki.com.br/v2/{alias}/merchant/pageviews

    Registrar pageview

    POST https://api.dooki.com.br/v2/{alias}/merchant/pageviews

    Response de pageviews

    {
        "data": [
            {
                "id": 283,
                "month": 1,
                "year": 2018,
                "pageviews": 4,
            }
        ]
    }
    

    Dashboard

    Através do Dashboard sua aplicação tem acesso a várias métricas do lojista, como produtos mais vendidos, receita do mês, ticket médio etc.

    Pedidos por parcelamento

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/orders-by-installments

    Pedidos por estado

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/orders-by-state

    Pedidos por formas de pagamento

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/orders-by-payment

    Receita, vendas e ticket médio

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/revenue

    Recuperação de carrinho abandonado

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/revenue?abandonedCart=true

    Top SKUS

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/orders-by-sku

    Conversão de boletos

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/billet-conversion

    Taxa de pedidos cancelados

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/revenue?context=created

    Overview

    GET https://api.dooki.com.br/v2/{alias}/metrics/widgets/overview

    Usuários

    Dados do usuário logado

    POST https://api.dooki.com.br/v2/auth/me

    Payload com os dados do usuário logado

    {
        "data": {
            "id": 17,
            "active": true,
            "name": "Lucas Colette",
            "email": "lucas@bubb.com.br",
            "avatar_url": "https://secure.gravatar.com/avatar/6bc484627a4c1cdb5e10c01f1c2b49b6?s=80&r=g&d=identicon",
            "roles": [],
            "permissions": [],
            "merchants": {
                "data": [
                    {
                        "id": 29,
                        "active": true,
                        "corporate": true,
                        "alias": "alias",
                        "domain": "domain.com.br"
                    }   
                ],
            },
        }
    }
    

    Listar todos usuários de uma loja

    GET https://api.dooki.com.br/v2/{alias}/users

    Excluir usuário de uma loja

    DELETE https://api.dooki.com.br/v2/{alias}/users/{id}

    Exclusão de usuário em massa

    DELETE https://api.dooki.com.br/v2/{alias}/users/batch-detach

    Listar atividades de um usuário

    GET https://api.dooki.com.br/v2/{alias}/users/{id}/activities

    Permissões de usuários

    Listar permissões

    GET https://api.dooki.com.br/v2/{alias}/users/permissions

    Response de permissões

    {
        "data": [
            {
               "id": 1,
               "name": "view_catalog",
               "translated_name": "Visualizar catálogo"
           },
           {
               "id": 2,
               "name": "manage_catalog",
               "translated_name": "Gerenciar catálogo"
           },
           // ...
        ]
    }
    

    Grupos de usuários

    Listar grupos

    GET https://api.dooki.com.br/v2/{alias}/users/groups

    Request

    {
        "name": "Administrador test",
        "permissions_ids": [1, 2, 3, 4, 5]
    }
    

    Response

    {
        "data": {
            "id": 1,
            "name": "Administrador test",
            "permissions": {
                "data": [
                    {
                       "id": 1,
                       "name": "view_catalog",
                       "translated_name": "Visualizar catálogo"
                   },
                   {
                       "id": 2,
                       "name": "manage_catalog",
                       "translated_name": "Gerenciar catálogo"
                   },
                   // ...
                ]
            }
        }
    }
    

    Criar grupo

    POST https://api.dooki.com.br/v2/{alias}/users/groups

    Parâmetro Tipo Obrigatório Descrição
    name string Sim Nome do grupo.
    permissions_ids array Sim Array com os IDS das permissões do grupo.

    Visualizar grupo

    GET https://api.dooki.com.br/v2/{alias}/users/groups/{id}

    Atualizar grupo

    PUT https://api.dooki.com.br/v2/{alias}/users/groups/{id}

    Excluir grupo

    DELETE https://api.dooki.com.br/v2/{alias}/users/groups/{id}

    Convites de usuários

    Convidar um usuário para participar de uma loja

    POST https://api.dooki.com.br/v2/{alias}/users/invite

    O usuário convidado receberá um e-mail com um link para aceitar o convite. Caso ele não possua uma conta, ele deverá criar uma.

    Request para enviar um convite

    {
        "email": "john@snow.com",
        "group_id": 1
    }
    

    Response de um convite

    {
        "data": {
            "id": 10,
            "group_id": 1,
            "accepted": false,
            "token": "408f1f50-f575-11e7-9fcf-8bc3b49ec7cb",
            "accepted_at": null,
            "email": "john@snow.com",
        }
    }
    
    Parâmetro Tipo Obrigatório Descrição
    email string Sim E-mail do usuário que será convidado.
    group_id int Sim ID do grupo de acesso que ele fará parte.

    Listar convites de usuários

    GET https://api.dooki.com.br/v2/{alias}/users/invites

    Novo convite de usuários

    POST https://api.dooki.com.br/v2/{alias}/users/invites

    Visualizar convite de usuário

    GET https://api.dooki.com.br/v2/{alias}/users/invites/{id}

    Reenviar um convite de usuário

    GET https://api.dooki.com.br/v2/{alias}/users/invites/{id}/resend

    Webhooks

    Através do recurso de webhooks, a plataforma enviará um POST para as URLS cadastradas sempre quando algum evento acontecer. O payload do recurso é enviado com todas as includes disponíveis.

    Eventos disponíveis

    GET https://api.dooki.com.br/v2/{alias}/webhooks/events

    Evento Descrição
    order.created Pedido criado
    order.status.updated O status de um pedido foi atualizado
    order.invoice.created Nota fiscal de um pedido foi criada
    order.invoice.updated Nota fiscal de um pedido foi atualizada
    transaction.payment.refused O pagamento de uma transação foi negado
    cart.reminder Notificação de carrinho abandonado
    customer.created Cliente criado
    customer.address.created Endereço do cliente criado

    Listar webhooks

    GET https://api.dooki.com.br/v2/{alias}/webhooks

    Criar um webhook

    POST https://api.dooki.com.br/v2/{alias}/webhooks

    Request para incluir um novo webhook

    {
        "url": "http://suaurl.com/api/webhooks",
        "events": ["order.created", "cart.reminder"],
        "name": "Nome do webhook"
    }
    

    Response de webhook

    {
        "data": [
            "id": 1,
            "url": "http://suaurl.com/api/webhooks"
        ]
    }
    

    Payload enviado pelo webhook

    {
        "event": "order.created",
        "resource": {
            // Payload de um pedido 
        }
    }
    
    Parâmetro Tipo Obrigatório Descrição
    url string Sim URL que o webhook será enviado.
    events arrays Sim Quais eventos serão enviados para o endpoint cadastrado.
    name string Sim Nome do webhook.

    Atualizar um webhook

    PUT https://api.dooki.com.br/v2/{alias}/orders/webhooks/{id}

    Excluir um webhook

    DELETE https://api.dooki.com.br/v2/{alias}/orders/webhooks/{id}

    Notificações

    É importante destacar que as notificações listadas pertencem ao usuário logado.

    Listar todas as notificações

    GET https://api.dooki.com.br/v2/{alias}/notifications

    Response de notificações

    {
        "data": [
            {
                "id": "48361d52-1fb0-4dbc-b279-e29ed2b552cb",
                "read_at": {
                    "date": "2017-12-30 15:01:30.000000",
                    "timezone_type": 3,
                    "timezone": "America/Sao_Paulo"
                },
                "data": {
                    "queue_id": 125,
                    "message": "Sua planilha de produtos está pronta",
                    "btn_text": "Baixar planilha",
                    "link": "http://url.com"
                },
            }
        ]
    }
    

    Listar todas as notificações não lidas

    GET https://api.dooki.com.br/v2/{alias}/notifications/unread

    Marcar todas as notificações como lidas

    PUT https://api.dooki.com.br/v2/{alias}/notifications/read-all

    Marcar uma notificação como lida

    PUT https://api.dooki.com.br/v2/{alias}/notifications/{id}

    Buscas

    Esta API é pública, ou seja, não necessita de autenticação.

    Categorias

    GET https://api.dooki.com.br/v2/{alias}/public/search/categories

    Response de categorias

    {
        "data": [
            {
                "parent": {},
                "children": [],
                "parent_id": 2451,
                "name": "Colchonete Kids Montessoriano",
                "active": true,
                "sort_by": "newest",
                "id": 2553,
                "is_parent": false,
                "canonical_url": "https://www.loja.com.br/acessorios/colchonete-para-bebe-e-kids",
                "url": "https://www.loja.com.br/montessoriano/colchonete-kids-montessoriano?sort_by=newest",
                "slug": "colchonete-kids-montessoriano"
            },
        ]
    }
    

    Filtros

    Parâmetro Tipo Descrição
    parent boolean Se true, traz somente as categorias pais.
    children boolean Se true, traz somente as categorias filhas.
    featured boolean Se true, traz somente as categorias em destaque.
    parent_id int ID da categoria pai.
    sort_by string Tipos de ordenação. Valores aceitos: name_asc.
    limit int Altera o limite de registros por página.