Pedidos
Listando Pedidos
O endereço abaixo pode ser utilizado para listar todos os pedidos com paginação, retornando até 500 pedidos por requisição.
GET
/pedidos
{ "total": 1, "per_page": 500, "current_page": 1, "last_page": 1, "next_page_url": null, "prev_page_url": null, "from": 1, "to": 1, "last_page_url": "https://ev.kapsula.com.br/api/v1/pedidos?page=1", "first_page_url": "https://ev.kapsula.com.br/api/v1/pedidos?page=1", "path": "https://ev.kapsula.com.br/api/v1/pedidos", "data": [ { "id": 9127462, "referencia_externa": null, "qtd_itens": 1, "frete": 2000, "tipo_frete": "PAC", "created_at": "2017-07-29 12:02:49", "updated_at": "2017-07-29 12:34:49", "status_code_id": 7, "status": "Enviado", "id_monetizze": "xxxxxxxxxx", "codigo_rastreio": "xxxxxxxxxxxxx", "motivo_parado_id": null, "itens": [ { "id": 3456, "quantidade": 1, "valor_unitario": 25700, "subtotal": 25700, "pacote_id": 234, "codigo_plataforma": null, "descricao": "1 Pote", "created_at": "2017-07-29 12:34:49", "updated_at": "2017-07-29 12:34:49" } ], "notasFiscais": [], "cliente": { "id": 32434244, "pais": "Brasil", "nome": "xxxx xxxxxxxxxx xxxxxxx", "sexo": null, "cpf": "xxxxxxxxxxx", "data_nascimento": null, "email": "xxxx@xxxxxx.com", "endereco": "xxxx xxxxxx xxx xxxxxx", "numero": "xxx", "complemento": "apto 401", "bairro": "xxxxxxx xxxxxxx", "cidade": "Vila Velha", "estado": "ES", "cep": "xxxxxxxxx", "telefone": "xx xxxxxxxxx", "celular": "", "referencia_externa": null, "created_at": "2017-07-29 12:34:49", "updated_at": "2017-07-29 12:34:49" } } ] }
Pedidos por Status
Caso queria obter os pedidos de um determinado status, a requisição deve ser a mesma utilizada ao listar todos os pedidos, apenas acrescente o parâmetro status
na requisição GET
.
GET
/pedidos?status=x
Observação: O código do status desejado pode ser conferido acessando Possíveis Status dos Pedidos, código e descrição
Pedidos de um Cliente
Caso queria obter os pedidos de um determinado cliente, a requisição deve ser a mesma utilizada ao listar todos os pedidos, apenas acrescente os parâmetros cpf
ou email
na requisição GET
.
GET
/pedidos?cpf=xxxxxxxxxxx&email=xxxx@xxxxxx.com
Observações: Você pode ordenar o resultado das consultas de acordo com a data de criação dos pedidos, enviando o parâmetro order
nas requisições com um dos valores possíveis:
asc
para ordem crescente.desc
para ordenação decrescente.
Por padrão os pedidos retornados estão em ordem crescente.
Obtendo um Pedido
Para obter informações de um determinado pedido, basta realizar uma requisição do tipo GET
na rota /pedidos/ID
com o ID
ou ID Monetizze
do pedido.
GET
/pedidos/ID
{ "code": 200, "pedido": { "id": 9127462, "referencia_externa": null, "qnt_itens": 1, "frete": 0, "tipo_frete": "PAC", "created_at": "2017-08-21 16:00:20", "updated_at": "2018-07-10 15:42:11", "status_code_id": 7, "status": "Enviado", "id_monetizze": "xxxxxxxxxx", "codigo_rastreio": "xxxxxxxxxxxxx", "motivo_parado_id": null, "transportadora": "CORREIO", "data_entrega": null, "itens": [ { "id": 3456, "quantidade": 1, "valor_unitario": 25700, "subtotal": 25700, "pacote_id": 234, "codigo_plataforma": null, "descricao": "1 Pote", "created_at": "2017-07-29 12:34:49", "updated_at": "2017-07-29 12:34:49" } ], "notasFiscais": [], "cliente": { "id": 32434244, "pais": "Brasil", "nome": "xxxx xxxxxxxxxx xxxxxxx", "sexo": null, "cpf": "xxxxxxxxxxx", "data_nascimento": null, "email": "xxxx@xxxxxx.com", "endereco": "xxxx xxxxxx xxx xxxxxx", "numero": "xxx", "complemento": "apto 401", "bairro": "xxxxxxx xxxxxxx", "cidade": "Vila Velha", "estado": "ES", "cep": "xxxxxxxxx", "telefone": "xx xxxxxxxxx", "celular": "", "referencia_externa": null, "created_at": "2017-07-29 12:34:49", "updated_at": "2017-07-29 12:34:49" } } }
Registrando Pedidos
Para criar pedidos, a rota utilizada é /pedidos
com o método POST
. Abaixo segue um exemplo dos campos e dados a serem enviados.
POST
/pedidos
{ "cliente_id": 5637321, "pacote_id": 2344, "tipo_frete": 0, "valor_venda": "", // Opcional: em centavos se informado (ex 372.00 * 100 = 37200) "notafiscal": { // Opcional "chave" : "3476345634838532753278435934834", "numero" : "1111", "valor" : "1111", "imposto" : "22", "link_pdf" : "https://link_do_pdf", "link_xml" : "https://link_do_xml" // Opcional }, "referencia_externa" : "", // Opcional, pode ser usado para integração "info_extra_notafiscal": { // Opcional, usado para adicionar informações extras na NotaFiscal "descricao": "Referente ao contrato: 0ddf57cb-6d98-4a98-865a-1d3f10032e57", // Informações que irão na parte de descrição da nota fiscal "duplicatas": [ // Campo referente as informações de código, data de vencimento e valor das duplicatas { "codigo": "45678", "data_vencimento": "2021-10-10", "valor": "2500" // Em centavos se informado (ex 372.00 * 100 = 37200) } ] } }
Se tudo estiver correto, o retorno será uma mensagem de sucesso com o ID
do novo pedido.
{ "code": 200, "message": "Pedido Criado com Sucesso", "pedido": 34254 }
Observações:
- O tipo de frete pode variar entre os tipos
PAC => 0
eSEDEX => 1
. - Se uma Nota Fiscal for enviada, ela será registrada com status de
Autorizada
e o pedido seráFaturado
. - Os valores monetários da Nota Fiscal e das Informações extras devem ser informados em centavos (ex.: 11,11 x 100 => 1111 )
- As propriedades do campo opcional
info_extra_notafiscal
são informações que a API utilizará para montar os dados extras que serão enviados para o serviço gerador de nota fiscal. Todas as propriedades do campo se tornam obrigatórias se enviadas.
Atualizar Pedidos
Até o presente momento as únicas atualizações que podem ser realizadas sobre o pedido é em relação ao seu status e o item a ser enviado.
Os status permitidos para atualização são: FATURADO => 3
, ESTORNADO => 6
e CANCELADO => 9
Para realizar a troca do item, o pedido deve estar na seguinte situação:
- Não ter Baixa no Estoque
- Não possuir Nota Fiscal Emitida
- Estar dentre os status:
Código | Descrição |
---|---|
1 | PENDENTE |
8 | PARADO |
10 | FATURAMENTO AGENDADO |
11 | CORREÇÃO |
13 | FALHA FATURAMENTO |
Para realizar tal procedimento, envie uma requisição PUT
na rota /pedidos/ID
conforme o exemplo:
PUT
/pedidos/ID
{ "status": 3, // Opcional "pacote_id": 2353, // Opcional "valor_venda": 39400 // Opcional (em centavos), campo considerado somente se pacote_id for informado }
Caso a atualização seja concluída, será retornada uma mensagem e o pedido atualizado.
{ "code": 200, "message": "Pedido entrou na rotina de faturamento", "pedidos": { "id": 9127462, "referencia_externa": null, "qnt_itens": 1, "frete": 0, "tipo_frete": "PAC", "created_at": "2017-08-21 16:00:20", "updated_at": "2018-07-10 15:42:11", "status_code_id": 7, "status": "Faturamento Agendado", "id_monetizze": "xxxxxxxxxx", "codigo_rastreio": "xxxxxxxxxxxxx", "motivo_parado_id": null, "transportadora": "CORREIO", "data_entrega": null, "itens": [ { "id": 3456, "quantidade": 1, "valor_unitario": 25700, "subtotal": 25700, "pacote_id": 234, "codigo_plataforma": null, "descricao": "1 Pote", "created_at": "2017-07-29 12:34:49", "updated_at": "2017-07-29 12:34:49" } ], "notasFiscais": [], "cliente": { "id": 32434244, "pais": "Brasil", "nome": "xxxx xxxxxxxxxx xxxxxxx", "sexo": null, "cpf": "xxxxxxxxxxx", "data_nascimento": null, "email": "xxxx@xxxxxx.com", "endereco": "xxxx xxxxxx xxx xxxxxx", "numero": "xxx", "complemento": "apto 401", "bairro": "xxxxxxx xxxxxxx", "cidade": "Vila Velha", "estado": "ES", "cep": "xxxxxxxxx", "telefone": "xx xxxxxxxxx", "celular": "", "referencia_externa": null, "created_at": "2017-07-29 12:34:49", "updated_at": "2017-07-29 12:34:49" } } }
Em caso de falha, será retornada uma mensagem com infomações a respeito do erro seguindo o padrão:
{ "code": "", // algum codigo do padrão http [200, 202, 400, 401] "message": "mensagem de erro" }
Pedidos com Carrinho
É possível fazer o registro de pedidos na forma de carrinho com vários itens. Para isso, utilize o método POST
no enpoint /pedidos/shopping-cart
enviando os seguintes campos.
POST
/pedidos/shopping-cart
{ "cliente_id": 5637321, "tipo_frete": 0, // 0 => PAC; 1 => SEDEX "frete_fixo": 0, // 0 => Frete Variável; 1 => Frete Fixo "valor_venda": 37200, // Em centavos (372.00 * 100 = 37200) "itens": [ { "produto": 1, // código do produto registrado no sistema "quantidade": 10 // quantidade total do produto no pedido }, { "produto": 2, "quantidade": 40 }, { "produto": 3, "quantidade": 50 } ] }
Observações:
- A quantidade máxima total de itens no pedido é de 100 unidades.
- O valor do frete fixo será R$ 30,00. Frete fixo só é possível se e o pacote tiver menos que 2kg e todos os produtos nele tiverem logística descentralizada.
Caso tudo ocorra corretamente o retorno será:
{ "code": 200, "message": "Pedido(s) Registrado(s) com Sucesso!", "pedidos": [12321, 12322] }