Pular para o conteúdo
Softeum PedidosIntegração com o ERP

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.mjs e buscar_pedidos.py

    Ler no guia

  • 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 POST assinado de cada pedido, lança e responde com o número do ERP

    Comece por receptor.mjs, receptor.py, receptor.php, Program.cs e o simulador simular-aviso.mjs

    Ler no guia

  • 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-mapping e IDoc ORDERS05) e Protheus (CSV)

    Ler no guia

Comece aqui

Pelo aviso, em 4 passos

  1. Suba um endereço HTTPS público no ERP que receba POST com 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.
  2. Cadastre o endereço no painel (Integração → Como o ERP recebe → Aviso no endereço do ERP) e guarde o segredo que aparece.
  3. 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.
  4. Lance um pedido de verdade e devolva o número: o pedido aparece como confirmado no painel.

Pela busca, em 5 passos

  1. 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.
  2. Comece pelo buscar-pedidos.mjs ou buscar_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.
  3. Agende a busca a cada 1 a 5 minutos (cron, Agendador de Tarefas do Windows, job do ERP).
  4. 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.
  5. 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").

A comparação completa e as palavras do guia

Arquivos para baixar

ArquivoO que éBaixar
receptor.mjsEndereço de entrega em Node.js 18+, sem dependênciasBaixar 4 KB
receptor.pyO mesmo em Python 3.9+, só biblioteca padrãoBaixar 4 KB
receptor.phpO mesmo em PHP 8, guardando os lançados em SQLiteBaixar 3,5 KB
Program.csO mesmo em C# (.NET 8, minimal API)Baixar 4,5 KB
simular-aviso.mjsSimulador: manda um aviso assinado igual ao do SofteumBaixar 4,6 KB
simular-aviso.shSimulador do aviso de teste com curl e opensslBaixar 1,3 KB
buscar-pedidos.mjsBusca pela API em Node.js 18+: lista os prontos, lança, confirma ou recusaBaixar 4,7 KB
buscar_pedidos.pyO mesmo em Python 3.9+, só biblioteca padrãoBaixar 5,1 KB
kit-para-o-ti.mdO kit para a TI do clienteBaixar 11 KB
openapi.jsonO contrato da API (OpenAPI 3.1), para o Swagger Editor, o Postman ou o InsomniaBaixar 70 KB

Contato

Dúvidas sobre a integração, o layout do arquivo ou o teste: fale com o suporte da Softeum.

diiego.martins@softeum.com.br

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.