Skip to content

Ordem de Produção — mify.app.br

Esta página cobre as duas operações relacionadas à produção: a Mify buscando ordens de produção no ERP, e o ERP consultando as ordens de produção registradas pela Mify.

Documentação para a plataforma *.mify.app.br. Se você usa *.mify.com.br, veja Ordem de Produção — mify.com.br.


ERP → Mify

A Mify busca Ordens de Produção diretamente no ERP para criar os Ordens de Produção correspondentes.

O ERP deve expor uma rota GET que a Mify irá chamar periodicamente. A URL e eventuais credenciais são configuradas no painel da Mify.

Endpoint (definido pelo ERP)

GET https://my-erp.com/api/v1/production-orders
Parâmetros de Consulta

A Mify pode enviar os parâmetros abaixo na query string.

ParâmetroTipoObrigatórioDescriçãoExemplo
machinestringNãoNome da máquina para filtrar as ordens"RAMA 01"
orderstringNãoFiltra por uma Ordem de Produção específica"43892513"
Resposta Esperada (JSON)

O ERP deve retornar os campos abaixo para cada Ordem de Produção. A Mify usa esses dados para criar o Ordem de Produção.

CampoTipoObrigatórioDescrição
orderstringSimCódigo único que identifica a produção
productstringSimCódigo do produto sendo produzido
descriptionstringNãoDescrição do produto
lotestringSimCódigo do lote de produção
idealObjectivestring | numberSimQuantidade ideal a ser produzida por minuto
pulseFactorstring | numberSimQuantidade de produto contabilizada a cada sinal recebido no Coletor IIoT
expectedintegerSimQuantidade total esperada para a produção
expectedStartstringNãoData prevista de início (ISO 8601 UTC)
observationstring | nullNãoInformação adicional para a Ordem de Produção
Exemplo de Resposta
json
{
    "order": "43892513",
    "product": "4389",
    "description": "TNT 5D 200mm",
    "lote": "1969",
    "idealObjective": "2.68752",
    "pulseFactor": "0.00000625",
    "expected": 5000,
    "expectedStart": "2025-03-05T11:30:00Z",
    "observation": ""
}
Observações
  1. O campo order deve ser único — é a chave que vincula produção, qualidade, refugo e retrabalho à Ordem de Produção.
  2. pulseFactor representa a quantidade de produto contabilizada a cada sinal recebido no Coletor IIoT.
  3. expectedStart deve estar no formato ISO 8601 (UTC).

Mify → ERP

Consulta

O ERP consulta a Mify para obter os Ordens de Produção gerados — incluindo quantidade produzida, peças ruins, refugos e retrabalhos.

ℹ️ Por que POST numa consulta? Esta rota não cria nem altera nada — é uma consulta. Usamos POST (com /get no path) em vez de GET porque o corpo da requisição permite mais filtros do que a query string suportaria.

Endpoint

POST https://api-integration-example.mify.app.br/v1/get/machine/RAMA 01/production-order
Autenticação
x-api-key: 00000000-0000-0000-0000-000000000000
Parâmetros do Corpo (JSON)
ParâmetroTipoObrigatórioDescriçãoExemplo
startstringNãoData/hora de início (ISO 8601 UTC)"2025-03-01T03:00:00Z"
endstringNãoData/hora de término (ISO 8601 UTC)"2025-03-10T03:00:00Z"
statusstringNãoFiltro por status da ordem"pending"
orderstringNãoFiltro por Ordem de Produção específica"43892513"
Exemplo de Requisição
bash
curl --location 'https://api-integration-example.mify.app.br/v1/get/machine/RAMA 01/production-order' \
--header 'x-api-key: 00000000-0000-0000-0000-000000000000' \
--header 'Content-Type: application/json' \
--data '{
    "start": "2025-03-01T03:00:00Z",
    "end": "2025-03-10T03:00:00Z",
    "status": "finished",
    "order": "43892513"
}'
Estrutura da Resposta (JSON Array)

A resposta é um array de objetos, um por Ordem de Produção.

CampoTipoDescrição
idintegerID único da ordem (interno Mify)
startstringData/hora de início (ISO 8601 UTC)
endstringData/hora de término (ISO 8601 UTC)
orderstringOrdem de Produção vinculada
lotestringLote de produção
productstringCódigo do produto
descriptionstringDescrição do produto
observationstring | nullObservações adicionais
statusstringStatus da ordem (ex: "finished")
expectedintegerQuantidade esperada
producedintegerQuantidade produzida
badintegerPeças ruins apontadas
scrapsintegerRefugos apontados
reworksintegerRetrabalhos apontados
pulseFactorstringQuantidade produzida por pulso
cycleTimestringTempo de ciclo (segundos)
idealObjectivestringObjetivo ideal por minuto
realProductionintegerProdução real por minuto
runningTimeMsintegerTempo de execução (milissegundos)
measurementUnitstringUnidade de medida (ex: "mts")
startedByobject | nullUsuário que iniciou (contém username)
finishedByobject | nullUsuário que finalizou (contém username)
Exemplo de Resposta
json
[
  {
    "id": 9138,
    "order": "43892513",
    "expected": 5000,
    "produced": 202,
    "product": "4389",
    "status": "finished",
    "lote": "1969",
    "bad": 0,
    "observation": "",
    "idealObjective": "2.68752",
    "pulseFactor": "0.00000625",
    "description": "TNT 5D 200mm",
    "startedBy": { "username": "mify.luiz" },
    "finishedBy": { "username": "mify.cesar" },
    "scraps": 0,
    "reworks": 0,
    "start": "2025-03-05T16:47:23.731Z",
    "end": "2025-03-05T19:00:36.177Z",
    "cycleTime": "0.0166",
    "runningTimeMs": 13641125,
    "realProduction": 0.88,
    "measurementUnit": "mts"
  }
]

Webhook

A Mify pode disparar um webhook para o ERP quando um evento ocorre em um Ordem de Produção.

O ERP deve expor uma rota que receberá o POST da Mify. A URL é configurada no painel da Mify.

Endpoint (definido pelo ERP)

POST https://my-erp.com/api/v1/production-diary/event
Eventos que disparam o webhook
EventoQuando ocorre
diary.createdOrdem de Produção criado
diary.startedProdução iniciada
diary.pausedProdução pausada
diary.finishedProdução finalizada
Corpo Enviado (JSON)
CampoTipoDescrição
triggerEventstringTipo do evento que disparou o webhook
machinestringNome da máquina
idintegerID único da ordem
orderstringOrdem de Produção vinculada
statusstringStatus atual da ordem
producedintegerQuantidade produzida
expectedintegerQuantidade esperada
badintegerPeças ruins apontadas
scrapsintegerRefugos apontados
reworksintegerRetrabalhos apontados
startstringData/hora de início (ISO 8601 UTC)
endstring | nullData/hora de término (ISO 8601 UTC)
Exemplo do Corpo Enviado
json
{
    "triggerEvent": "diary.finished",
    "machine": "RAMA 01",
    "id": 9138,
    "order": "43892513",
    "status": "finished",
    "produced": 202,
    "expected": 5000,
    "bad": 0,
    "scraps": 0,
    "reworks": 0,
    "start": "2025-03-05T16:47:23.731Z",
    "end": "2025-03-05T19:00:36.177Z"
}