Visão Geral
Introdução à API
A Pilar Collector disponibiliza uma interface de programação web, no modelo REST. Por meio dessa interface, é possível conversar com o sistema da Pilar, comandando ações, verificando configurações e realizando a sincronização com os seus sistemas.
O endereço base de comunicação é pilarcollector.com.br
, acompanhado sempre do protocolo seguro https://
como prefixo. As versões da API são agrupadas por diretório, sufixadas ao endereço base (https://pilarcollector.com.br/api/
).
Endereço para comunicação com a API
Este documento trata da versão da API 1.0.
O endereço para se comunicar através desta versão é:
https://pilarcollector.com.br/api/
Autenticação
A autenticação na Pilar Collector é feita através da utilização de uma chave de API. Esta chave serve para que o sistema identifique a sua conta, e concede permissões para que o sistema se comunique com a pilar em nome da conta em questão.
[POST] https://pilarcollector.com.br/api/v2/obter-token/
Parâmetros:
- usuario (string obrigatório)
- senha (string obrigatório)
Exemplo de chamada (cURL):
curl --location --request POST 'https://pilarcollector.com.br/api/v2/obter-token/' \
--header 'Content-Type: application/json' \
--data-raw '{ \
"usuario":"exemplo", \
"senha":"Teste123@", \
"force":"0" ou "1", \
}'
Exemplo de retorno (JSON):
{
"status": true,
"auth_token": "exemplo::pbkdf2_sha256$24000$HJMs7tozaitE$497y1jWZB515kXt5eGh00pWCULXR7LIPCCNU/W8sk6g=",
}
Resposta em JSON
A fim de facilitar a interoperabilidade entre sistemas, todas as nossas chamadas de API respondem no formato JSON.
Atualizar Produtos
Importação (automática) de Produtos do sistema do cliente via API.
[POST] https://pilarcollector.com.br/api/v2/atualizar-produtos
Parâmetros:
- auth_token (string obrigatório)
- produtos (array of objects produto_item obrigatório)
- produto_item:
- codigo (string opcional, máximo 20 caracteres)
- codigo_barras (string obrigatório, máximo 20 caracteres)
- codigo_barras_alternativo (string opcional, máximo 20 caracteres)
- embalagem (string opcional, máximo 50 caracteres)
- descricao (string obrigatório, máximo 80 caracteres)
- custo_unitario (integer opcional)
- unidade (string opcional, máximo 10 caracteres)
- secoes (string opcional, máximo 255 caracteres)
- grupo (string opcional, máximo 40 caracteres)
- sub_grupo (string opcional, máximo 40 caracteres)
- familia (string opcional, máximo 60 caracteres)
- produto_item:
Exemplo de chamada (cURL):
curl --location --request POST 'https://pilarcollector.com.br/api/v2/atualizar-produtos/' \
--header 'Content-Type: application/json' \
--data-raw '{
"auth_token": "exemplo::pbkdf2_sha256$24000$HJMs7tozaitE$497y1jWZB515kXt5eGh00pWCULXR7LIPCCNU/W8sk6g=",
"produtos": [
{
"codigo": "42073",
"codigo_barras": "7898125081607",
"codigo_barras_alternativo": "",
"embalagem": "",
"descricao": "AIPIM PRE COZIDO SHEKINAH 800 G",
"custo_unitario": "4,99",
"unidade": "UN",
"secoes": "CEREAIS - LOJA;CEREAIS - DEPÓSITO",
"grupo": "CEREAIS",
"sub_grupo": "CONGELADOS",
"familia": "PRE COZIDOS",
"ativo": "1"
}
]
}'
Exemplo de retorno (JSON):
{
"status": true,
"message": "Produtos atualizados com sucesso."
}
Atualizar Estoque - Inventário
Importação (automática) de estoque do sistema do cliente via API.
[POST] https://pilarcollector.com.br/api/v2/atualizar-estoque/
Parâmetros:
- auth_token (string obrigatório)
- opcao_duplicados (string[1] obrigatório)
- [1]: Ignorar os itens duplicados
- [2]: Somar quantidade dos itens duplicados
- [3]: Substituir os itens duplicados
- opcao_erros (string[1] obrigatório)
- [1]: Ignorar os registros com erro e importar os outros
- [2]: Não importar nenhum item
- estoque (array of objects estoque_item obrigatório)
- estoque_item:
- codigo (integer obrigatório)
- codigo_barras (string obrigatório, máximo 20 caracteres)
- estoque_sistema (decimal obrigatório, exemplo: 896,037)
- produto_custo_unitario (decimal obrigatório, exemplo: 4,99)
- estoque_item:
Exemplo de chamada (cURL):
curl --location --request POST 'https://pilarcollector.com.br/api/v2/atualizar-estoque/' \
--header 'Content-Type: application/json' \
--data-raw '{
"auth_token": "exemplo::pbkdf2_sha256$24000$HJMs7tozaitE$497y1jWZB515kXt5eGh00pWCULXR7LIPCCNU/W8sk6g=",
"opcao_duplicados": "1",
"opcao_erros": "1",
"estoque": [
{
"codigo": "42073",
"codigo_barras": "7898125081607",
"estoque_sistema": "896,037",
"produto_custo_unitario": "4,99",
},
{
"codigo": "32866",
"codigo_barras": "7898937237049",
"estoque_sistema": "26",
"produto_custo_unitario": "5,99",
}
]
}'
Exemplo de retorno (JSON):
{
"status": true,
"message": "Estoque importado com sucesso."
}
Obter Operações
Obtem as operações cadastradas, via API.
[POST] https://pilarcollector.com.br/api/v2/obter-operacoes/
Parâmetros:
- auth_token (string obrigatório)
Exemplo de chamada (cURL):
curl --location --request POST 'https://pilarcollector.com.br/api/v2/obter-operacoes/' \
--header 'Content-Type: application/json' \
--data-raw '{
"auth_token": "exemplo::pbkdf2_sha256$24000$HJMs7tozaitE$497y1jWZB515kXt5eGh00pWCULXR7LIPCCNU/W8sk6g=",
}'
Exemplo de retorno (JSON):
{
"status": true,
"operacoes": [
{
"id": 4,
"descricao": "Entrada",
"tipo": "E",
"status": "A",
"permitir_importar_repetido": false
}
]
}
O campo "tipo" pode ser:
- "E" - Entrada
- "S" - Saída
O campo "status" pode ser:
- "A" - Ativo
- "I" - Inativo
O campo "permitir_importar_repetido" pode ser:
- "true" - permite importar nota com "chave_acesso_nfe" repetido
- "false" - não permite importar nota com "chave_acesso_nfe" repetido
Atualizar Estoque - Expedição
Importação (automática) de estoque de Expedição, via API.
[POST] https://pilarcollector.com.br/api/v2/atualizar-estoque-expedicao/
Parâmetros:
auth_token (string obrigatório)
Carga (Devem ser todos os 3 campos informados ou nenhum)
- numero (string não obrigatório, máximo 16 caracteres)
- data_saida (string não obrigatório, formato "dd/mm/AAAA")
- tipo (string não obrigatório)
- [E]: Entrada
- [S]: Saída
Exemplo de chamada (cURL):
curl --location --request POST 'https://pilarcollector.com.br/api/v2/atualizar-estoque-expedicao/' \
--header 'Content-Type: application/json' \
--data-raw '{
"auth_token": "exemplo::pbkdf2_sha256$24000$HJMs7tozaitE$497y1jWZB515kXt5eGh00pWCULXR7LIPCCNU/W8sk6g=",
"carga": {
"numero": "",
"data_saida": "10/10/2024",
"tipo": "E"
},
"veiculo": {
"placa": "123"
},
"motorista": {
"nome": "João"
},
"doca": {
"nome": ""
},
"lista_de_notas_fiscais": [
{
"nota_fiscal": {
"chave_acesso_nfe": "NFe28220903522737000104550010001844351272702003",
"numero_nota": "12345678",
"tipo": "E",
"cliente_pedido": "",
"operacao": {
"id": 123
},
"cliente_armazenagem": {
"id": 123
},
"status": ""
},
"itens_nota_fiscal": [
{
"codigo": "42073",
"codigo_barras": "7898125081607",
"quantidade": "896,037",
"unidade": "CX",
"validade": "10/10/2024",
"lote": ""
}
]
}
]
}'
Exemplo de retorno (JSON):
{
"status": true,
"message": "Atualização completa com sucesso."
}
Retorno das coletas do inventário aberto
Retorna os dados das coletas do inventário aberto, via API.
[POST] https://pilarcollector.com.br/api/v2/retorno-das-coletas-do-inventario-aberto/
Parâmetros:
- auth_token (string obrigatório)
- Local
- id (integer não obrigatório)
- Seção
- id (integer não obrigatório)
- Gôndola
- id (integer não obrigatório)
- Inventário
- id (integer obrigatório)
Exemplo de chamada (cURL):
curl --location --request POST 'https://pilarcollector.com.br/api/v2/retorno-das-coletas-do-inventario-aberto/' \
--header 'Content-Type: application/json' \
--data-raw '{
"auth_token": "exemplo::pbkdf2_sha256$24000$HJMs7tozaitE$497y1jWZB515kXt5eGh00pWCULXR7LIPCCNU/W8sk6g=",
"local": {
"id": 12
},
"secao": {
"id": 23
},
"gondola": {
"id": 34
},
"inventario": {
"id": 45
}
}'
Exemplo de retorno (JSON):
{
"status": true,
"inventario": {
"id": 2490,
"codigo": 114,
"codigo_auxiliar": "",
"quantidade_contado": "1256.00",
"quantidade_sistema": "0.00",
"fechado": true,
"inicio": "11/04/2022",
"fim": "11/04/2022",
"tempo": "654"
},
"itens": [
{
"quantidade": "4.000",
"codigo_barras": "7898537113781",
"codigo_interno": "1101001023",
"descricao": "CAPA DE BANCO SUZUKI AE 50",
"custo_unitario": "0.00"
}
]
}