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

Includes disponíveis: seo, children, parent, marketplaces

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.

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

Includes disponíveis: values

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.

Includes disponíveis: values

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

Includes disponíveis: dates, brand, extras, texts, seo, filters, flags, variations, categories, images, skus, firstImage, searchAttributes, reviews, combos

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.

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:

  • Status (ativo ou inativo)

  • Preço de venda

  • Preço promocional

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",
        }
    ]
}

Includes disponíveis: prices, images, firstImage, stocks, product, customizations

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.

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.

Includes disponíveis: products

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