Escolar Documentos
Profissional Documentos
Cultura Documentos
API Bravologic
versão 04.2023
Sumário
1.FLUXO DE PROCESSAMENTO..................................................................................................... 3
1.Formatos de comunição............................................................................................................ 4
1.1Formato de envio.................................................................................................................... 4
1.1.1Consultando......................................................................................................................... 4
1.1.2Inserindo / Editando pedido................................................................................................. 5
1.1.3Atributos de colunas............................................................................................................. 5
1.1Formato de retorno................................................................................................................. 5
1.1.1Tratamento de erros............................................................................................................ 6
1.1.2Tratamento de alertas.......................................................................................................... 7
2.LAYOUTS.................................................................................................................................... 7
2.1Unidades de Produtos............................................................................................................. 7
2.2Categorias de Produtos........................................................................................................... 8
2.3Sub-Categorias de Produtos.................................................................................................... 8
2.4Produtos.................................................................................................................................. 9
2.5Entidades (Estabelecimentos/Clientes/Fornecedores).......................................................... 11
2.6Grades de Compras............................................................................................................... 13
2.7Pedidos.................................................................................................................................. 15
2.8Compras................................................................................................................................ 17
2.9Pré-Movimentações.............................................................................................................. 19
2.10Atualização de Status de Integração de Pré-Movimentações .............................................22
2.11Movimentações de Estoque................................................................................................ 22
2.12Saldo de Estoque................................................................................................................. 24
2.13Formas de Pagamento ........................................................................................................ 25
3.ERROS COMUNS...................................................................................................................... 25
1. FLUXO DE PROCESSAMENTO
1. Formatos de comunição
-Deverá ser enviada uma requisição HTTP POST para a URL relativa a ação desejada.
Toda requisição deve obrigatoriamente enviar o parâmetro TOKEN para sua identificação:
1.1.1 Consultando
Cada consulta deverá ter o intervalo de 15 segundos entre requisições, a consulta de estoque
(/stock-balance/search) deve ter intervalo de 1 minuto, e as demais consultas intervalo de 30
minutos.
Formato:
Existem regras e limites para registro de pedidos que estão descritas abaixo.
– A partir da 30ª tentativa, não será mais registrado (pedido foi bloqueado por erro na
integração)
Formato:
Campo Observações
campo[id_request] Um para um
Ex: Dados gerais de uma empresa
name[0] = My Company LTDA
trade_name[0] = My Company
contact_name[0][0] = Person 1
contact_individual_register[0][0] = 10209987
contact_name[0][1] = Person 2
contact_individual_register[0][1] = 23657810
Estes atributos estão especificados para cada coluna na sessão LAYOUTS deste documento.
Atributo Descrição
Respostas (N)
response[]( Texto
Status (1:1)
Erros (1:1)
errors( Array
code Número inteiro
message Mensagem de erro
extra Dados extras
)
Alertas (1:1)
warnings( Array
Code Número inteiro
message Mensagem de erro
extra Dados extras
)
Dados (1:1)
data( Array
)
)
Legenda de códigos:
Código Significado
1.1 Acesso negado, você deve enviar uma solicitação HTTP POST.
1.3 Acesso negado, você não possui permissões para efetuar essa ação.
2 Erro de MySql.
3 Erro de validação
3.3.1 Erro de validação. A entidade não pode ser nula ou não existe na base de dados.
3.3.2 Erro de validação. O código GTIN do produto não existe na base de dados.
3.3.6 Erro de validação. A unidade do produto não pode ser nula ou não existe.
3.3.7 Erro de validação. Unidade incorreta para o produto, favor verificar o cadastro de produtos.
Legenda de códigos:
Código Significado
2100 Item da grade de compra registrado parcial devido a falta de quantidade disponivel.
2. LAYOUTS
REF REQ
product_sub_category_id Número inteiro ID da sub-categoria
Titulo
REF REQ title Texto
Ex: Macarrão, Amaciantes
REQ product_category_id Número inteiro ID da Categoria a qual pertence.
Boolean
deleted Deletado (status da unidade)
(true/false)
2.4 Produtos
URL Consulta: http://www.centralflex.com/api/product/search
Nomenclatura Comum
ncm Texto
do MERCOSUL
Titulo
REF REQ title Texto
Ex: Macarrão, Amaciantes
Boolean ID da Categoria do
product_category_id
true/false produto.
Título da Categoria do
product_category_title Texto
produto
Número Id da Sub-Categoria do
REQ product_sub_category_id
inteiro produto
Título da Sub-Categoria do
REQ product_sub_category_title Texto
produto
Descrição geral do produto
Ex: TV LCD 42 polegadas,
description Texto
FULL HD com 2 portas
HDMI
Valor padrão para
quantidade múltipla
Número
default_purchasing_grid_rule_mult_unit_amount requerida (unitária) ao
Decimal
utilizar o produto em uma
grade de compra.
Abreviação da unidade de
REQ sales_product_unit_abbreviation Texto
venda do produto
Quantidade por embalagem
Número
REQ sales_product_ unit_amount_per_package da unidade de venda do
Decimal
produto
Boolean
deleted Deletado (status da unidade)
true/false
Contatos (1:N)
contacts( Array
REF REQ contact_name Texto Nome
REF contact_individual_register Texto CPF / CNPJ
REF contact_description Texto Descrição do contato
ex: “Gerente”
contact_brazil_rg Texto RG
contact_phone_number Texto Nº do telefone
contact_cell_number Texto Nº do celular
contact_email Texto E-mail
contact_more_info Texto Informações adicionais
)
Endereços (1:N)
Referências (1:N)
REF REQ
purchasing_grid_id[] Número inteiro ID da grade
Abreviação da
item_product_unit_abbreviation[][] Texto
unidade
Número Preço da
item_package_price[][]
Decimal embalagem
Número
item_unit_price[][] Preço unitário
Decimal
Regras (1:1)
Número Quanitdade unit
item_rule_available_unit_amount[][]
Decimal disponível
Número Quantidade
item_rule_min_package_amount[][]
Decimal mínima
Número Quantidade
item_rule_max_package_amount[][]
Decimal máxima
Número Quantidade
item_rule_mult_package_amount[][]
Decimal múltipla
Regras de venda
item_sale_joint( Array
casada
Regra
Número
item_amount[] Quantidade
Decimal
Abreviação da
item_unit_abbreviation[] Texto
unidade
Item_takes( Array
Número
takes_product_unit_id[][] ID da unidade
Decimal
Abreviação da
takes_product_unit_abbreviation[][] Texto
unidade
Número Quantidade
takes_product_package_amount[][]
Decimal embalagem
Número Quantidade
takes_product_unit_amount[][]
Decimal unitária
Número Percentual de
takes_product_discount_percentage[][]
Decimal desconto
Número Preço da
takes_product_package_price[][]
Decimal embalagem
Número
takes_product_unit_price[][] Preço unitário
Decimal
)
Desconto por volume (1:N)
item_volume_discount( Array
Número Quantidade
volume_discount_package_amount[]
Decimal embalagem
Número Quantidade
volume_discount_unit_amount[]
Decimal unitária
Número Porcentagem de
volume_discount_percentage[]
Decimal desconto
Número
volume_discount_unit_price[] Valor final unitário
Decimal
Status (1:1)
Boolean
Item_integrated[] Item integrado
(true/false)
Boolean
item_deleted[][] Item excluído
(true/false)
)
Boolean
integrated[] Integrado
(true/false)
Boolean
deleted[] Excluído
(true/false)
2.7 Pedidos
URL Consulta: http://www.centralflex.com/api/order/search
ID da ENTIDADE
sales_represent_id[] Número inteiro
REPRESENTANTE(vendedor)
Data e hora
order_date[] “ano-mês-dia Data do pedido
hora:min:seg”
Caso informado true, permite
Boolean
order_partial_register[] registrar pedido parcial (em
(true/false)
caso de falta de estoque)
Autorizado:
Texto true: sim
status_authorized[]
“true”,”false”,”waiting” false: não
waiting: aguardando
Texto
status_pre_billed[] Pré-Faturado
“true”,”false”
Tipo do item:
Boolean(“product”
REF REQ item_type[][] product: produto
,”service”)
service: serviço
item_product_gtin_
REF REQ Texto Código GTIN
code[][]
REQ item_product_unit Número inteiro ID da unidade
_id[][]
REQ item_product_unit_ Texto Abreviação
abbreviation[][] Ex: UN, PCT, CX
REQ item_product_unit_ Texto Descrição
description[][] Ex: Unidade, Pacote, Caixa
REQ item_product_unit_ Número decimal Quantidade unitária por
amount_per_packag embalagem
e[][]
item_unit_amount[
REQ Número decimal Quantidade Unitaria
][]
item_unit_liq_price
REQ Número decimal Valor Unitário Líquido
[][]
item_observations[
REQ Texto Observações para o item
][]
Autorizado:
Texto
item_status_author true: sim
“true”,”false”,”wai
ized[][] false: não
ting”
waiting: aguardando
item_status_pre_bi Texto
Pré-Faturado
lled[][] “true”,”false”
Boolean Integrado(status para saber se o
item_integrated[][] (true/false) pedido está aguardando
integração)
Boolean Integrado(status para saber se o
item_deleted[][] (true/false) pedido está aguardando
integração)
)
integrated[] Boolean Integrado(status para saber se o
(true/false) pedido está aguardando
integração)
deleted[] Boolean Deletado (status da entidade)
(true/false)
2.8 Compras
URL Consulta: http://www.centralflex.com/api/purchase/search
Número
REF purchase_id ID da Compra
inteiro
Texto Tipo de faturamento
billing_type “direct”,”cen direct: direto
tral” central: via central de distribuição
Data e hora
“ano-mês-
date dia Data da Compra
hora:minuto
s:segundos”
Data e hora
deadline “ano-mês- Prazo de Entrega
dia”
Dados do Fornecedor (1:1)
Número
entity_id ID da ENTIDADE
inteiro
entity_name Texto Nome/Raz Social
items( Array
REF purchase_item_id[] Número inteiro
item_type[] Texto(“product”,”service”)
item_product_gtin_code[] Texto
item_product_unit_abbreviation[] Texto
item_product_unit_description[] Texto
2.9 Pré-Movimentações
URL Consulta: http://www.centralflex.com/api/pre-stock-mov/search
Número
REF pre_stock_mov_id[] ID da Pré-Movimentação
inteiro
CNPJ do estoque (necessário
stock_individual_register[] Texto no caso de haver múltiplos
estoques)
Data e
hora
“ano-mês-
date[] dia Data da Pré-Movimentação
hora:minu
tos:segund
os”
Dados da Entidade (1:1)
Número
REF entity_id[] ID da ENTIDADE
inteiro
entity_name[] Texto Nome/Raz Social
“in” ou in = entrada
REF invoice_type[]
“out” out = saída
“sale”, sale = venda
REF invoice_operation[] “exchange exchange = troca
”, “bonus” bonus = bonificação
Número
REF invoice_number[] Número da Nota Fiscal
inteiro
Número
REF invoice_model[] Modelo da Nota Fiscal
inteiro
Dados da Nota Fiscal REFERENCIADA (1:1)
Número
REF ref_invoice_supplier_id[] ID do Fornecedor
inteiro
REF ref_invoice_supplier_individual_register[] Texto CPF / CNPJ do Fornecedor
Número
REF ref_invoice_number[] Número da Nota Fiscal
inteiro
Número
REF ref_invoice_model[] Modelo da Nota Fiscal
inteiro
REF ref_invoice_serie[] Número Série da Nota Fiscal
inteiro
REF ref_invoice_subserie[] Número Sub-Série da Nota Fiscal
inteiro
ref_invoice_datehour_mov[] Data e Data e hora da movimentação
hora “ano-
mês-dia
hora-
minutos-
segundos”
Número
payment_form_id[] ID da FORMA DE PAGTO
inteiro
Descrição da FORMA DE PAGTO.
payment_form_title[] Texto Ex: “30,60 dias”, “A vista com
10% de desconto”
FORMA DE PAGTO
“cash”,”ins
payment_form_type[] cash = à vista
tallment”
installment = à prazo
Número
payment_charge_type_id[] ID do TIPO DE COBRANÇA
inteiro
Titulo do TIPO DE COBRANÇA. Ex:
payment_charge_title[] Texto
“Carteira”,”Bloqueto”,”Carne”
Dias de vencimento das
payment_form_installments_days( array parcelas.
Ex: array(30, 60, 90)
Número
day[][] Dia
inteiro
payment_installments( AParcelas
items( Array
REF pre_stock_mov_item_id[][] Número inteiro
purchase_item_id[][] Número inteiro
item_type[][] Texto(“product”,”service”)
item_product_gtin_code[][] Texto
item_product_unit_abbreviation[][] Texto
item_product_unit_description[][] Texto
Cabeçalho (1:1)
Númer
REQ REF entity_id[] o ID da ENTIDADE
inteiro
REQ entity_name[] Texto Nome/Raz Social
items( Array
item_pre_stock_mov_items( Array
)
item_purchase_order_items Array
item_product_unit_description[] [] Texto
item_deleted[] [] Boolean
(true/false)
)
deleted[] Boolean
(true/false)
2.12 Saldo de Estoque
3. ERROS COMUNS
Erro:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 51 bytes)
Solução:
A consulta está retornando muitos registros, utilize um limitador(parâmetros LIMIT E OFFSET)