Tema
Arquitetura da integração
Visão genérica do contrato entre o sistema parceiro e a API mPm+.
Componentes
| Componente | Papel |
|---|---|
| Sistema parceiro (ERP) | Orquestra sync de cadastros, associações e importação de pedidos |
| Banco do parceiro | Persiste cadastros locais e a coluna mpm_integracao |
| API REST mPm+ | CRUD/associação de entidades e GET de pedidos |
| FTP (opcional) | Upload de imagens (PNG) referenciadas no payload |
Protocolos
- REST HTTPS contra a URL base (
MPM_API_URLouhttps://mobtef.conexaoapi.com.br) - FTP opcional para imagens
- Sem webhook obrigatório — pedidos são obtidos por consulta GET
mermaid
flowchart LR
ERP[Sistema parceiro] -->|REST headers + JSON| API[API mPm+]
ERP -->|FTP PNG opcional| FTP[Servidor FTP]
API -->|JSON status / data| ERP
FTP -->|URL da imagem| ERP
ERP --> DB[(Banco do parceiro)]Direções de dados
mermaid
flowchart LR
CAD[Cadastros do ERP] -->|POST / PUT| MPM[mPm+]
MPM -->|GET /mpm/pedidos| PED[Pedidos no ERP]
CAD -->|FTP imagens| IMG[/imagens/]| Direção | Mecanismo |
|---|---|
| Parceiro → mPm+ | POST (criar) e PUT (atualizar / associar) |
| mPm+ → Parceiro | GET /mpm/pedidos com período (abertura, fechamento) |
| Imagens | FTP + URL pública no campo path_imagem (quando aplicável) |
Endpoints do contrato
| Recurso | Path | Criar | Atualizar / associar | Listar |
|---|---|---|---|---|
| Grupos | /mpm/grupos | POST | PUT + grupo_id | GET |
| Unidades | /mpm/unidades | POST | PUT + unidade_id | GET |
| Produtos | /mpm/produtos | POST | PUT + produto_id | GET |
| Clientes | /mpm/clientes | POST | PUT + cliente_id | GET |
| Rotas | /mpm/clientes/rotas | POST | PUT + rota_id | GET |
| Finalizadoras | /mpm/finalizadoras | — | PUT + finalizadora_id | GET |
| Funcionários | /mpm/funcionarios | — | PUT + funcionario_id | GET |
| Planos | /mpm/finalizadoras/planos | — | PUT + plano_id | GET |
| Pedidos | /mpm/pedidos | — | — | GET |
Associação
Finalizadora, plano e funcionário costumam já existir no mPm+. O parceiro principalmente faz PUT enviando { "integracao": "codigoERP" } e grava o ID mPm+ em mpm_integracao.
Importante
Exclusão no ERP não implica remoção automática no mPm+ a menos que o parceiro implemente isso por conta própria. O contrato documentado aqui cobre criar, atualizar, associar e consultar pedidos.
Ordem lógica de sync
- Credenciais e metadados do app
- Grupos → Unidades → Produtos (produto depende de
grupo_ideunidade_idmPm+) - Rotas → Clientes (podem referenciar rota/vendedor)
- Associar finalizadoras, planos e funcionários
- GET de pedidos e persistência local com idempotência pelo id mPm+