Integração do ERP com o Softeum Pedidos
Para a equipe de TI da indústria (o cliente do Softeum). O Softeum lê os pedidos de compra que chegam por e-mail,
confere e deixa o pedido pronto para o ERP. O ERP recebe o pedido de um de dois jeitos — o Softeum avisa
(um POST assinado no endereço do ERP) ou o ERP busca (na API REST, com uma chave de acesso) —, lança o pedido de
venda e confirma com o número dele. O ERP também pode enviar os cadastros (produtos, compradores, vendedores e tabelas
de preço) pela mesma API. Este guia tem tudo o que é preciso, com exemplos prontos para rodar.
Serve para qualquer ERP: SAP, TOTVS (Protheus, Winthor, Datasul, RM), Sankhya, Senior, Omie, Bling, Tiny/Olist, Microsoft Dynamics, Oracle NetSuite, Odoo ou um ERP próprio. A seção 14 traz o caminho de cada um.
Três jeitos de o ERP receber os pedidos
Na dúvida: com alguém para programar e o ERP na rede da empresa, a busca; sem ninguém para programar, o arquivo.
-
A busca pela API
ERP dentro da rede da empresa, sem endereço público
O ERP chama a API do Softeum de tempos em tempos.
Agenda a busca dos pedidos prontos, lança no ERP e confirma (ou recusa com o motivo)
Comece por
buscar-pedidos.mjsebuscar_pedidos.py -
O aviso no endereço
ERP, ou a ferramenta de integração dele, com um endereço HTTPS público
O Softeum chama o endereço do ERP assim que o pedido fica pronto.
Recebe o
POSTassinado de cada pedido, lança e responde com o número do ERPComece por
receptor.mjs,receptor.py,receptor.php,Program.cse o simuladorsimular-aviso.mjs -
O arquivo por SFTP
ERP que importa pedido de uma pasta
O Softeum grava o arquivo do pedido na pasta; o ERP importa de lá.
Dá o acesso ao servidor SFTP e liga a importação do ERP; a Softeum monta o arquivo no layout do ERP
Comece por Os modelos prontos: XML, CSV, TXT de largura fixa, SAP (
odv-mappinge IDoc ORDERS05) e Protheus (CSV)
Comece aqui
Pelo aviso, em 4 passos
- Suba um endereço HTTPS público no ERP que receba
POSTcom JSON. Comece por um dos receptores prontos da seção 7: eles já conferem a assinatura, ignoram o aviso de teste, não lançam o mesmo pedido duas vezes e devolvem o número do ERP. Falta só escrever o lançamento no seu ERP. - Cadastre o endereço no painel (Integração → Como o ERP recebe → Aviso no endereço do ERP) e guarde o segredo que aparece.
- Teste com o simulador da seção 7 (no seu ambiente, sem depender do painel) e depois com o botão Enviar teste do painel.
- Lance um pedido de verdade e devolva o número: o pedido aparece como confirmado no painel.
Pela busca, em 5 passos
- Crie a chave de acesso no painel (Integração → Como o ERP recebe → O ERP busca os pedidos). Ela começa com
sp_live_e aparece uma vez só: guarde no cofre de senhas do ERP. - Comece pelo
buscar-pedidos.mjsoubuscar_pedidos.py(seção 7): eles buscam os prontos, chamam o seu lançamento e confirmam (ou recusam com o motivo). Falta só escrever o lançamento no seu ERP. - Agende a busca a cada 1 a 5 minutos (cron, Agendador de Tarefas do Windows, job do ERP).
- Teste com um pedido de teste, antes do primeiro pedido de verdade: o administrador clica em Criar pedido de
teste no painel (no mesmo lugar da chave) e um pedido pronto, montado com os compradores e os produtos do cadastro
da indústria, aparece na busca com
"teste": true. Lance no ERP de homologação e confirme; crie outro e recuse, para testar a recusa (seção 8). O ERP de produção recusa o pedido de teste. - Lance um pedido de verdade: ele aparece como confirmado no painel e some de
situacao=pronto.
ERP que importa pedidos de uma pasta (SAP pela interface de arquivos, Protheus, ERPs que leem XML, CSV ou TXT): há um terceiro caminho, sem programar nada. O Softeum grava cada pedido aprovado como um arquivo, no layout do ERP, na pasta de um servidor SFTP. Veja a seção 15.
Sem endereço de entrega cadastrado, o pedido pronto fica esperando a busca do ERP (no painel: "Pronto para enviar").
Arquivos para baixar
| Arquivo | O que é | Baixar |
|---|---|---|
receptor.mjs | Endereço de entrega em Node.js 18+, sem dependências | Baixar 4 KB |
receptor.py | O mesmo em Python 3.9+, só biblioteca padrão | Baixar 4 KB |
receptor.php | O mesmo em PHP 8, guardando os lançados em SQLite | Baixar 3,5 KB |
Program.cs | O mesmo em C# (.NET 8, minimal API) | Baixar 4,5 KB |
simular-aviso.mjs | Simulador: manda um aviso assinado igual ao do Softeum | Baixar 4,6 KB |
simular-aviso.sh | Simulador do aviso de teste com curl e openssl | Baixar 1,3 KB |
buscar-pedidos.mjs | Busca pela API em Node.js 18+: lista os prontos, lança, confirma ou recusa | Baixar 4,7 KB |
buscar_pedidos.py | O mesmo em Python 3.9+, só biblioteca padrão | Baixar 5,1 KB |
kit-para-o-ti.md | O kit para a TI do cliente | Baixar 11 KB |
openapi.json | O contrato da API (OpenAPI 3.1), para o Swagger Editor, o Postman ou o Insomnia | Baixar 70 KB |
Contato
Dúvidas sobre a integração, o layout do arquivo ou o teste: fale com o suporte da Softeum.
Não mande por e-mail a chave da API, o segredo do aviso nem a senha do SFTP: quem digita é o próprio cliente, no painel, ou a TI, no ERP.