Integração ERP (1.0)
Visão geral das rotas da API compatível com a Venddor 1.0 que ERPs usam para sincronizar dados, definir meios de pagamento por cliente e consultar crédito.
Muitos ERPs foram escritos para a plataforma Venddor 1.0 e continuam funcionando contra a 2.0 por meio da API compatível com a 1.0 (/api/v1.0/..., ou sem o prefixo: /api/...). Esta seção reúne as rotas dessa API que servem a integrações de ERP e que não são de produtos, clientes ou pedidos: a sincronização incremental de objetos, os códigos de pagamento por cliente, as condições de pagamento e a consulta de crédito.
Use estas rotas quando o ERP já fala o dialeto da 1.0.
Como funciona
Um ERP típico faz três coisas com estas rotas.
- Receber o que mudou
A cada ciclo, o ERP chama Sincronização de objetos com o horário da última leitura para trazer clientes, produtos ou pedidos novos.
- Liberar meios de pagamento por cliente
Quando o ERP aprova crédito ou boleto faturado para um CNPJ, grava os códigos de pagamento com Códigos de pagamento. O checkout passa a oferecer só o que foi liberado para aquele cliente.
- Consultar crédito (opcional)
Consulta de crédito recebe um CNPJ. Na versão atual devolve um resultado "pendente".
Conceitos-chave
Duas formas de caminho
| Forma | Ids | Exemplo |
|---|---|---|
/api/v1.0/ec_sync_objects | UUID | "product_id": "302a9a40-f4ca-..." |
/api/ec_sync_objects | Decimal, até 32 bits | "product_id": "808098368" |
Escolha uma forma e use sempre a mesma, para os ids ficarem estáveis. Veja a explicação completa em Convenções.
Nomes alternativos
A 1.0 tinha o mesmo recurso com mais de um nome, e a 2.0 aceita todos. Por isso a sincronização responde em ec_sync_objects, ecsyncobjects e sync_objects, e a consulta de crédito em credit_score e creditscore.
Endpoints
| Método | Caminho | Para quê | Página |
|---|---|---|---|
| GET | /api/v1.0/ec_sync_objects, /api/ec_sync_objects | Objetos alterados desde um horário | Sincronização de objetos |
| GET | /api/v1.0/ecsyncobjects, /api/ecsyncobjects | Mesmo, nome alternativo | Sincronização de objetos |
| GET | /api/v1.0/sync_objects, /api/sync_objects | Mesmo, nome curto | Sincronização de objetos |
| GET | /api/v1.0/payment_codes, /api/payment_codes | Ler os códigos de pagamento de um cliente | Códigos de pagamento |
| POST | /api/v1.0/payment_codes, /api/payment_codes | Gravar os códigos de pagamento de clientes | Códigos de pagamento |
| GET | /api/v1.0/payment-conditions, /api/payment-conditions | Condições de pagamento | Condições de pagamento |
| POST | /api/v1.0/credit_score, /api/credit_score | Consultar o crédito de um CNPJ | Consulta de crédito |
| POST | /api/v1.0/creditscore, /api/creditscore | Mesmo, nome alternativo | Consulta de crédito |
Erros comuns
- Ler
success: falsecomo erro de HTTP. A sincronização responde 200 mesmo quando falta um parâmetro; olhedata.success. - Passar o horário em milissegundos ou em RFC 3339.
last_sync_timestampé um Unix timestamp em segundos. Um valor que não é número é tratado como zero e traz tudo. - Regravar códigos de pagamento sem conferir os códigos. No modo padrão (
replace), códigos desconhecidos fazem o cliente ficar sem nenhuma regra. Leia Códigos de pagamento. - Esperar um score de crédito. A consulta devolve
score: 0estatus: "pending". - Misturar as duas formas de caminho. O mesmo produto tem um id em
/api/v1.0e outro em/api.