00K - API v2.0
Primeiros Passos
O primeiro passo para utilização de nossa API é a abertura de um chamado junto ao seu gestor de contas, solicitando o acesso à nossa API e indicando a necessidade de provisionamento de requisições.
A 00K possui capacidade de processamento de informações em alto volume, contudo temos o objetivo de otimizar ao máximo os recursos financeiros de nossos clientes, não somente na operação administrativa com o uso de nossa plataforma gráfica, mas também pelo dimensionamento de recursos e escala de processamento e armazenamento de dados no back end da aplicação.
Diante de tal preocupação, todos os nossos clientes iniciam com um limite de chamadas em nossa API, que é provisionada no momento que o cliente solicita acesso, contudo não é um fator limitante de operação, uma vez que podemos alterar os limites em momentos de alto volume de requisições, onde tal provisionamento tem o objetivo de aumentar a segurança da operação e evitar que possíveis falhas no desenvolvimento de integradores iniciem um loop infinito e prejudiquem outras operações.
Pensando ainda na otimização de recursos, performance e assertividade em nossa operação, trabalhamos de forma bem intensa com notificações.
A grande vantagem de trabalharmos com notificações é o consumo de recurso específico em uma operação, o que nos faz consumir menos para um processamento tornando a infra mais rápida e ágil.
Trabalhamos com dois tipos de notificações, a PASSIVA e a ATIVA:
-
A PASSIVA consiste em recebermos a informação através de notificações executadas pelos sistemas clientes da plataforma;
-
A ATIVA consiste em buscarmos no sistema de nossos clientes uma lista da alterações que ocorreram para consumirmos o recurso.
Esperamos ter esclarecido um pouco da operação de nossa API e nos colocamos a disposição para dirimir quaisquer dúvidas através do email [email protected].
Nossos Agradecimentos,
00K IT Team
Fluxo de dados
Padrões
Esta sessão lista alguns padrões encontrados na API.
Formato JSON
JSON é um padrão aberto baseado em texto leve projetado para transferencia de dados. Nossa API recebe e retorna JSON por padrão.
Codificação de texto
Todos os recebimentos de dados / respostas são codificados no formato UTF-8.
É necessário que codifique o envio de suas strings para o patrão UTF-8, e esteja preparado para receber os dados e caracteres no mesmo formato.
Formato de Datas
Todas as datas deverão estar no formato ISO 8601
.
As datas contidas nas respostas da API também estão nesse formato.
URL Base
Todas as chamadas deste modulo devem partir da seguinte URL Base.
http://api.00k.srv.br/
Autenticação
Para acessar a API é necessário passar dois headers, são eles:
Authorization: {String}
Content-Type: application/json;charset=UTF-8
Observação
Cada loja possui sua própria chave de autenticação a ser utilizada no header HTTP Authorization
, que deve ser solicitada ao seu gestor de contas na 00K.
Erros
Em estado de erro as respostas da API contém em seu corpo um objeto JSON com a seguinte estrutura:
{
"code": "2.1",
"httpCode": 400,
"type": "Validation Error",
"description": "Import data is invalid!",
"errors": [
{
"itemIndex": 0,
"sku": "99jjs8",
"errors": [
"Stock is required"
]
}
]
}
O exemplo acima é um exemplo de resposta de [POST] /catalog/import/
, onde o primeiro produto (itemIndex = 0
) da Array
enviada identificado pelo sku
99jjs8
não teve seu estoque informado.
A seguinte tabela lista os códigos de erro encontrados presentemente:
"code" |
"type" |
Descrição | HTTP Status |
---|---|---|---|
1.2 | Invalid authorization header | O header de authenticação informado é inválido | 400 |
1.3 | The store is invalid | A loja correspondente ao header de autenticação informado não existe | 401 |
2.0 | Item not Found | Nenhum item atende aos filtros de busca informados | 400 |
2.1 | Validation Error | Dados informados não passaram por validação | 400 |
3.0 | Data consistency error | Dados internos apresentam inconsistência | 500 |
Produtos ¶
Produtos ¶
Esta coleção de endpoints manipula Produtos e algumas entidades a ele relacionadas, ex.: Categorias, Marcas, Fabricantes, etc.
ListagemGET/catalog/products/{type}/{?name,brand,sku,externalId,category_name,category_slug,url,collection_id,collection_name,price_lt,price_lte,price_gt,price_gte,orderBy}
Example URI
- type
string
(optional) Example: allRetornar somente determinado tipo de produto
Choices:
all
simple
group
kit
- name
string
(optional) Example: RodaContido no nome do produto
- brand
string
(optional) Example: MarcaContido no nome da categoria
- sku
string
(optional) Example: SKU- externalId
string
(optional) Example: Id externo do produto- category_name
string
(optional) Example: Nome da Categoria- category_slug
string
(optional) Example: nome-da-categoria- url
string
(optional) Example: url-do-produto- collection_id
integer
(optional) Example: Id da coleção- collection_name
string
(optional) Example: Nome da coleção- price_lt
number
(optional) Example: 10.1Preço menor que x
- price_lte
number
(optional) Example: 10.1Preço menor ou igual a x
- price_gt
number
(optional) Example: 10.1Preço maior que x
- price_gte
number
(optional) Example: 10.1Preço maio ou igual a x
- orderBy
string
(optional) Example: price:descOrdenação de preço decrescente:
Choices:
name
price
Headers
Authorization: {String}
Content-Type: application/json;charset=UTF-8
200
Body
{
"total": 1,
"items": [
{
"id": 215,
"sku": "99jjs8",
"externalId": 12345,
"type": "simple",
"info": {
"name": "Produto Teste - Favor não ofertar",
"subtitle": "Produto Teste - Não oferte",
"status": 1,
"published": 0,
"archived": 0,
"updatedAt": "2015-06-02T20:33:02.000Z",
"createdAt": "2015-06-02T20:33:02.000Z",
"model": "3KFD9KK48DFK",
"defaultView": 1,
"installments": 0,
"warranty": null,
"itemFlag": null
},
"stock": [{
"info": {
"quantity": 15,
"minimum": 15
},
"location": {
"id": 2,
"name": "Locality name"
}
}],
"price": [{
"list": 500,
"value": 499.99,
"expireDate": "2015-06-02T20:33:02:0000Z"
}],
"dimensions": {
"height": 45,
"width": 35,
"length": 25,
"weight": 500
},
"freight": {
"free": 1,
"fixed": 15.00,
"additional": 45,
"deadline": 25,
"freeRange": {
"start": "04688010",
"end": "05872130"
}
},
"categories": [{
"id": 15,
"name": "Product X Category",
"description": "Category Description",
"slug": "product-x-category",
"metaKeywords": "meta, descriptions, whatever",
"imageSource": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg",
"externalId": "450"
}],
"brand": {
"info": {
"id": 15,
"name": "Brand Name",
"imageSource": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg",
"externalId": "15"
},
"manufacturer": {
"id": 15,
"name": "Manufacturer Name",
"imageSource": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg",
"externalId": "15"
}
},
"descriptions": [{
"id": 15,
"title": "Description Title",
"text": "Description Text"
}],
"partner": {
"id": 15,
"name": "Partner Name"
},
"documents": [{
"id": 15,
"title": "Instruction Guide",
"src": "http://www.urartuuniversity.com/content_images/pdf-sample.pdf"
}],
"images": [{
"source": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg"
}],
"seo": {
"url": "url-do-meu-produto",
"title": "Title of my product",
"metaDescription": "meta descriptions, separated by comma"
},
"gtins": {
"mpn": "089776987887",
"ean": "089776987887",
"jan": "089776987887",
"isbn": "089776987887"
},
"attributeGroups": [{
"id": 16,
"name": "Tamanho",
"attribute": {
"id": 25,
"name": "P",
"value": "P",
"type": "width"
}
}],
"related": [{
"sku": "ASD123",
"type": "simple"
}],
"kits": [{
"sku": "ASD123",
"type": "simple"
}],
"simple": [{
"sku": "ASD123",
"type": "simple"
}]
},
],
"next": "http://api.00k.srv.br/catalog/products/all?page=1"
}
AtualizaçãoPUT/catalog/import/{campo}/{id}
Atualiza os dados de determinado produto. O produto pode ser identificado pelo id interno da 00K, pelo sku ou pelo external_id (id externo informado pelo sistema do lojista no momento da criação do produto).
Os campos sku e externalId podem ser incluídos no payload para serem atualizados.
Example URI
- campo
string
(required) Example: idIndica em qual campo a busca pelo único produto deve ser realizado
Choices:
id
sku
external_id
- id
string
(required) Example: 123Chave do único produto (ver parametro
campo
)
Headers
Authorization: {String}
Content-Type: application/json;charset=UTF-8
Body
{
"sku": "99jjs8",
"externalId": 12345,
"info": {
"name": "Produto Teste - Favor não ofertar",
"subtitle": "Produto Teste - Não oferte",
"status": 1,
},
"price": [{
"list": 500,
"value": 499.99
}],
"dimensions": {
"height": 45,
"width": 35,
"length": 25,
"weight": 500
},
"categoriesId": 15,
"brandId": 15
}
200
ImportaçãoPOST/catalog/import/{?verify_categories,verify_brands}
A inserção de produtos é feita de maneira off-line, portanto uma resposta bem-sucedida contém o status HTTP 202 Accepted
, acompanhado de um objeto contendo um id de processamento que poderá ser utilizado no endpoint em /catalog/products/process/{processId}
para recuperar os dados dos produtos criados.
Schema
Este endpoint suporta o recebimento de um único produto ou uma Array
com uma série de Produtos na mesma estrutura.
Os dados de entidades relacionadas são criadas juntamente com o Produto informado, porém caso o identificador presente nos dados da entidade relacionada (ex.: categories[].id
, brand.externalId
, etc.) refira-se a uma entidade já existente em nossa base, o restante dos dados não serão considerados e o Produto será vinculado às entidades existentes.
-
id:
integer
(optional) - Id interno da 00K, este campo ou sku devem estar presentes -
sku:
string
(optional) - SKU do produto, este campo ou id devem estar presentes -
externalId:
string
(optional) - Id externo da base do cliente, pode ser utilizado como identificador em outros endpoints para referencia a determinado produto. -
type:
string
(required) - Tipo do produto, deve possuir um dos valores abaixo.- Members
"simple"
"group"
"kit"
- Members
-
info:
Object
(required) - Dados básicos do produto:- name:
string
(required) - Nome do produto - subtitle:
string
(required) - Descrição básica do produto, máximo de 140 caracteres. - status: (integer|string, required) -
1|"ativo"
para produto ativo,0|"inativo"
para produto inativo - published (integer|string, optional) -
1|"publicado"
,0|"não publicado"
- model:
string
(required) - Modelo do produto - itemFlag:
string
(optional) - Flag do produto
- name:
-
stock:
Array
(required) - Lista de estoque, possibilidade futura para múltiplos warehouses, no momento é considerado somente o primeiro item.- info:
Object
(required) - Dados básicos do estoque em um warehouse- quantity:
integer
(required) - Quantidade disponível - minimum:
integer
(required) - Quantidade mínima a ser mantida - status:
integer
(optional) - Informa lógica especial para estoque, a inclusão deste campo faz o sistema ignorar os anteriores.- Members
0
- Sem Estoque1
- Venda sem estoque2
- Pré venda
- Members
- quantity:
- location
Object
(optional) - Dados de localização para multiplos warehouses, por enquanto ignorado
- info:
-
price:
Array
(required) - Lista de preços, suporte futuro a múltiplos preços, no momento é considerado somente o primeiro item.- list:
number
(required) - Preço de listagem - value:
number
(required) - Preço de venda
- list:
-
dimensions:
Object
(required) - Dimensões do produto- height:
number
(required) - Altura - width:
number
(required) - Largura - length:
number
(required) - Comprimento - weight:
integer
(required) - Peso em gramas
- height:
-
freight:
Object
(optional) - Dados de frete- free:
integer
(optional) -1
para frete grátis - fixed:
number
(optional) - Valor fixo de frete - additional:
number
(optional) - Valor adicional de frete - deadline:
integer
(optional) - Prazo de entrega em quantidade de dias corridos. - freeRange:
Object
(optional) - Intervalo de CEPs com frete grátis- start:
string
(required) - Início do intervalo de CEPs - end:
string
(required) - Fim do intervalo de CEPs
- start:
- free:
-
categories:
Array
(required) - Categorias a serem criadas/vinculadas ao produto -
images:
Array
(optional) - Imagens do produto- source:
String
(required) - URL de origem da imagem do produto. Essa URL será acessada por nosso servidor e seu conteúdo baixado.
- source:
-
brand:
Object
(required) - Marca e fabricante do produto- info:
Object
(required) - Dados básicos da marca- id:
integer
(optional) - Id interno da 00K, este campo ou externalId devem estar presentes - externalId:
string
(optional) Id da loja parceira, este campo ou id devem estar presentes - name:
string
(required) - Nome da marca
- id:
- manufacturer:
Object
(required) - Dados do fabricante- id:
integer
(optional) - Id interno da 00K, este campo ou externalId devem estar presentes - externalId:
string
(optional) Id da loja parceira, este campo ou id devem estar presentes - name:
string
(required) - Nome do fabricante
- id:
- info:
-
descriptions
Array
(optional) - Descrições longas do produto, contém o conteúdo a ser exibido nos anúncios, pode incluir conteúdo em HTML- title
string
(required) - Chave da descrição - text
string
(required) - Conteúdo da descrição, texto longo
- title
-
gtins:
Object
(optional) - Dados de identificadores internacionais- mpn:
string
(optional) - MPN - ean:
string
(optional) - EAN - jan:
string
(optional) - JAN - isbn:
string
(optional) - ISBN
- mpn:
-
seo:
Object
(optional) - Dados de seo do produto- url
string
(optional) - url do produto - title
string
(optional) - titulo do produto no seo - metaDescription
string
(optional) - meta description do produto
- url
Example URI
- verify_categories
boolean
(optional) Example: falseFlag indicando se dados de categoria incluidas no produto devem somente referenciar categorias existentes ou inserir novas categorias.
- verify_brands
boolean
(optional) Example: falseFlag indicando se dados de marcas incluidas no produto devem somente referenciar marcas existentes ou inserir novas marcas.
Headers
Authorization: {String}
Content-Type: application/json;charset=UTF-8
Body
[{
"id": 215,
"sku": "99jjs8",
"externalId": 12345,
"type": "simple",
"info": {
"name": "Produto Teste - Favor não ofertar",
"subtitle": "Produto Teste - Não oferte",
"status": 1,
"published": 0,
"model": "3KFD9KK48DFK",
"itemFlag": 'Flag produto'
},
"stock": [{
"info": {
"quantity": 15,
"minimum": 15
},
"location": {
"id": 2,
"name": "Locality name"
}
}],
"price": [{
"list": 500,
"value": 499.99,
"expireDate": "2015-06-02T20:33:02:0000Z"
}],
"dimensions": {
"height": 45,
"width": 35,
"length": 25,
"weight": 500
},
"freight": {
"free": 1,
"fixed": 15.00,
"additional": 45,
"deadline": 25,
"freeRange": {
"start": "04688010",
"end": "05872130"
}
},
"categories": [{
"id": 15,
"name": "Product X Category",
"description": "Category Description",
"slug": "product-x-category",
"metaKeywords": "meta, descriptions, whatever",
"externalId": "450"
}],
"images": [{
"source": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg"
}],
"brand": {
"info": {
"id": 15,
"name": "Brand Name",
"externalId": "15"
},
"manufacturer": {
"id": 15,
"name": "Manufacturer Name",
"externalId": "15"
}
},
"descriptions": [{
"title": "Description Title",
"text": "Description Text"
}],
"gtins": {
"mpn": "089776987887",
"ean": "089776987887",
"jan": "089776987887",
"isbn": "089776987887"
},
"seo": {
"url": "produto-teste-favor-nao-ofertar",
"title": "title, separated by comma",
"metaDescription": "meta description, separated by comma"
}
}]
202
Body
{
"data": {
"proccessId": "5f3c27ab-8a4b-4c6b-a8bd-be11847429b1"
}
}
RemoçãoDELETE/catalog/products/{type}/{id}
Example URI
- type
string
(required) Example: stringTipo do produto a ser apagado. São suportados apenas
kit
,group
esimple
- id
string
(required) Example: stringId do produto a ser apagado.
Headers
Authorization: `string`
Content-Type: application/json;charset=UTF-8
200
Body
{
"updated": {
"type": "simple",
"id": "1558"
}
}
Atualização ¶
Estoque de único produto ¶
Estoque de único produtoPUT/catalog/products/stock/{campo}/{id}
Example URI
- campo
string
(required) Example: idIndica em qual campo a busca pelo único produto deve ser realizado
Choices:
id
sku
external_id
- id
string
(required) Example: 123Chave do único produto (ver parametro
campo
)
Headers
Authorization: `string`
Content-Type: application/json;charset=UTF-8
Body
{
"info": {
"quantity": 15,
"minimum": 15
},
"location": {
"id": 2
}
}
200
Estoques em batch ¶
Estoques em batchPUT/catalog/products/stock
Este endpoint atualiza o estoque de vários produtos em uma única requisição.
Para cada produto com seu estoque a ser atualizado no request, deve ser informado um dos três campos a servir como chave:
-
id - Id interno da 00K
-
sku - SKU do produto
-
externalId - Id externo (ID interno de sua loja, caso cadastrado juntamente com a criação do produto)
Example URI
Headers
Authorization: `string`
Content-Type: application/json;charset=UTF-8
Body
[
{
"id": 215,
"sku": "99jjs8",
"externalId": 12345,
"stock": [
{
"info": {
"quantity": 15,
"minimum": 15
}
}
]
},
{
"id": 216,
"sku": "99jjs8",
"externalId": 12346,
"stock": [
{
"info": {
"quantity": 15,
"minimum": 15
},
"location": {
"id": 2
}
}
]
}
]
200
Preços em batch ¶
Preços em batchPUT/catalog/products/price
Este endpoint atualiza o valor de vários produtos em uma única requisição.
Para cada produto com seu valor a ser atualizado no request, deve ser informado um dos três campos a servir como chave:
-
id - Id interno da 00K
-
sku - SKU do produto
-
externalId - Id externo (ID interno de sua loja, caso cadastrado juntamente com a criação do produto)
Example URI
Headers
Authorization: `string`
Content-Type: application/json;charset=UTF-8
Body
[
{
"id": 215,
"price": [
{
"list": 500,
"value": 499.99
}
]
},
{
"sku": "99jjs8",
"price": [
{
"list": 500,
"value": 499.99
}
]
}
]
200
Processos ¶
Recuperação de resultados de processos de importação de produtos.
Processos ¶
Produtos de um processoGET/catalog/products/process/{processId}
Example URI
- processId
string
(required) Example: de305d54-75b4-431b-adb2-eb6b9e546014Id do processo
Headers
Authorization: `string`
Content-Type: application/json;charset=UTF-8
200
Body
{
"total": 1,
"items": [
{
"id": 215,
"sku": "99jjs8",
"externalId": 12345,
"type": "simple",
"info": {
"name": "Produto Teste - Favor não ofertar",
"subtitle": "Produto Teste - Não oferte",
"status": 1,
"updatedAt": "2015-06-02T20:33:02.000Z",
"createdAt": "2015-06-02T20:33:02.000Z",
"model": "3KFD9KK48DFK"
},
"stock": [{
"info": {
"quantity": 15,
"minimum": 15
},
"location": {
"id": 2,
"name": "Locality name"
}
}],
"price": [{
"list": 500,
"value": 499.99,
"expireDate": "2015-06-02T20:33:02:0000Z"
}],
"dimensions": {
"height": 45,
"width": 35,
"length": 25,
"weight": 500
},
"freight": {
"free": 1,
"fixed": 15.00,
"additional": 45,
"deadline": 25,
"freeRange": {
"start": "04688010",
"end": "05872130"
}
},
"categories": [{
"id": 15,
"name": "Product X Category",
"description": "Category Description",
"slug": "product-x-category",
"metaKeywords": "meta, descriptions, whatever",
"imageSource": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg",
"externalId": "450"
}],
"brand": {
"info": {
"id": 15,
"name": "Brand Name",
"imageSource": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg",
"externalId": "15"
},
"manufacturer": {
"id": 15,
"name": "Manufacturer Name",
"imageSource": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg",
"externalId": "15"
}
},
"descriptions": [{
"id": 15,
"title": "Description Title",
"text": "Description Text"
}],
"partner": {
"id": 15,
"name": "Partner Name"
},
"documents": [{
"id": 15,
"title": "Instruction Guide",
"src": "http://www.urartuuniversity.com/content_images/pdf-sample.pdf"
}],
"images": [{
"source": "http://www.brightlinkprep.com/wp-content/uploads/2014/04/sample.jpg"
}],
"seo": {
"url": "url-do-meu-produto",
"title": "Title of my product",
"metaDescription": "meta descriptions, separated by comma"
},
"gtins": {
"mpn": "089776987887",
"ean": "089776987887",
"jan": "089776987887",
"isbn": "089776987887"
},
"attributeGroups": [{
"id": 16,
"name": "Tamanho",
"attribute": {
"id": 25,
"name": "P",
"value": "P",
"type": "width"
}
}],
"related": [{
"sku": "ASD123",
"type": "simple"
}],
"kits": [{
"sku": "ASD123",
"type": "simple"
}],
"simple": [{
"sku": "ASD123",
"type": "simple"
}]
},
],
"next": "http://api.00k.srv.br/catalog/products/all?page=1"
}
Categorias ¶
Categorias ¶
ListagemGET/catalog/categories/{id}{?externalid,name}
Example URI
- id
string
(optional) Example: 1- externalid
string
(optional) Example: 123Id externo (ID interno de sua loja, caso cadastrado juntamente com a criação do produto)
- name
string
(optional) Example: CategoriaConteúdo do nome da categoria
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
200
Headers
Content-Type: application/json
Body
[
{
"id": 123,
"name": "Categoria Teste",
"description": null,
"parent": null,
"url": "categoria-teste",
"keywords": null,
"externalId": "4321"
}
]
ImportaçãoPOST/catalog/categories
Através do campo parent
é possível criar imediatamente uma categoria pai à que está sendo informada, ou vincular numa categoria existente informando somente o id
interno da categoria pai ou seu externalId
, conforme exemplo em Request
.
No momento este endpoint retorna somente os ids para categorias raíses criadas, porém esse retorno garante a criação com sucesso das categorias pais.
Example URI
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
Body
[{
"name": "Example Category",
"description": "Category Description",
"slug": "example-category",
"metaKeywords": "meta, example",
"externalId": 123,
"parent": {
"name": "Parent Category",
"description": "Parent example",
"slug": "example-category",
"metaKeywords": "meta, example",
"externalId": 125
}
}, {
"name": "Another Category",
"description": "Category Example",
"slug": "another-category",
"metaKeywords": "meta, another, example",
"externalId": 124,
"parent": {
"externalId": 127 // vincular com categoria existente
}
}]
201
Headers
Content-Type: application/json
Body
[
{
"id": 53
},
{
"id": 54
}
]
Marcas ¶
Marcas ¶
ListagemGET/catalog/brands/{id}{?externalid,name}
Example URI
- id
string
(optional) Example: 1- externalid
string
(optional) Example: 123Id externo (ID interno da marca em sua loja, caso cadastrado juntamente com a criação do produto)
- name
string
(optional) Example: MarcaConteúdo do nome da marca
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
200
Headers
Content-Type: application/json
Body
[
{
"id": 1,
"name": "Brand Name",
"imageSource": "image.jpg",
"externalId": "15"
}
]
ImportaçãoPOST/catalog/brands
Example URI
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
Body
{
"info": {
"name": "Brand Name",
"externalId": "15"
},
"manufacturer": {
"name": "Manufacturer Name",
"externalId": "15"
}
}
201
Headers
Content-Type: application/json
Body
{
"id": 1
}
Orders ¶
Listagem ¶
ListagemGET/orders/{id}{?external_id,marketplace,start,end,page,trans_id,marketplace_id,status,with_pendency,erp_sent,erp_type,with_warnings}
Example URI
- id
integer
(optional) Example: 1Id interno da 00k para a Order, busca por uma única Order
- external_id
integer
(optional) Example: 123Id externo da Order
- marketplace
string
(optional) Example: mercadolibreNome do marketplace
- start
Date
(optional) Example: 2014-05-12Data de início para filtragem
- end
Date
(optional) Example: 2014-05-13Data de fim para filtragem. Caso ausente, considera-se a data atual
- page
Date
(optional) Example: 1Paginamento do resultado. Cada página retorna um máximo de 30 registros.
- trans_id
string
(optional) Example: 9098909809808Id da transação do pedido
- marketplace_id
string
(optional) Example: 9098909809808Id do pedido no marketplace
- status
string
(optional) Example: awaiting_paymentFiltra por status do pedido
Choices:
awaiting_payment: Aguardando Pagamento
accepted_payment: Pagamento Aceito
pick_and_pack: Pick and Pack
shipped: Pedido enviado
delivered: Pedido entregue
- with_pendency
string
(optional) Example: trueFiltra por pendencias no pedido
Choices:
true
false
- with_warnings
string
(optional) Example: trueFiltra por críticas no pedido
Choices:
true
false
- erp_sent
string
(optional) Example: trueFiltra se o pedido já foi enviado a algum erp
Choices:
true
false
- erp_type
string
(optional) Example: abacosFiltra pedidos enviados a determinado erp
Choices:
tiny
bling
informix
sony
abacos
eccosys
millenium
softvar
sap
- order_origin
string
(optional) Example: mercadolivreFiltra pedidos por origem
Choices:
ecommerce
mercadolivre
sistema
b2w_shoptime
b2w_submarino
b2w_americanas
cnova
b2w_sou_barato
wallmart
cnova_extra
cnova_casas_bahia
cnova_ponto_frio
cnova_cdiscount
cnova_barateiro
cnova_ehub
b2w
mercadoshops
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
200
Headers
Content-Type: application/json
Body
{
"total": 1,
"items": [
{
"order": {
"statusHistory": [
{
"new": {
"substatus": "delivered",
"status": "delivery"
},
"old": {
"substatus": null,
"status": "shipped"
},
"date": "2015-07-07T17:44:18.000Z"
},
{
"new": {
"substatus": null,
"status": "shipped"
},
"old": {
"substatus": "packaged",
"status": "pickandpack"
},
"date": "2015-06-30T19:37:03.000Z"
},
{
"new": {
"substatus": "packaged",
"status": "pickandpack"
},
"old": {
"substatus": "billed",
"status": "pickandpack"
},
"date": "2015-06-30T19:36:52.000Z"
},
{
"new": {
"substatus": "billed",
"status": "pickandpack"
},
"old": {
"substatus": "separated",
"status": "pickandpack"
},
"date": "2015-06-30T19:36:49.000Z"
},
{
"new": {
"substatus": "separated",
"status": "pickandpack"
},
"old": {
"substatus": "paid",
"status": "payment"
},
"date": "2015-06-27T09:00:04.000Z"
},
{
"new": {
"substatus": "paid",
"status": "payment"
},
"old": {
"substatus": "payment",
"status": "pending"
},
"date": "2015-06-27T08:44:13.000Z"
},
{
"new": {
"substatus": "payment",
"status": "pending"
},
"old": {
"substatus": null,
"status": null
},
"date": "2015-06-27T08:44:11.000Z"
}
],
"date": "2015-06-26T18:15:43.000Z",
"externalId": 123456,
"id": 123456,
"marketPlace": "mercado-libre",
"marketPlaceId": 1234567,
"origin": 4,
"status": "delivery",
"substatus": "delivered",
"token": "1234567890abcdef",
"externalIdAlias": "00K12345",
"total": 289.89,
"discount": 0
},
"freight": {
"isAR": false,
"isVD": false,
"isSigep": 0,
"tracking": [
"1123456-3"
],
"name": "PAC sem contrato",
"value": 0,
"code": "12345",
"deadline": 10
},
"pending": {
"document": true,
"payment": true,
"token": "1234567890abcdef",
"email": true,
"address": false,
"attribute": true
},
"shipping": {
"shippedDate": null,
"deliveredDate": "2015-08-19T21:00:19.000Z",
"origin": 1,
"handledDate": null,
"handlingDate": null,
"estimatedDate": "2015-08-19T21:01:12.000Z",
"packages": null,
"realValue": null
},
"invoice": {
"serie": 3,
"accessKey": "123456789000987654321",
"number": 123456,
"date": "2015-08-03T21:51:03.000Z"
},
"erp": [
{
"errorMessage": null,
"sent": true,
"error": false,
"sentDate": "2015-06-26T18:15:43.000Z",
"type": "erp"
}
],
"erpLength": 1,
"operator": null,
"customer": {
"birthdate": "1980-01-01T00:00:00.000Z",
"cnpj": null,
"cpf": "1234567890",
"email": "[email protected]",
"id": 11680332,
"ie": null,
"gender": "male",
"name": "Cliente da Silva",
"nicknameML": "ClienteUser",
"phone": [
{
"areaCode": "11",
"countryCode": "55",
"numberExtension": null,
"number": "912345678",
"type": "home"
}
],
"rg": null,
"status": "inactive",
"type": "individual"
},
"address": {
"adjunct": null,
"id": 4980,
"city": "Pindamonhangaba",
"country": "BR",
"number": "80",
"recipient": "Cliente da Silva",
"region": "Região",
"state": "SP",
"street": "Rua Principal",
"type": "home",
"zip": "1234567"
},
"products": [
{
"erpId": null,
"childsLength": 0,
"cfop": null,
"image": "http://a.com/1.jpg",
"kitId": null,
"sku": "95483870",
"productId": "247",
"groupId": null,
"stockLocal": null,
"name": "Produto",
"value": 123.45,
"childs": null,
"quantity": 1,
"attributes": null,
"marketPlaceId": "ML123412341"
}
],
"productsLength": 1,
"productsTotal": 123.45,
"interactions": [
{
"description": "O operador trocou o status para Pedido entregue",
"origin": "administration",
"action": "Alteração de status",
"date": "2015-07-07T17:44:18.000Z"
},
{
"description": "O operador trocou o status para Pedido enviado e o codigo de rastreamento para 473278-3",
"origin": "administration",
"action": "Alteração de status",
"date": "2015-06-30T19:37:03.000Z"
},
{
"description": "O operador trocou o status para Pick and Pack e o estagio para EMBALADO",
"origin": "administration",
"action": "Alteração de estagio",
"date": "2015-06-30T19:36:52.000Z"
},
{
"description": "O operador trocou o status para Pick and Pack e o estagio para FATURADO",
"origin": "administration",
"action": "Alteração de estagio",
"date": "2015-06-30T19:36:49.000Z"
}
],
"warnings": null,
"mercadoLibre": {
"shipping": {
"substatus": null,
"id": "21434399810",
"dateFirstPrinted": null,
"shipmentPickupId": null,
"status": "not_verified",
"pickingType": null,
"totalTimesPrinted": null,
"mode": "me1",
"value": 33.22
},
"questions": null,
"qualifications": [
{
"message": "Ótimo comprador. Esperamos fazer novos negócios.",
"fromBuyer": false,
"fulfilled": true,
"reason": null,
"createdAt": "2015-07-07T03:40:37.000Z",
"reply": null,
"rating": "positive"
},
{
"message": "Ótimo vendedor, encomenda chegou rápido e antes do previsto!\r\nAtendimento para esclarecer dúvidas muito rápido. Resumindo Satisfeitíssimo!",
"fromBuyer": true,
"fulfilled": true,
"reason": null,
"createdAt": "2015-07-06T19:20:04.000Z",
"reply": null,
"rating": "positive"
}
],
"hasQualificationFromBuyer": true,
"hasQualificationFromSeller": true
},
"payments": [
{
"transactionId": "asdflkj",
"gateway": "mercadopago",
"paidAt": "2015-06-27T08:43:59.000Z",
"status": "paid",
"gatewayTransactionId": "123",
"origin": 4,
"marketPlaceFee": null,
"operator": null,
"installments": 1,
"creditCard": null,
"id": 4938,
"substatus": null,
"createdAt": "2015-06-26T18:22:20.000Z",
"value": 123.45,
"bank": null,
"method": "boleto"
}
],
"paymentsLength": 1,
"paymentsTotal": 123.45
}
],
"next": "?page=2",
"previous": "?page=0"
}
Atualização de Status ¶
Atualização de StatusPUT/orders/{id}/status
Este endpoint destina-se a realizar a atualização de status de uma ou mais Orders.
SCHEMA
-
status:
string
(required) - Status para atualização da ordem, pode assumir os seguintes valores:- Members
- pickandpack: Pick and Pack (requer substatus)
- shipped: Pedido enviado
- delivery: Entrega do Pedido (requer substatus)
- cancelled: Pagamento Cancelado
- Members
-
substatus:
string
(optional) - Sub-status para atualização da ordem obrigatório quando status for pickandpack ou delivery, pode assumir os seguintes valores:- Members
- pickandpack
- outofstock: Sem estoque
- separated: Separado
- billed: Faturado
- packaged: Embalado
- delivery
- notdelivered: Não entregue
- delivered: Entregue
- pickandpack
- Members
Example URI
- id
integer
(required) Example: 1Id interno da 00K para a Order
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
Body
{
"status": "pickandpack",
"substatus": "billed"
}
200
Atualização de SRO ¶
Atualização de SROPUT/orders/{id}/tracking
Este endpoint destina-se a realizar a atualização de dados de SRO (Serviço de Rastreamento de Objeto). OBS: Apenas um dos campos é obrigatório
SCHEMA
- trackings:
Array
(required) - identificadores SRO
Example URI
- id
integer
(required) Example: 1Id interno da 00K para a Order
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
Body
{
"trackings": [
"XY123456789BR"
]
}
200
Inserir nota fiscal ¶
Inserir nota fiscalPUT/orders/{id}/invoice
SCHEMA
-
serie:
1
string
(required) - Indica o numero da serie da nota fiscal -
acessKey:
36950810406261000129550020000349261000102001
string
(required) - Indica a chave de acesso a esta nota fiscal -
number:
34396
string
(required) - Indica o número da nota fiscal a ser inserida -
date:
2015-08-21T03:00:00.000Z
date
(required) - Indica a data da nota fiscal -
value:
50.99
float
(required) - Indica o valor total da nota -
products:
Array
(required) - Lista de estoque, possibilidade futura para múltiplos warehouses, no momento é considerado somente o primeiro item.-
- type:
string
(required) - Tipo do produto. São suportados apenaskit
esimple
- sku:
string
(required) - Sku do produto a ser inserido seu devido CFOP - cfop:
integer
(required) - Informa o devido CFOP para o produto
- type:
-
Example URI
- id
integer
(required) Example: 1Identificador da Ordem na 00K
Headers
Content-Type: `application/json;charset=UTF-8`
Authorization: `{String}`
Body
{
"serie": 1,
"accessKey": "35150810406561000149550010000349861000108001",
"number": 34986,
"date": "2015-08-21T03:00:00.000Z",
"value": 20.58,
"products": [
{
"type": 'kit',
"sku": "2647",
"cfop": 6108
}
]
}
204