Ponto de extremidade URI base da API
O ponto de extremidade de todas as nossas chamadas de API é: https://app.prodsmart.com/
Autenticação
A API do Prodsmart utiliza uma autorização de token simples. Primeiro, você cria um novo token (ou adquire um existente). Após adquirir seu token, você poderá usá-lo para acessar outros recursos dentro do escopo do token.
Seu token de autenticação dura 2 horas e, em seguida, você precisa solicitar um novo com suas credenciais de API.
Tipos de mídia
As solicitações com um corpo de mensagem estão usando JSON simples para definir ou atualizar os estados de recurso.
Estados de erro
Os códigos de status de resposta HTTP comuns são usados.
Json inválido
Se você receber uma resposta informando "JSON inválido", valide a carga json que você está usando no JSONLint.
Limite de taxa
As solicitações da API são limitadas a 120 solicitações por minuto por empresa. Após o limite ser excedido, as solicitações subsequentes obterão uma resposta com o Código de status HTTP 429 Excesso de solicitações.
Além disso, um cabeçalho mostrará quantos segundos você deve esperar antes de tentar novamente a solicitação:
Retry-After: <delay-seconds>
Práticas recomendadas para lidar com o limite de taxa:
Distribua as solicitações de forma uniforme ao longo do tempo para evitar picos de uso que podem resultar em respostas limitadas
Desenvolver lógica que usa as informações de Tentar novamente após para saber quando é possível tentar novamente a solicitação
Certifique-se de que você não tenha integrações desnecessárias em execução em paralelo, pois todas as integrações contarão para o limite
Date Format
O formato dos campos de data da API segue a representação da ISO 8601:
YYYY-MM-DDThh:mm:ssZ
Nesse formato, a letra T funciona como um delimitador necessário, enquanto Z é um designador de fuso horário, se necessário. Quando Z não é usado, o fuso horário aplicado à data é o mesmo que o definido na empresa do Prodsmart. Z significa o fuso horário Zero, pois é deslocado por 0.
Exemplo de uso:
Se o tempo que está sendo usado for uma hora antes do UTC, o designador de zona deverá ser "+01:00", "+0100" ou simplesmente "+01".
Se o fuso horário de uma empresa for definido como -05:00, e a data de envio tiver o seguinte formato: 2020-07-20T09:15:15Z, a data será exibida no Prodsmart como: 07/20/2020 - 04:15:15
Se o formato enviado for: 2020-07-20T09:15:15, a data será exibida no Prodsmart como: 07/20/2020 - 09:15:15 (com fuso horário de -05:00), o que significa que se um usuário tiver um fuso horário definido como -04:00 o verá como: 07/20/2020 - 10:15:15
Integrações comuns de ERP
Os cenários comuns para integrações de ERP são a sincronização principalmente de Pedidos de produção, Estoques e Catálogo de produtos.
Pedidos de produção
Quando um pedido de produção é criado no lado do ERP, o ERP deve enviar os dados do pedido de produção no formato JSON para a API do Prodsmart, usando o Serviço de criação de pedido de produção. Se for necessário atualizar o lado do ERP quando um pedido de produção for criado ou atualizado no Prodsmart, há duas possibilidades: ou o ERP pode ser contatado de fora, e nesse caso é possível configurar webhooks no Prodsmart, e os webhooks serão chamados na criação, atualização e exclusão de pedidos de produção no lado do Prodsmart. Se o ERP não puder ser contatado de fora, o ERP deverá ativar o Serviço de lista de pedidos de produção para detectar alterações.
Estoques
Normalmente, o ERP (ou WMS) é o mestre em estoques; portanto, fornecemos um serviço (Atualizar estoque do produto) que permite que o ERP/WMS atualize o estoque atual de um produto para uma quantidade específica. Às vezes, o ERP/WMS pode ser notificado sobre alterações no estoque de produção observando alterações em pedidos de produção ou usando webhooks ou um serviço da Web de estoque atual (mediante solicitação).
Produtos
De forma infrequente, o catálogo de produtos também é sincronizado. Nesse caso, o ERP é sempre o principal e pode criar produtos e operações usando o serviço de criação de produtos.
Webhooks
Os webhooks estão disponíveis para eventos de pedido de produção no menu integrações no aplicativo. Para usar este recurso, adicione o retorno de chamada do URL do ponto de extremidade com os eventos de notificação que você deseja escutar. Nós nos esforçamos para enviar notificações de webhook assim que os eventos ocorrem em nosso sistema. Se você tiver um grande número de pedidos de produção alterados simultaneamente, poderá receber uma inundação de notificações entregues dentro de um curto período de tempo. No momento, não oferecemos suporte a nenhuma nova tentativa.
Cabeçalhos
Cabeçalhos do Webhook
x-prodsmart-topic: "productionOrder/create"x-prodsmart-hmac-sha256: "c938fe31379c0d89b37468e1cae9e3aab2d56834"x-prodsmart-api-version: "1"x-prodsmart-webhook-uuid: "91cb972d-b476-4936-947c-4be471b9da5b"x-prodsmart-triggered-at: "2023-08-29T20:39:46.142Z"
Observação:
x-prodsmart-topic - Identificar o tópico do webhook
x-prodsmart-hmac-sha256 - Utilizado para verificar a origem do webhook
x-prodsmart-api-version - Versão da API usada para enviar o webhook
x-prodsmart-webhook-uuid - Identificar webhook exclusivo
x-prodsmart-trigger-at - Hora em que o webhook foi acionado
Como verificar o webhook?
Antes de responder com um código de status 200, é crucial confirmar que o webhook se originou no Prodsmart. Esta verificação é obtida ao calcular uma assinatura.
Cada solicitação de webhook vem com um cabeçalho específico chamado x-prodsmart-hmac-sha1, que é codificado no formato base64. Este cabeçalho é gerado usando o segredo da API e os dados incluídos na solicitação do webhook.
Para verificar a autenticidade do webhook, você precisa calcular uma assinatura usando o mesmo segredo de API e os dados fornecidos.
Depois de calcular a assinatura, compare-a com o valor encontrado no cabeçalho x-prodsmart-hmac-sha1 da solicitação de webhook de entrada.
Se a assinatura calculada corresponde ao valor no cabeçalho x-prodsmart-hmac-sha1, você pode ficar confiante de que o webhook foi realmente enviado do Prodsmart e pode continuar respondendo com um código de status 200.
Pedidos de produção
Solicitação (application/json)
Método: POST
Corpo
{ "products": [ { "product": "V23076", "quantity-ordered": 3500, "observations": "", "quantity-produced": 700 } ], "code": "Test Production Order", "shipping": { "code": "shipping 45" }, "serial-number": "", "description": "", "start-date": "2023-04-20T09:15:15Z", "due-date": "2023-05-16T17:15:15Z", "workers-assigned": [ { "number": 120 }, { "number": 11 }, { "number": 10 }, { "number": 1 } ], "ended": false, "machines": [ { "code": "A32" }, { "code": "F1" } ], "pieces-by-box": 20, "status": "onschedule", "running-status": "started", "notes": "", "id": 1}
Observação: O status de execução será excluído quando a pedido de produção for excluído.
Relógio de ponto
Solicitação (application/json)
Método: POST
Corpo
{ "id": 932015, "date": "2022-05-19T14:35:30.000+01:00", "notification": "punchClock_created", "worker": { "number": 0 }, "entry": 1}
valores possíveis de entrada:
1 - Entrada
0 - Saída
notificação de valores possíveis:
punchClock_created
punchClock_updated
punchClock_deleted
Movimentação do inventário de remessa
Movimentação do inventário de remessa criada/atualizada
Solicitação (application/json)
Método: POST
Corpo
[{ "product": { "id": 222, "code": "product-code", "uom": "uom" }, "lot": { "code": "lot-code", "expiration-date": "lot-expiration-date", "supplier-lot": "supplier-lot-name" }, "date": "2022-02-21T00:00:00Z", "quantity": 10.0, "stock-type": "out", "comment": "comment", "warehouse-location": { "id": 333, "code": "warehouse-location-code", "warehouse": { "id": 444, "code": "warehouse-code" } }, "sales-order": { "id": 555, "code": "sales-order-code", "client": { "id": 777, "code": "client-code" }, "parameters": [{ "name": "parameterX", "value": "valueX" }] }, "shipping": { "id": 666, "code": "shipping-code" }, "worker": { "id": 333, "number": 0, "name": "worker-name" }}]
notificação de valores possíveis:
shipping_inventory_movement_created
shipping_inventory_movement_updated
Movimentação de inventário de remessa excluído
Solicitação (application/json)
Método: POST
Corpo
{ "id": 111}
notificação de valores possíveis:
shipping_inventory_movement_deleted
Movimentação de inventário de recebimento
Movimentação do inventário de recebimento criada/atualizada
Solicitação (application/json)
Método: POST
Corpo
[{ "product": { "id": 222, "code": "product-code", "uom": "uom" }, "lot": { "code": "lot-code", "expiration-date": "lot-expiration-date", "supplier-lot": "supplier-lot-name" }, "date": "2022-02-21T00:00:00Z", "quantity": 10.0, "stock-type": "in", "comment": "comment", "warehouse-location": { "id": 333, "code": "warehouse-location-code", "warehouse": { "id": 444, "code": "warehouse-code" } }, "purchase-order": { "id": 555, "code": "purchase-order-code", "supplier": "supplier-code", "parameters": [{ "name": "parameterX", "value": "valueX" }] }, "receiving": { "id": 666, "code": "receiving-code" }, "worker": { "id": 333, "number": 0, "name": "worker-name" }}]
notificação de valores possíveis:
receiving_inventory_movement_created
receiving_inventory_movement_updated
Movimentação do inventário de recebimento excluída
Solicitação (application/json)
Método: POST
Corpo
{ "id": 111}
notificação de valores possíveis:
receiving_inventory_movement_deleted
Movimentação de inventário interno
Movimentação interna de inventário criada/atualizada
Solicitação (application/json)
Método: POST
Corpo
[{ "product": { "id": 222, "code": "product-code", "uom": "uom" }, "lot": { "code": "lot-code", "expiration-date": "lot-expiration-date", "supplier-lot": "supplier-lot-name" }, "date": "2022-02-21T00:00:00Z", "quantity": 10.0, "stock-type": "in", "comment": "comment", "warehouse-location": { "id": 333, "code": "warehouse-location-code", "warehouse": { "id": 444, "code": "warehouse-code" } }, "worker": { "id": 333, "number": 0, "name": "worker-name" }}]
notificação de valores possíveis:
internal_inventory_movement_created
internal_inventory_movement_updated
Movimentação de inventário interno excluída
Solicitação (application/json)
Método: POST
Corpo
{ "id": 111}
notificação de valores possíveis:
internal_inventory_movement_deleted
Movimentação de preparação de material
Preparação de material criada/atualizada
Solicitação (application/json)
Método: POST
Corpo
[{ "product": { "id": 222, "code": "product-code", "uom": "uom" }, "production-order": { "id": 333, "code": "production-order-code" }, "lot": { "code": "lot-code", "expiration-date": "lot-expiration-date", "supplier-lot": "supplier-lot-name" }, "date": "2022-02-21T00:00:00Z", "quantity": 10.0, "warehouse-location": { "id": 333, "code": "warehouse-location-code", "warehouse": { "id": 444, "code": "warehouse-code" } }, "worker": { "id": 333, "number": 0, "name": "worker-name" }}]
notificação de valores possíveis:
material_staging_created
material_staging_updated
Preparação de material excluída
Solicitação (application/json)
Método: POST
Corpo
{ "id": 111}
notificação de valores possíveis:
material_staging_deleted
Lote
Lote criado/atualizado
Solicitação (application/json)
Método: POST
Corpo
[{ "code": "lot-code", "creation-date": "2022-02-21T00:00:00Z", "expiration-date": "2022-02-21T00:00:00Z", "supplier-lot": "supplier-lot-name", "product": { "id": 222, "code": "product-code", "uom": "uom" }}]
notificação de valores possíveis:
lot_created
lot_updated
Lote excluído
Solicitação (application/json)
Método: POST
Corpo
{ "id": 111}
notificação de valores possíveis:
lot_deleted
Tempo de inatividade
Tempo de inatividade criado/atualizado/excluído
Solicitação (application/json)
Método: POST
Corpo
{ "id": 1, "start-time": "2000-01-01T00:00:00.000+01:00", "end-time": "2099-12-31T23:59:59.999+01:00", "started-by": {}, "closed-by": { "number": 0 }, "workers": [ { "number": 0 } ], "machines": [], "product": "", "production-order": "", "checked-out": true, "downtime-type": "downtime1 type", "time-spent": "08:00:00", "event-type": "downTime_created"}
notificação de valores possíveis:
downTime_created
downTime_updated
downTime_deleted
Altera os canais de feed
Se, por qualquer motivo, você não for capaz de usar webhooks, ofereceremos uma alternativa como uma pilha de alterações que armazenará as alterações ocorridas nas últimas 24 horas ou desde a última vez que você solicitou as alterações por meio do serviço da Web que fornecemos. Para utilizar este recurso, é preciso criar um canal no menu de integrações (https://app.prodsmart.com/admin/integrations). É possível criar até três canais por organização.
Há seis tipos de canais de alterações:
TEMPO DE INATIVIDADE
PRODUTO
PRODUÇÃO
PEDIDO DE PRODUÇÃO
RELÓGIO DE PONTO
ESTOQUE
Obter alterações
GET /api/changes/{channel}{?access_token}
Ao chamar este serviço, você obterá uma lista de entidades que foram alteradas porque foram criadas/atualizadas/excluídas ou porque o estado delas foi alterado. Você receberá uma matriz com o estado atual das entidades (ordenado das alterações mais antigas para as mais recentes), com um máximo de 25 por chamada de serviço. As entidades que você obtém do serviço são removidas da pilha (até que tenham novas atualizações). O serviço retornará uma matriz vazia ("[]") se não houver alterações.
URI de exemplo
GET /api/changes/channel?access_token=
Parâmetros de URI
Parâmetros de URI
canal
sequência (obrigatório)
o canal a ser acessado
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
trabalhadores
booleano (opcional)
mostrar lista de trabalhadores na resposta do canal de pedidos de produção
Solicitação
Solicitação
Content-Type: application/json
TEMPOS DE INATIVIDADE
[ { "id": 1435048, "start-time": "2022-04-22T14:47:00.000+01:00", "end-time": "2022-04-23T00:00:00.000+01:00", "started-by": {}, "closed-by": { "number": 1 }, "workers": [ { "number": 1 } ], "machines": [], "product": "", "production-order": "", "checked-out": true, "downtime-type": "Maintenance", "time-spent": "09:13:00", "event-type": "downTime_deleted", }]
Observação: O campo de tipo de evento só estará presente quando um Tempo de Inatividade for excluído.
PEDIDOS DE PRODUÇÃO
[ { "products": [ { "product": "RN2", "quantity-ordered": 30.0, "observations": "", "quantity-produced": 0.0 } ], "code": "Production Order 123", "description": "", "shipping": {}, "start-date": "2022-04-21T00:00:00.000+01:00", "due-date": "2022-04-28T00:00:00.000+01:00", "ended": false, "machines": [], "notes": "", "is-active": true, "running-status": "notstarted", "status": "onschedule", "material-staging-complete": false, "id": 1379919 }]
Obrigatório: O campo de status de execução terá o valor excluído quando um pedido de produção for excluído.
PRODUTOS
[ { "code": "V23076", "name": "V23076", "observations": "", "section": null, "unit-cost": null, "unit-price": null, "families": [], "operations": [], "components": [], "custom-fields": [], "notification": null, "serializable": null, "shipping-package-types": [], "external-stock": null, "stock-max": null, "min-quantity-reorder": null, "quantity-multiple": null, "scrap-allowance": null, "shelf-life": null, "parameters": [] }]
Observação: O campo de notificação terá o valor product_deleted um produto foi excluído.
REGISTROS DE PRODUÇÃO ¶
[ { "production-order": { "code": "P1 - Week 14", "id": 3641 }, "operation": { "code": "CUT3", "product": "P1" }, "worker": { "number": 6 }, "machine": { "code": "WJC" }, "quantity": 0.0, "checked-out": false, "produced-waste": [], "consumptions": [], "total-time-factor": 1.0, "rework": false, "work-time": "00H00m00s", "start-time": "2022-04-22T14:43:00.000+01:00", "end-time": "2022-04-22T14:43:00.000+01:00", "status": "deleted", "show-check-in-checklist-and-c-f": false, "id": 12952533 }]
Observação: O campo de status só estará presente quando um Registro de produção for excluído.
RELÓGIOS DE PONTO
[ { "id": 932015, "date": "2022-05-19T14:35:30.000+01:00", "notification": "punchClock_deleted", "worker": { "number": 0 }, "entry": 1 }]
Observação: O campo de notificação só estará presente quando uma entrada do Relógio de ponto for excluído.
ESTOQUE
[ { "product-code": "P1", "stock": 2395.0, "lot": [ { "code": "Lot 0086", "stock": 500.0 } ] }]
Fornecedor
Recursos do fornecedor da API do Prodsmart.
FORNECEDOR
Um único objeto de fornecedor.
O recurso do Fornecedor tem os seguintes atributos:
id (fornecido)
code (sequência, obrigatório, exclusivo) - código do fornecedor
name (sequência, obrigatório) - nome do fornecedor
number (sequência, opcional) - número de IVA do fornecedor
expiration-date (data, opcional, formato AAAA-MM-DDTHH:MM:SSZ) - data em que o fornecedor expira
addresses (matriz, opcional)
code (sequência, obrigatório, exclusivo) - código de endereço
name (sequência, opcional) - nome do endereço
address (sequência, obrigatório) - linha de endereço
city (sequência, opcional) - cidade do endereço
post-code (sequência, opcional) - código postal do endereço
state (sequência, opcional) - estado/região do endereço
country (sequência, obrigatório) - código do país do endereço
default (booleano, opcional - tem como padrão false (falso)) - se true (verdadeiro), é o endereço padrão do fornecedor
contacts (matriz, opcional)
phone-number (sequência, obrigatório se não houver e-mail) - número de telefone do contato
email (sequência, obrigatório se não houver número de telefone) - e-mail de contato
name (sequência, opcional) - nome do contato
default (booleano, opcional - tem como padrão false (falso)) - se true (verdadeiro), é o contato padrão do fornecedor
Regras padrão de endereço/contato:
Os contatos e endereços só podem ter um endereço ou contato padrão, respectivamente
Se um fornecedor tiver endereços, um dos endereços deverá ser o padrão
Se um fornecedor tiver contatos, um dos contatos deverá ser o padrão
Na criação/atualização de um fornecedor, se nenhum contato/endereço padrão for fornecido, o primeiro contato/endereço será o padrão
Criar um fornecedor
POST /api/suppliers{?access_token}
Status: disponível
Para criar um Fornecedor, forneça um hash JSON dos atributos para o novo Fornecedor. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
POST /api/suppliers?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "2020-01-01T00:00:00Z", "contacts": [ { "email": "supplier@supplier.com", "phone-number": "12345678", "name": "Contact1", "default": true }, { "email": "supplier2@supplier2.com", "phone-number": "123456789", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "city": "Lisbon", "address": "Address 1 Street", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "city": "San Francisco", "address": "Address 1 Street", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar Fornecedores
GET /api/suppliers{?access_token}
Para listar Fornecedores. Esta ação requer um access_token com escopo productions_write. Esse serviço é paginado, retornando 25 fornecedores por página.
URI de exemplo
GET /api/suppliers?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
id
number (opcional)
lista fornecedores filtrados por ID
code
sequência (opcional)
lista fornecedores filtrados por código
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "id": 987356123, "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }, { "id": 987356124, "code": "Supplier2", "name": "Supplier2", "number": "213457", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier3@supplier3.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier4@supplier4.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address3", "name": "Address3", "address": "Address 3 Street", "city": "Paris", "post-code": "111-111", "state": "Paris", "country": "FR", "default": true }, { "code": "Address4", "name": "Address4", "address": "Address 4 Street", "city": "Madrid", "post-code": "111-111", "state": "Madrid", "country": "ES", "default": false } ] } ]
Resposta 400 Exibir
Resposta 400 Exibir
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Recuperar um fornecedor
GET /api/suppliers/{id}{?access_token}
Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/suppliers/id?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
id
numérico (obrigatório)
ID do fornecedor
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Atualizar um fornecedor
PUT /api/suppliers/{id}{?access_token}
Para atualizar um Fornecedor, forneça um hash JSON dos atributos para o novo Fornecedor.
Contatos
Os contatos do fornecedor especificado substituirão os contatos atuais.
Se um contato com o mesmo nome que um contato existente for fornecido, o contato com esse nome terá seus valores substituídos pelos dados fornecidos.
Se não forem fornecidos contatos, os contatos existentes serão removidos.
Endereços
Os endereços fornecidos substituirão os endereços atuais.
Se um endereço com o mesmo código que um endereço existente for fornecido, o endereço com esse código terá seus valores substituídos pelos dados fornecidos.
Se nenhum endereço for fornecido, os endereços existentes serão removidos.
Se um endereço tiver entidades associadas, ocorrerá falha na solicitação, pois o endereço não poderá ser removido.
Esta ação requer um access_token com escopo productions_write.
URI de exemplo
PUT /api/suppliers/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do cliente
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "2020-01-01T00:00:00Z", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 201
Resposta 201
Corpo
{ "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Remover um fornecedor
DELETE /api/suppliers/{id}{?access_token}
URI de exemplo
EXCLUIR /api/suppliers/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do fornecedor
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 204
Resposta 204
Corpo
Supplier was deleted
Resposta 412
Resposta 412
Corpo
It's not possible to delete this supplier. It has dependent entities.
Cliente
Recursos de cliente da API do Prodsmart.
CLIENTE
Um único objeto de cliente.
O recurso Cliente tem os seguintes atributos:
id (fornecido)
code (sequência, obrigatório, exclusivo) - código do cliente
name (sequência, obrigatório) - nome do cliente
number (sequência, opcional) - número do cliente
phone-number (sequência, opcional) - número de telefone do cliente
email (sequência, opcional) - e-mail do cliente
addresses (matriz, opcional)
code (sequência, obrigatório, exclusivo) - código de endereço
name (sequência, opcional) - nome do endereço
address (sequência, obrigatório) - linha de endereço
city (sequência, opcional) - cidade do endereço
post-code (sequência, opcional) - código postal do endereço
state (sequência, opcional) - estado/região do endereço
country (sequência, obrigatório) - código do país do endereço
default (booleano, opcional - tem false (falso) como padrão) - se true (verdadeiro), é o endereço padrão do cliente
contacts (matriz, opcional)
phone-number (sequência, obrigatório se não houver e-mail) - número de telefone do contato
email (sequência, obrigatório se não houver número de telefone) - e-mail de contato
name (sequência, opcional) - nome do contato
default (booleano, opcional - tem false (falso) como padrão) - se true (verdadeiro), é o contato padrão do cliente
Regras padrão de endereço/contato:
Os contatos e endereços só podem ter um endereço ou contato padrão, respectivamente
Se um cliente tiver endereços, um dos endereços deverá ser o padrão
Se um cliente tiver contatos, um dos contatos deverá ser o padrão
Na criação/atualização de um cliente, se nenhum contato/endereço padrão for fornecido, o primeiro contato/endereço será o padrão
Criar um cliente
POST /api/clients{?access_token}
Para criar um cliente, forneça um hash JSON dos atributos para o novo cliente. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar um cliente. No futuro, se a solicitação for uma matriz em vez de um recurso, todos os itens na matriz serão salvos.
URI de exemplo
POST /api/clients?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "2020-01-01T00:00:00Z", "contacts": [ { "email": "supplier@supplier.com", "phone-number": "12345678", "name": "Contact1", "default": true }, { "email": "supplier2@supplier2.com", "phone-number": "123456789", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "city": "Lisbon", "address": "Address 1 Street", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "city": "San Francisco", "address": "Address 1 Street", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar clientes
GET /api/clients{?access_token}
Para listar os clientes. Esta ação requer um access_token com escopo productions_write. Este serviço é paginado, retornando 25 clientes por página.
URI de exemplo
GET /api/clients?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
id
number (opcional)
lista clientes filtrados por ID
code
sequência (opcional)
lista clientes filtrados por código
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "id": 987356123, "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }, { "id": 987356124, "code": "Supplier2", "name": "Supplier2", "number": "213457", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier3@supplier3.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier4@supplier4.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address3", "name": "Address3", "address": "Address 3 Street", "city": "Paris", "post-code": "111-111", "state": "Paris", "country": "FR", "default": true }, { "code": "Address4", "name": "Address4", "address": "Address 4 Street", "city": "Madrid", "post-code": "111-111", "state": "Madrid", "country": "ES", "default": false } ] } ]
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Recuperar um cliente
GET /api/clients/{id}{?access_token}
Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/clients/id?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
id
numérico (obrigatório)
ID do cliente
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Atualizar um cliente
PUT /api/clients/{id}{?access_token}
Para atualizar um cliente, forneça um hash JSON dos atributos para o novo cliente.
Contatos
Os contatos do fornecedor especificado substituirão os contatos atuais.
Se um contato com o mesmo nome que um contato existente for fornecido, o contato com esse nome terá seus valores substituídos pelos dados fornecidos.
Se não forem fornecidos contatos, os contatos existentes serão removidos.
Endereços
Os endereços fornecidos substituirão os endereços atuais.
Se um endereço com o mesmo código que um endereço existente for fornecido, o endereço com esse código terá seus valores substituídos pelos dados fornecidos.
Se nenhum endereço for fornecido, os endereços existentes serão removidos.
Se um endereço tiver entidades associadas, ocorrerá falha na solicitação, pois o endereço não poderá ser removido.
Esta ação requer um access_token com escopo productions_write.
URI de exemplo
PUT /api/clients/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do cliente
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "2020-01-01T00:00:00Z", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses":[ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ]}
Resposta 201
Resposta 201
Corpo
{ "code": "Supplier", "name": "Supplier", "number": "213456", "expiration-date": "01/01/2020", "contacts": [ { "phone-number": "12345678", "email": "supplier@supplier.com", "name": "Contact1", "default": true }, { "phone-number": "123456789", "email": "supplier2@supplier2.com", "name": "Contact2", "default": false } ], "addresses": [ { "code": "Address1", "name": "Address1", "address": "Address 1 Street", "city": "Lisbon", "post-code": "111-111", "state": "Lisbon", "country": "PT", "default": true }, { "code": "Address2", "name": "Address2", "address": "Address 1 Street", "city": "San Francisco", "post-code": "111-111", "state": "California", "country": "US", "default": false } ] }
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Remover um cliente
DELETE /api/clients/{id}{?access_token}
URI de exemplo
EXCLUIR /api/clients/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do cliente
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 204
Resposta 204
Corpo
Client was deleted
Resposta 412
Resposta 412
Corpo
It's not possible to delete this client. It has dependent entities.
Pedido de vendas
Recursos de pedido do cliente da API do Prodsmart.
PEDIDO DE VENDAS
Um único objeto de pedido de vendas. O recurso Pedido de vendas é um dos recursos mais importantes da API do Prodsmart.
O recurso Pedido de vendas tem os seguintes atributos:
id (fornecido)
code (sequência, obrigatório) - código de pedido de vendas
client (sequência, opcional) - código do cliente
observations (sequência, opcional) - observações do pedido de vendas
products (matriz, obrigatório, não vazio)
code (sequência, obrigatório, exclusivo) - código do produto
quantity (duplo, obrigatório, > 0) - quantidade pedida
due-date (data, opcional, formato AAAA-MM-DDTHH:MM:SSZ) - data de vencimento do envio
request-date (data, opcional, formato AAAA-MM-DDTHH:MM:SSZ) - data em que o envio é solicitado
location (sequência, opcional) - localização, se forem vários locais
price (duplo, opcional) - preço do produto
parâmetros (sequência, opcional) - contém um atributo específico do pedido de vendas
Criar um pedido de vendas
POST /api/client-order/{?access_token}
Para criar um pedido de vendas, forneça um hash JSON dos atributos para o novo pedido de vendas. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar um pedido de vendas. No futuro, se a solicitação for uma matriz em vez de um recurso, todos os itens na matriz serão salvos.
URI de exemplo
POST /api/client-order/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "observations": "Ready next week", "billing-address": "San Francisco", "delivery-address": "Delivery address code", "location": "location code", "products": [ { "code": "V23076", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3, "delivery-address":"San Francisco" }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price":502, "delivery-address":"Los Angeles" } ], "parameters": [ { "name": "Sales Order Type", "value": "Regular" } ]}
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "billing-address":"San Francisco", "observations": "Ready next week", "products": [ { "code": "V23076", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3, "delivery-address":"San Francisco" }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price":502, "delivery-address":"Los Angeles" } ], "parameters": [ { "name": "Sales Order Type", "value": "Regular" } ]}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar pedidos de vendas
GET /api/client-order/{?access_token}
Para listar pedidos de vendas. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write. Este serviço é paginado, retornando 25 pedidos de vendas por página.
URI de exemplo
GET /api/client-order/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
due-date-before
date (opcional)
lista pedidos de vendas com data de vencimento anterior a esta
due-date-after
date (opcional)
lista pedidos de vendas com data de vencimento posterior a esta
cliente
sequência (opcional)
código de máquina
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "id": 987356123, "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ], "parameters": [ { "name": "Sales Order Type", "value": "Regular" } ] }, { "id": 987356124, "code": "CO123 - Week 48", "client": "Client X", "observations": "", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 70, "due-date": "2019-08-23T18:00:00Z", "requested-date": "2019-01-16T15:19:54Z", "price": 140 }, { "code": "V23077", "quantity": 69, "due-date": "2016-08-23T18:00:00Z", "requested-date": "2019-01-16T15:19:54Z" } ], "parameters": [ { "name": "Sales Order Type", "value": "Priority" } ] }]
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Recuperar um pedido de vendas
GET /api/client-order/{id}{?access_token}
Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/client-order/id?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
id
numérico (obrigatório)
ID do pedido de vendas
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ], "parameters": [ { "name": "Sales Order Type", "value": "Priority" } ]}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Atualizar um pedido de vendas
PUT /api/client-order/{?access_token}
Para atualizar um pedido de vendas, forneça um hash JSON dos atributos para o novo pedido de vendas. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
PUT /api/client-order/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "observations": "Ready next week", "billing-address": "San Francisco", "location": "location code", "products": [ { "code": "V23076", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3, "billing-address": "San Francisco" }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "billing-address": "Los Angeles" } ]}
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "billing-address": "San Francisco", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3, "billing-address": "San Francisco" }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "billing-address": "Los Angeles" } ]}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Remover um pedido de vendas
EXCLUIR /api/client-order/{id}{?access_token}
URI de exemplo
EXCLUIR /api/client-order/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de vendas
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 204
Resposta 204
Corpo
Client order was deleted
Resposta 409
Resposta 409
Corpo
Client order already has production orders created or other entities associated, cannot be removed.
Pedido de compra
Recursos de pedido de compra da API do Prodsmart.
PEDIDO DE COMPRA
Um único objeto de pedido de compra. O recurso de pedido de compra é um dos recursos mais importantes da API do Prodsmart.
O recurso Pedido de compra tem os seguintes atributos:
id (fornecido)
code (sequência, obrigatório) - código de pedido de compra
supplier (sequência, opcional) - código do fornecedor
billing-address (sequência, opcional) - endereço de cobrança
observations (sequência, opcional) - observações do pedido de compra
products (matriz, obrigatório, não vazio)
code (sequência, obrigatório, exclusivo) - código do produto
quantity (duplo, obrigatório, > 0) - solicitação de quantidade
due-date (data, opcional, formato AAAA-MM-DDTHH:MM:SSZ) - data de vencimento do recebimento
request-date (data, opcional, formato AAAA-MM-DDTHH:MM:SSZ) - data em que o recebimento é solicitado
cost (duplo, opcional) - custo do produto
uom (sequência, opcional) - unidade de medida do produto
delivery-address (sequência, opcional) - endereço de entrega de recebimento
parameters (sequência, opcional) - parâmetros do pedido de compra
approval-status (sequência, opcional) - rascunho, em revisão, aprovado, confirmado, rejeitado
Criar um pedido de compra
POST /api/purchase-orders/{?access_token}
Para criar um pedido de compra, forneça um hash JSON dos atributos do novo pedido de compra. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar um pedido de compra. No futuro, se a solicitação for uma matriz em vez de um recurso, todos os itens na matriz serão salvos.
URI de exemplo
POST /api/purchase-orders/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "PO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "supplier": "Supplier X", "billing-address": "Lisbon", "observations": "Ready next week", "products": [ { "code": "V23076", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "uom": "Box", "cost": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2023-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ], "approval-status": "draft", "active": true}
Resposta 201
Resposta 201
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "PO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "supplier": "Supplier X", "billing-address": "Lisbon", "observations": "Ready next week", "products": [ { "code": "V23076", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "uom": "Box", "cost": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2023-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ], "approval-status": "draft", "active": true}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Recuperar um pedido de compra
GET /api/purchase-orders/{id}{?access_token}
Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/purchase-orders/id?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
id
numérico (obrigatório)
ID do pedido de compra
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "PO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "supplier": "Supplier X", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "cost": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2023-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ]}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Atualizar um pedido de compra
PUT/api/purchase-orders/{id}{?access_token}
Para atualizar um pedido de compra, forneça um hash JSON dos atributos do novo pedido de compra. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
PUT /api/purchase-orders/id?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
id
numérico (obrigatório)
ID do pedido de compra
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "id": 987356123, "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ]}
Resposta 201
Resposta 201
Corpo
{ "id": 987356123, "code": "CO123 - Week 47", "creation-date": "2022-04-19T08:30:01Z", "client": "Client X", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2019-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z", "price": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2016-08-16T17:15:15Z", "requested-date": "2019-01-16T15:19:54Z" } ]}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Remover um pedido de compra
DELETE /api/purchase-orders/{id}{?access_token}
URI de exemplo
EXCLUIR /api/purchase-orders/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de compra.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 204
Resposta 204
Corpo
Purchase order was deleted
Resposta 409
Resposta 409
Corpo
Purchase order already has production orders created or other entities associated, cannot be removed.
Listar pedidos de compra
GET /api/purchase-orders{?access_token}
Para listar pedidos de compra. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write. Este serviço é paginado, retornando 25 pedidos de vendas por página.
URI de exemplo
GET /api/purchase-orders?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
id
number (opcional)
lista pedidos de compra filtrados por ID de pedido de compra
code
sequência (opcional)
listar pedidos de compra filtrados por código de pedido de compra
due-date-before
date (opcional)
listar pedidos de compra com data de vencimento anterior a esta
due-date-after
date (opcional)
listar pedidos de compra com data de vencimento após esta data
fornecedor
sequência (opcional)
listar pedidos de compra filtrados por código do fornecedor
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "id": 987356123, "code": "PO123 - Week 47", "creation-date": "2023-04-19T08:30:01Z", "supplier": "Supplier X", "observations": "Ready next week", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 100, "due-date": "2023-08-16T17:15:15Z", "requested-date": "2023-01-16T15:19:54Z", "cost": 200.3 }, { "code": "V23077", "quantity": 99, "due-date": "2023-08-16T17:15:15Z", "requested-date": "2023-01-16T15:19:54Z" } ] }, { "id": 987356124, "code": "PO123 - Week 48", "supplier": "Supplier X", "observations": "", "products": [ { "code": "V23076", "name": "Vessel", "quantity": 70, "due-date": "2023-08-23T18:00:00Z", "requested-date": "2023-01-16T15:19:54Z", "cost": 140 }, { "code": "V23077", "quantity": 69, "due-date": "2023-08-23T18:00:00Z", "requested-date": "2023-01-16T15:19:54Z" } ] }]
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Pedido de produção
Recursos de pedido de produção da API do Prodsmart.
PEDIDO DE PRODUÇÃO
Um único objeto de pedido de produção. O recurso pedido de produção é um dos recursos mais importantes da API do Prodsmart. Representa o pedido de gerenciamento para produzir uma quantidade predeterminada de produtos durante um período definido por trabalhadores definidos.
O recurso Pedido de produção tem os seguintes atributos:
id (fornecido)
code (sequência, obrigatório) - código de pedido de produção
start-date (data, obrigatório, formato AAAA-MM-DDTHH:MM:SSZ) - data em que este pedido de produção está programado para iniciar
due-date (data, obrigatório, formato AAAA-MM-DDTHH:MM:SSZ) - data de vencimento deste pedido de produção
products (matriz, obrigatório, não vazio) - produtos e quantidades pedidos
product (sequência, obrigatório, exclusivo) - código do produto
quantity-ordered (número inteiro, obrigatório, >0) - quantidade pedida
observations (opcional) - observação sobre este produto
quantity-produced (número inteiro, fornecido, >0) - quantidade produzida
description (opcional) - descrição para este pedido de produção
shipping (opcional) - código de envio para este pedido
worker-assign (matriz, opcional) -
number - número do trabalhador
machines (matriz, opcional)
code - código de máquina
serial-number (opcional)
description (opcional)
notes (opcional)
status (fornecido) - scheduled (antes de start_date e completeness = 0), onschedule (antes de end_date e completeness < 100%), delayed (após end_date completeness < 100%), completed (completeness > = 100%)
running-status (fornecido) - notstarted (sem produções), started (com produções), closed (fechado manualmente ou fechado por conclusão), archived (arquivado manualmente)
O ID de estado é atribuído pela API do Prodsmart no momento da criação.
Recuperar um pedido de produção
GET /api/production-orders/{id}{?access_token}
Para recuperar um pedido de produção, basta executar uma solicitação GET com o ID do pedido de produção. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/production-orders/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de produção.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
trabalhadores
booleano (opcional)
mostra lista de trabalhadores na resposta
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
{ "products": [ { "product": "V23076", "quantity-ordered": 3500, "observations": "", "quantity-produced": 700 } ], "code": "V23076 - Week 33/34", "shipping": { "code": "shipping 45" }, "start-date": "2023-04-20T09:15:15Z", "due-date": "2023-05-16T17:15:15Z", "description": "Woodworks Ltd.", "ended": false, "custom-fields": [ { "Order Type": "No changeover" } ], "machines": [ { "code": "A32" } ], "pieces-by-box": 20, "is-active": true, "status": "onschedule", "running-status": "started", "notes": "", "location": { "id": "location id", "code": "location code", "name": "location name" }, "material-staging-complete": true, "id": 3990}
Atualizar/substituir um pedido de produção
PUT /api/production-orders/{id}{?access_token}
Para atualizar um pedido de produção, basta executar uma solicitação PUT com o ID do pedido de produção. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
PUT /api/production-orders/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de produção.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
trabalhadores
booleano (opcional)
mostra lista de trabalhadores na resposta
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "products": [ { "product": "V23076", "quantity-ordered": 4000, "observations": "", "quantity-produced": 700 } ], "code": "V23076 - Week 33/34", "shipping": { "code": "shipping 45" }, "start-date": "2023-04-20T09:15:15Z", "due-date": "2023-05-16T17:15:15Z", "description": "Woodworks Ltd.", "ended": false, "custom-fields": [ { "Order Type": "No changeover" } ], "machines": [ { "code": "A32" } ], "pieces-by-box": 20, "is-active": true, "status": "onschedule", "running-status": "started", "notes": "", "location": "location code", "material-staging-complete": true, "id": 3990}
Resposta 200
Resposta 200
Corpo
{ "products": [ { "product": "V23076", "quantity-ordered": 4000, "observations": "", "quantity-produced": 700 } ], "code": "V23076 - Week 33/34", "shipping": { "code": "shipping 45" }, "start-date": "2023-04-20T09:15:15Z", "due-date": "2023-05-16T17:15:15Z", "description": "Woodworks Ltd.", "ended": false, "custom-fields": [ { "Order Type": "No changeover" } ], "machines": [ { "code": "A32" } ], "pieces-by-box": 20, "is-active": true, "status": "onschedule", "running-status": "started", "notes": "", "location": { "id": "location id", "code": "location code", "name": "location name" }, "material-staging-complete": true, "id": 3990}
Remover um pedido de produção
EXCLUIR /api/production-orders/{id}{?access_token}
URI de exemplo
EXCLUIR /api/production-orders/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de produção.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 204
Resposta 204
Corpo
Production order was deleted
Criar um pedido de produção
POST /api/production-orders/{?access_token}
Para criar um pedido de produção, forneça um hash JSON dos atributos para o novo pedido de produção. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar um pedido de produção. No futuro, se a solicitação for uma matriz em vez de um recurso, todos os itens na matriz serão salvos.
URI de exemplo
POST /api/production-orders/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
trabalhadores
booleano (opcional)
mostra lista de trabalhadores na resposta
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "products": [ { "product": "productExample", "quantity-ordered": 4500, "observations": "" } ], "code": "exampleCode", "shipping": "shippingExample", "serial-number": "", "description": "", "start-date": "2023-07-20T09:15:15Z", "due-date": "2023-08-16T17:15:15Z", "parameters": [ { "name": "Custom Field Name", "value": "123" }, { "name": "Custom Field Name 2", "value": "456" } ], "workers-assigned": [ { "number": 1 }, { "number": 3 } ], "worker-groups": [ { "name": "All" } ], "ended": false, "machines": [ { "code": "exampleMachine" }, { "code": "F1" } ], "pieces-by-box": 20, "notes": "", "location": "location code", "active": true}
Resposta 201
Resposta 201
Corpo
{ "products": [ { "product": "productExample", "quantity-ordered": 4500, "observations": "", "quantity-produced": 0 } ], "code": "exampleCode", "shipping": "shippingExample", "serial-number": "", "description": "", "start-date": "2023-07-20T09:15:15Z", "due-date": "2023-08-16T17:15:15Z", "workers-assigned": [ { "number": 1 }, { "number": 2 } { "number": 3 } { "number": 4 } ], "ended": false, "machines": [ {"code": "exampleMachine"}, {"code": "F1"} ], "pieces-by-box": 20, "status": "scheduled", "running-status": "notstarted", "notes": "", "location": { "id": "location id", "code": "location code", "name": "location name" }, "active": true, "id": 11110}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar pedidos de produção
GET /api/production-orders/{?access_token}
Para listar pedidos de produção. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write. Este serviço é paginado, retornando 25 OPs por página.
URI de exemplo
GET /api/production-orders/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
start-date-before
date (opcional)
lista pedidos de produção com data inicial anterior a esta
start-date-after
date (opcional)
lista pedidos de produção com data inicial após esta
due-date-before
date (opcional)
lista pedidos de produção com data de vencimento anterior a esta
due-date-after
date (opcional)
lista pedidos de produção com data de vencimento posterior a esta
running-status
sequência (opcional)
não iniciado, iniciado, fechado, arquivado
active
booleano (opcional)
lista somente pedidos de produção ativos (true, verdadeiros) ou não ativos (false, falso)
produto
sequência (opcional)
código do produto
machine
sequência (opcional)
código de máquina
trabalhadores
booleano (opcional)
mostra lista de trabalhadores na resposta
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "products": [ { "product": "exampleProduct", "quantity-ordered": 4500, "observations": "", "quantity-produced": 0 } ], "code": "exampleCode", "shipping": "Shipping 45", "serial-number": "", "description": "", "start-date": "2023-07-20T09:15:15Z", "due-date": "2023-08-16T17:15:15Z", "workers-assigned": [ { "number": 10 }, { "number": 1 } ], "ended": false, "machines": [ { "code": "exampleMachine" }, { "code": "F1" } ], "pieces-by-box": 20, "status": "scheduled", "running-status": "notstarted", "notes": "", "location": { "id": "location id", "code": "location code", "name": "location name" }, "active": true, "id": 8763990 }]
Notificar um problema de pedido de produção
POST /api/production-orders/{id}/notify{?access_token}
Serviço que publica uma mensagem curta no feed e adiciona uma mensagem no pedido de produção.
short-message (sequência, obrigatório) - mensagem publicada no feed, tamanho máximo de 140 caracteres
mensagem (sequência, opcional) - mensagem adicionada à seção de observações no PC
URI de exemplo
POST /api/production-orders/id/notify?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de produção.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "short-message": "example", "message": "complete message "}
Resposta 200
Resposta 200
Ativar um pedido de produção
POST /api/production-orders/{id}/activate{?access_token}
Serviço que ativa o pedido de produção.
URI de exemplo
POST /api/production-orders/id/activate?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID do pedido de produção.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{}
Resposta 200
Resposta 200
Resposta 204
Resposta 204
Corpo
Production Order was already active
Resposta 405
Resposta 405
Corpo
Production Order was closed or archived and cannot be activated
Produtos
Recursos de produto da API do Prodsmart.
PRODUTO
Um único objeto de produto. O recurso Product é um dos recursos mais importantes da API do Prodsmart. Representa os produtos de uma fábrica e contém as operações necessárias para a sua produção. Esse método cria novos produtos e suas operações. Também pode ser usado
O recurso Product tem os seguintes atributos:
code (sequência, obrigatório) - código do produto
name (sequência, obrigatório) - nome do produto
section (sequência, opcional)
families (matriz, opcional)
operations (matriz, opcional) - operações para produzir o produto
code (sequência, obrigatório) - código de operação
name (sequência, obrigatório) - nome da operação
waste (matriz, opcional)
task-durations (matriz, opcional, máx.:1)
duration (tempo, opcional, por exemplo, formato "10H59m59s") - o tempo médio que essa operação leva para ser executada, em teoria
duration-customer (tempo, opcional, por exemplo, format "10H59m59s") - o tempo definido no orçamento
ratio-quantity (duplo, opcional, padrão: 1.0) - o volume produzido em cada instância desta operação
times-per-product (inteiro, opcional, padrão: 1) - o número de vezes que esta operação deve ser executada para completar uma unidade do produto
custom-fields (matriz, opcional, deve existir no sistema) - campos personalizados a serem adicionados à operação
name (sequência, obrigatório) - o nome do campo personalizado, já criado no sistema
machines (matriz, opcional, deve existir no sistema) - máquinas que podem ser utilizadas para executar a operação
code (sequência, obrigatório) - o código de máquina, já criado no sistema
disabled (booleano, opcional) - desabilita a operação
optional (booleano, opcional) - definir a operação como opcional
recovery (booleano, opcional) - define a operação como recuperação
no-time (booleano, opcional) - não registrar tempos de produção
no-quantity (booleano, opcional) - não registrar quantidade de produção
as-team (booleano, opcional) - operação a ser executada como equipe
max-waste-threshold (duplo, opcional) - coeficiente máximo de desperdício a ser permitido
Os campos não presentes na solicitação serão definidos com os valores padrão. Ao usar este método para produtos/operações existentes, os campos não presentes serão considerados exclusões.
Recuperar um produto
GET /api/products/{code}{?access_token}
Para recuperar um produto, basta executar uma solicitação GET com o código do produto. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/products/code?access_token=
Parâmetros de URI
Parâmetros de URI
code
Sequência (obrigatório)
Código de produto.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
{ "code": "P11", "name": "Product 11", "section": null, "families": null, "color": "#8b0000", "observations": "observations", "operations": [ { "code": "op1", "name": "op1", "waste": null, "task-durations": [ { "validSince": "01/01/2022 - 13:00", "validUntil": "01/01/2100 - 13:00", "duration": "00H01m00s", "duration-customer": "00H01m00s", "ratio-quantity": 1 } ], "custom-fields": null, "machines": null, "disabled": false, "optional": false, "recovery": null, "no-time": false, "no-quantity": false, "as-team": false, "max-waste-threshold": null, "section": { "name": "specialsection" }, "id": 100 } ], "custom-fields": null, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1 } ], "label": { "code": "labelCode" }, "serializable": true, "id": 24}
Resposta 404
Resposta 404
Corpo
If product with the provided code doesn't exist.
Criar um produto
POST /api/products{?access_token}
Para criar um produto, forneça um hash JSON dos atributos do novo produto e suas operações. Esta ação requer um access_token com escopo productions_write. Várias operações podem ser criadas de uma só vez.
URI de exemplo
POST /api/products?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "P11", "name": "Product 11", "families": [ { "code": "FG" } ], "color": "#8b0000", "observations": "observations", "operations": [ { "code": "op1", "name": "op1", "waste": [ { "code": "BROKEN" } ], "task-durations": [ { "validSince": "01/01/2022 - 13:00", "validUntil": "01/01/2100 - 13:00", "duration": "00H01m00s", "duration-customer": "00H01m00s", "ratio-quantity": 1 } ], "times-per-product": 2.0, "checklists": [ { "code": "CheckIn" } ], "machines": [ { "code": "OVEN02" } ], "disabled": false, "optional": false, "recovery": false, "no-time": false, "no-quantity": false, "as-team": false, "multi-po": false, "print-production-barcode": false, "prepare-batch-order": false, "section": { "name": "CUT" } } ], "custom-fields": null, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" } ], "serializable": true}
Resposta 201
Resposta 201
Corpo
{ "code": "P11", "name": "Product 11", "families": [ { "code": "FG" } ], "color": "#8b0000", "observations": "observations", "operations": [ { "code": "op1", "name": "op1", "waste": [ { "code": "BROKEN" } ], "task-durations": [ { "validSince": "01/01/2022 - 13:00", "validUntil": "01/01/2100 - 13:00", "duration": "00H01m00s", "duration-customer": "00H01m00s", "ratio-quantity": 1 } ], "times-per-product": 2.0, "checklists": [ { "code": "CheckIn" } ], "custom-fields": null, "machines": [ { "code": "OVEN02" } ], "disabled": false, "optional": false, "recovery": null, "no-time": false, "no-quantity": false, "as-team": false, "section": { "name": "CUT" } "id":560 } ], "custom-fields": null, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" } ], "serializable": true "id":120}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Atualizar produto
PUT /api/products/{code}{?access_token}
Para atualizar um produto, forneça um código e um hash JSON de atributos para o produto existente e suas operações. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar um produto, mas várias operações podem ser criadas de uma só vez.
URI de exemplo
PUT /api/products/code?access_token=
Parâmetros de URI
Parâmetros de URI
code
sequência (obrigatório)
Código de produto.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "code": "P11", "name": "Product 11", "families": [ { "code": "FG" } ], "color": "#8b0000", "observations": "observations", "operations": [ { "code": "op1", "name": "op1", "waste": [ { "code": "BROKEN" } ], "task-durations": [ { "validSince": "01/01/2022 - 13:00", "validUntil": "01/01/2100 - 13:00", "duration": "00H01m00s", "duration-customer": "00H01m00s", "ratio-quantity": 1 } ], "times-per-product": 2.0, "checklists": [ { "code": "CheckIn" } ], "custom-fields": null, "machines": [ { "code": "OVEN02" } ], "disabled": false, "optional": false, "recovery": null, "no-time": false, "no-quantity": false, "as-team": false, "section": { "name": "CUT" } } ], "custom-fields": null, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" } ], "serializable": true}
Resposta 201
Resposta 201
Corpo
{ "code": "P11", "name": "Product 11", "families": [ { "code": "FG" } ], "color": "#8b0000", "observations": "observations", "operations": [ { "code": "op1", "name": "op1", "waste": [ { "code": "BROKEN" } ], "task-durations": [ { "validSince": "01/01/2022 - 13:00", "validUntil": "01/01/2100 - 13:00", "duration": "00H01m00s", "duration-customer": "00H01m00s", "ratio-quantity": 1 } ], "times-per-product": 2.0, "checklists": [ { "code": "CheckIn" } ], "custom-fields": null, "machines": [ { "code": "OVEN02" } ], "disabled": false, "optional": false, "recovery": null, "no-time": false, "no-quantity": false, "as-team": false, "section": { "name": "CUT" } "id":560 } ], "custom-fields": null, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" } ], "serializable": true "id":120}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Excluir produto
EXCLUIR /api/products/{code}{?access_token}
Para excluir um produto, forneça o código do produto.
URI de exemplo
EXCLUIR /api/products/code?access_token=
Parâmetros de URI
Parâmetros de URI
code
sequência (obrigatório)
Código de produto.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
Content-Type: application/json
Resposta 204
Resposta 204
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar produtos
GET /api/products{?access_token}
Para listar os produtos e suas operações. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/products?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
product-family-code
sequência (opcional)
lista produtos que pertencem à família de produtos fornecida
modification-date
date (opcional)
lista os produtos que foram modificados por meio do back office após a data fornecida
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
{ "code": "P11", "name": "Product 11", "observations": "", "section": null, "unit-cost": null, "unit-price": 4.32000, "families": [ { "code": "FG", "name": "Finished Goods" } ], "operations": [ { "code": "op1", "name": "op1", "waste": null, "task-durations": [ { "validSince": "01/01/2022 - 13:00", "validUntil": "01/01/2100 - 13:00", "duration": "00H01m00s", "duration-customer": "00H01m00s", "ratio-quantity": 1 } ], "custom-fields": null, "parameters": [ { "name": "parameter1", "value": "value1" } ], "machines": null, "disabled": false, "optional": false, "recovery": null, "no-time": false, "no-quantity": false, "as-team": false, "max-waste-threshold": null, "section": { "name": "specialsection" }, "id": 123 } ], "components": [ { "code": "SUGAR", "name": "Sugar", "quantity": 0.0015, "operation": "MIXING" }, { "code": "VANILLA", "name": "Vanilla", "quantity": 0.0008, "operation": "MIXING" } ], "serializable": false, "custom-fields": null}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
LISTA DE MATERIAIS DO PRODUTO
O recurso da lista de materiais do produto (BoM) estipula os materiais utilizados para fabricar um produto específico. A lista de materiais tem os seguintes atributos:
product-code - produto principal
bom (matriz, obrigatório)
product-code (sequência, obrigatório) - código do produto de componente/consumo
quantity (duplo, obrigatório) - quantidade
operation-code (sequência, opcional) - código da operação em que o material definido no product-code é consumido. Se vazio, o consumo ocorrerá na primeira operação do processo de fabricação deste produto.
Atualizar a lista de materiais do produto
POST /api/bom{?access_token}
Para atualizar a Lista de materiais de um produto, forneça um hash JSON dos atributos para o novo produto e suas operações. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
POST /api/bom?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "product-code": "bicycle", "bom": [ { "product-code": "wheel", "quantity": 2, "operation-code": "assemble" }, { "product-code": "seat", "quantity": 1, "operation-code": "assemble" } ]}
Resposta 201
Resposta 201
{ "product-code": "bicycle", "bom": [ { "product-code": "wheel", "quantity": 2, "operation-code": "assemble" }, { "product-code": "seat", "quantity": 1, "operation-code": "assemble" } ]}
Resposta 404
Resposta 404
Corpo
Main product not found
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
ESTOQUE DO PRODUTO
O recurso Estoque estipula as ações disponíveis para um produto específico.
product-code (sequência, obrigatório)
stock (duplo, obrigatório)
date (data, opcional) - data da contagem de estoque
Atualizar o estoque do produto
POST /api/stock{?access_token}
Para atualizar o estoque de um Produto, forneça uma hash JSON dos atributos para o seu estoque atual. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
POST /api/stock?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "product-code": "bicycle", "stock": 200.5, "date": "2023-08-16T17:15:15Z"}
Resposta 201
Resposta 201
Corpo
Request successful
Resposta 404
Resposta 404
Corpo
Product not found
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Famílias de produtos
Recursos de produto da API do Prodsmart.
FAMÍLIA DE PRODUTOS
O objeto Família de produtos representa a família ou as famílias às quais um produto pertence.
O recurso Família de produtos tem os seguintes atributos:
code (sequência, obrigatório) - código da família de produtos
name (sequência, obrigatório) - nome da família de produtos
Criar uma família de produtos
POST /api/product-families{?access_token}
Para criar uma ou mais famílias de produtos ・ Esta ação requer um access_token com escopo productions_write.
URI de exemplo
POST /api/product-families?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "product-families": [ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" } ]}
Resposta 201
Resposta 201
Corpo
[ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" }]
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Excluir família de produtos
EXCLUIR /api/product-family/{code}{?access_token}
Para excluir uma família de produtos, forneça o código ProductFamily
URI de exemplo
EXCLUIR /api/product-family/code?access_token=
Parâmetros de URI
Parâmetros de URI
code
sequência (obrigatório)
Código de produto.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
Content-Type: application/json
Resposta 204
Resposta 204
Corpo
Product Family was deleted
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar famílias de produtos
GET /api/product-families{?access_token}
Para listar as famílias de produtos. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/product-families?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 201
Resposta 201
Corpo
[ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" }]
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Máquinas
Recursos de produção da API do Prodsmart.
CONTADOR
Atualizar contador
POST /api/machines/{machine_code}/counter{?access_token}
Para atualizar o contador atual na máquina, basta enviar a seguinte solicitação. Para simplificar a conexão com a máquina, você pode usar access_token ou enviar credenciais de api no cabeçalho de autenticação com autenticação básica. O Prodsmart atualizará automaticamente a produção iniciada pelo trabalhador naquela máquina. A contagem de quantidades e as quantidades de desperdício devem ser incrementais (ou seja, sempre maiores que as quantidades enviadas anteriormente).
URI de exemplo
POST /api/machines/machine_code/counter?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
machine_code
sequência (obrigatório)
Código de máquina definido na plataforma Prodsmart
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "count": 500, "waste": [ { "code": "Waste1", "quantity": 20 } ], "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1 } ]}
Resposta 200
Resposta 200
Corpo
Returns the new value for the machine's counter.
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
PARÂMETROS
Atualizar parâmetros
POST /api/machines/{machine_code}/parameters{?access_token}
Para atualizar um parâmetro de máquina, basta enviar a seguinte solicitação. Para simplificar a conexão com a máquina, você pode usar access_token ou enviar credenciais de api no cabeçalho de autenticação com autenticação básica. Quando esses parâmetros forem passados, se um registro de produção for
URI de exemplo
POST /api/machines/machine_code/parameters?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
machine_code
sequência (obrigatório)
Código de máquina definido na plataforma Prodsmart
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "parameters": [ { "code": "temperature", "value": 25 }, { "code": "valid", "value": "yes" } ]}
Resposta 200
Resposta 200
TEMPO DE INATIVIDADE
Atualizar tempo de inatividade
POST /api/machines/{machine_code}/startstop{?access_token}
Para atualizar o status atual na máquina, basta enviar a seguinte solicitação. Para simplificar a conexão com a máquina, você pode usar access_token ou enviar credenciais de api no cabeçalho de autenticação com autenticação básica. O Prodsmart registrará automaticamente um tempo de inatividade ou o encerrará, de acordo com as informações recebidas. Envie 0 para máquina parada, 1 se estiver ligada e especifique o tipo de tempo de inatividade.
Para atualizar um status de máquina, especifique os seguintes atributos:
type (sequência, obrigatório, deve ser um tipo de tempo de inatividade já atribuído à máquina) - o tipo de tempo de inatividade
running (número, obrigatório, 0 ou 1) - a máquina está parada (0) ou em execução (1)
URI de exemplo
POST /api/machines/machine_code/startstop?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
machine_code
sequência (obrigatório)
Código de máquina definido na plataforma Prodsmart
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "type": "Maintenance", "running": 0}
Resposta 200
Resposta 200
Produção
Recursos de produção da API do Prodsmart.
PRODUÇÃO
Um único objeto de produção. O recurso de produção é o recurso central da API do Prodsmart. Representa a mão de obra de um trabalhador em uma posição durante um período.
O recurso de Produção tem os seguintes atributos:
id
start-time (data, obrigatório, formato AAAA-MM-DDTHH:MM:SSZ) - hora de início da produção
end-time (data, obrigatório, formato AAAA-MM-DDTHH:MM:SSZ) - hora final de produção
work-time (duração, fornecido, formato 00H00m00s) - tempo de trabalho de produção (dentro do horário programado/relógios de ponto e excluindo tempos de inatividade)
production-order (opcional) - pedido de produção para o qual esta produção foi feita
code (sequência, obrigatório) - código de pedido de produção
id (sequência, obrigatório)
operation (obrigatório) - tarefa que foi executada nesta produção
code (sequência, obrigatório, exclusivo) - código de tarefa
product (obrigatório) - a mercadoria material que o trabalhador está trabalhando nesta posição
quantity (número inteiro, obrigatório, > 0) - quantidade produzida nesta produção
worker (obrigatório) - uma pessoa que executa tarefas
number (longo, obrigatório, exclusivo) - número do trabalhador
produced-waste (matriz, opcional) - saída de material defeituoso em uma operação
quantity (numérico, obrigatório) - código de desperdício
waste - tipo de material defeituoso
code (sequência, obrigatório, exclusivo) - código de desperdício
description (sequência, obrigatório) - descrição do desperdício
flaw (sequência, obrigatório) - tipo de desperdício
quantity (inteiro, requerido) - quantidade de desperdício produzido
O ID de estado é atribuído pela API do Prodsmart no momento da criação.
Atualizar uma produção
PUT /api/productions/{id}{?access_token}
Para atualizar uma Produção, forneça um código e um hash JSON de atributos para a Produção existente. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar um produto, mas várias operações podem ser criadas de uma só vez.
URI de exemplo
PUT /api/productions/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID de produção
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "shipping": { "code": "shippingexamplecode00" }, "production-order": { "code": "productionorderexample00" }, "operation": { "product-code": "otherProductCode", "code": "OtherOperationCode" }, "worker": { "number": "1000" }, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1 } ], "quantity": 100, "start-time": "2023-07-20T09:15:15Z", "end-time": "2023-07-20T09:15:16Z", "lot-number": "other lot", "finished": false}
Resposta 200
Resposta 200
Corpo
{ "id": 4629374, "production-order": { "code": "productionorderexample00", "id": 365315 }, "shipping": { "code": "shippingexamplecode00", "id": 41741 }, "operation": { "code": "OtherOperationCode", "product-code": "otherProductCode", "id": 790486 }, "worker": { "number": 1000, "name": "Worker Name", "id": 15890 }, "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1 } ], "quantity": 100, "lot-number": "other lot", "start-time": "2023-07-20T09:15:15.000Z", "end-time": "2023-07-20T09:15:16.000Z", "finished": false}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Excluir produção
EXCLUIR /api/productions/{id}{?access_token}
Para excluir uma Produção, forneça uma ID de produção.
URI de exemplo
EXCLUIR /api/productions/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID de produção
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
Content-Type: application/json
Resposta 201
Resposta 201
Corpo
{ "id": 4629376, "production-order": { "code": "productionorderexample00", "id": 365315 }, "shipping": { "code": "shippingexamplecode00", "id": 41741 }, "operation": { "code": "operationexample0001", "product-code": "productcodeexample001", "id": 790486 }, "worker": { "number": 1000, "name": "worker example", "id": 15890 }, "parameters": [{ "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1.0 }], "quantity": 100.0, "lot-number": "lotX", "start-time": "2023-07-20T09:15:15.000Z", "end-time": "2023-07-20T09:15:16.000Z", "finished": false}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body
Listar produções
GET /api/productions{?access_token}
Para listar produções. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write. Esse serviço é paginado, retornando 25 produções por página.
URI de exemplo
GET /api/productions?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
production-order-id
numérico (opcional)
lista produções com este pedido de produção
production-order-code
sequência (opcional)
lista produções com este(s) pedido/pedidos de produção
worker
numérico (opcional)
lista produções com este trabalhador (número do trabalhador)
start-time-before
date (opcional)
lista produções com hora de início antes desta
start-time-after
date (opcional)
lista produções com hora de início após esta
end-time-before
date (opcional)
lista produções com hora de término antes desta
end-time-after
date (opcional)
lista produções com hora de término após esta
start-time
date (opcional)
lista produções que estavam sendo executadas após esta hora de início (não use combinado com -before -after)
checked-out
booleano (opcional)
lista as produções das quais foi feito o check-out.
worker-name
booleano (opcional)
recupera o nome e o número do trabalhador em vez de apenas o número do trabalhador.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "production-order": { "code": "PO1", "id": 36530 }, "operation": { "code": "2", "product": "Product 1" }, "worker": { "number": 2 }, "machine": { "code": "Machine Code" }, "produced-waste": [ { "quantity": 21, "waste": { "code": "Waste code", "description": "Description of this type of waste", "flaw": "Flaw", "recoverable": true, "billable": false, "id": 333 } } ], "parameters": [ { "parameter1": "value1" }, { "parameter2": 2 } ], "quantity": 0, "checked-out": false, "work-time": "00H00m00s", "start-time": "2023-09-20T17:55:32.000+01:00", "end-time": "2023-09-20T18:45:00.000+01:00", "id": 575354 }]
Tempo de inatividade
Recursos de tempo de inatividade da API do Prodsmart.
TEMPOS DE INATIVIDADE
Listar tempos de inatividade
GET /api/downtimes{?access_token}
Para listar tempos de inatividade. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/downtimes?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
start-time-before
date (opcional)
lista de tempos de inatividade com hora de início antes desta
start-time-after
date (opcional)
lista de pedidos de tempo de inatividade com hora de início após esta
end-time-before
date (opcional)
lista tempos de inatividade com hora de término antes desta
end-time-after
date (opcional)
lista tempos de inatividade com hora de término após esta
machine
numérico (opcional)
lista tempos de inatividade nesta máquina
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "id": 20146, "start-time": "2017-12-21T10:30:21.000Z", "end-time": "2017-12-21T10:32:21.000Z", "started-by": { "number": 2 }, "closed-by": { "number": 2 }, "workers": [], "machines": [ { "code": "M2", "name": "Machine 2" } ], "product": "ProdX", "production-order": "OP XPTO", "checked-out": true, "downtime-type": "Malfunction", "time-spent": "00H02m00s" }]
Relógio de ponto
Recursos Relógio de ponto da API do Prodsmart.
RELÓGIO DE PONTO
Os webhooks estão disponíveis para eventos de relógio de ponto no menu de integrações no aplicativo. Para usar este recurso, adicione o retorno de chamada do URL do ponto de extremidade com os eventos de notificação que você deseja escutar. Nós nos esforçamos para enviar notificações de webhook assim que os eventos ocorrem em nosso sistema. No momento, não oferecemos suporte a nenhuma nova tentativa.
Listar relógios de ponto
GET /api/punchclocks{?access_token}
Para listar relógios de ponto. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/punchclocks?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
date-before
date (opcional)
lista entradas do relógio de ponto com data anterior a esta
date-after
date (opcional)
lista entradas do relógio de ponto com data posterior a esta
worker
numérico (opcional)
lista entradas de relógio de ponto para este trabalhador
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[{ "id": 372179, "date": "2018-09-21T09:24:06.000+01:00", "worker": { "number": 2 }, "type": 1},{ "id": 372180, "date": "2018-09-21T16:34:12.000+01:00", "worker": { "number": 2 }, "type": 0}]"type": 0 ('out') or 1 ('in')
Movimentação de inventário
Recursos de Movimentação de Inventário da API do Prodsmart.
MOVIMENTAÇÃO DE INVENTÁRIO
Um único objeto de Movimentação de inventário. O recurso de Movimentação de inventário é um dos recursos mais importantes da API do Prodsmart.
O recurso Movimentação de inventário tem os seguintes atributos:
id (fornecido)
product (sequência, obrigatório) - código do produto
date-time (data, opcional, formato AAAA-MM-DDTHH:MM:SSZ) - data em que a movimentação do inventário foi criada
quantity (duplo, obrigatório) - quantidade de movimentação de estoque
type (sequência, obrigatório) - tipo de movimentação de inventário: entrada, saída, consumo, produção
lot (sequência, opcional) - lote de movimentação de inventário a ser usado
total-cost (bigdecimal, opcional) - custo total de movimentação de estoque para a quantidade
warehouse-location (sequência, opcional) - código de localização do depósito
warehouse (sequência, opcional) - código do depósito
location (sequência, opcional) - localização, se forem vários locais
comentário (sequência, opcional) - comentário de movimentação de inventário
Recuperar uma movimentação de inventário
GET /api/inventory-movements/{id}{?access_token}
Para recuperar uma Movimentação de inventário, basta executar uma solicitação GET com o ID da Movimentação de inventário. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/inventory-movements/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numérico (obrigatório)
ID de movimentação de inventário
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
{ "product-code": "ProductCode", "date-time": "2018-07-20T09:15:15Z", "quantity": "10", "type": "in", "lot": "A", "total-cost": "1000", "comment": "OK", "warehouse-location": "Zone2", "shipping": { "code": "shippingCode", "clientOrder": { "code": "clientOrderCode", "client": "clientCode" }, "location": { "id": "location id", "code": "location code", "name": "location name" } }, "receiving": { "code": "receivingCode", "purchaseOrder": { "code": "purchaseOrderCode", "supplier": "supplierCode" }, "location": { "id": "location id", "code": "location code", "name": "location name" } }}
Criar movimentação de inventário
POST /api/inventory-movements/{?access_token}
Para criar uma Movimentação de inventário, forneça um hash JSON dos atributos para a nova Movimentação de inventário. Esta ação requer um access_token com escopo productions_write. Por enquanto, só é possível salvar uma Movimentação de inventário. No futuro, se a solicitação for uma matriz em vez de um recurso, todos os itens na matriz serão salvos.
URI de exemplo
POST /api/inventory-movements/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "product-code": "ProductCode", "date-time": "2018-07-20T09:15:15Z", "quantity": "10", "type": "in", "lot": "A", "total-cost": "1000", "comment": "OK", "warehouse": "A", "warehouse-location": "Zone2", "location": "location code", "shipping": "shippingCode", "client-order": "clientOrderCode", "receiving": "receivingCode", "purchase-order": "purchaseOrderCode"}
Resposta 200
Resposta 200
Corpo
{ "product-code": "ProductCode", "date-time": "2018-07-20T09:15:15Z", "quantity": "10", "type": "in", "lot": "A", "total-cost": "1000", "comment": "OK", "warehouse-location": "Zone2", "id": 12345, "shipping": { "code": "shippingCode", "clientOrder": { "code": "clientOrderCode", "client": "clientCode" }, "location": { "id": "location id", "code": "location code", "name": "location name" } }, "receiving": { "code": "receivingCode", "purchaseOrder": { "code": "purchaseOrderCode", "supplier": "supplierCode" }, "location": { "id": "location id", "code": "location code", "name": "location name" } }}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body.
Atualizar uma movimentação de inventário
PUT /api/inventory-movements/{id}{?access_token}
Para atualizar uma movimentação de inventário, forneça um JSON com os atributos que você deseja atualizar na movimentação de inventário (todos os atributos são opcionais). Esta ação requer access_token
com productions_write scope
.
URI de exemplo
PUT /
api/inventory-movements/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numeric
(obrigatório)
ID de movimentação de inventário
access_token
string
(obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Corpo
{ "product-code": "ProductCode", "date-time": "2018-07-20T09:15:15Z", "quantity": "10", "type": "in", "lot": "A", "total-cost": "1000", "comment": "OK", "warehouse": "A", "warehouse-location": "Zone2", "receiving": "receivingCode" }
Excluir uma movimentação de inventário
EXCLUIR /api/inventory-movement/{id}{?access_token}
Para excluir uma movimentação de inventário, forneça um ID de movimentação de inventário.
URI de exemplo
DELETE /api/inventory-movement/id?access_token=
Parâmetros de URI
Parâmetros de URI
id
numeric
(obrigatório)
ID de movimentação de inventário
access_token
string
(obrigatório)
Token de acesso da API do Prodsmart.
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 204
Resposta 400
Resposta 400
It's not possible to delete this inventory-movement.
Listar movimentações de inventário
GET /api/inventory-movements/{?access_token}
Para listar movimentações de inventário Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write. Este serviço é paginado, retornando 25 mensagens instantâneas por página.
URI de exemplo
GET /api/inventory-movements/?access_token=
Parâmetros de URI
Parâmetros de URI
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
page
numérico (opcional)
índice de página de resultados, iniciando em 1
product-code
sequência (opcional)
código do produto
type
sequência (opcional)
tipo de movimentação de inventário: entrada, saída, consumo, produção
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "product-code": "ProductCode", "date-time": "2018-07-20T09:15:15Z", "quantity": "10", "type": "in", "lot": "A", "total-cost": "1000", "comment": "OK", "warehouse-location": "Zone2", "id": 12345, "shipping": { "code": "shippingCode", "clientOrder": { "code": "clientOrderCode", "client": "clientCode" }, "location": { "id": "location id", "code": "location code", "name": "location name" } }, "receiving": { "code": "receivingCode", "purchaseOrder": { "code": "purchaseOrderCode", "supplier": "supplierCode" }, "location": { "id": "location id", "code": "location code", "name": "location name" } } }]
Estoque
Recursos de estoque da API do Prodsmart.
Recuperar estoque do produto
GET /api/stock/{code}{?access_token}
Para recuperar o estoque do produto, basta executar uma solicitação GET com o código do Produto. Vários parâmetros serão tratados como uma condição AND. Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/stock/code?access_token=
Parâmetros de URI
Parâmetros de URI
code
sequência (obrigatório)
Código de produto.
access_token
sequência (obrigatório)
Token de acesso da API do Prodsmart.
lot
sequência (opcional)
Recuperar código do lote e quantidade de estoque para o(s) lote(s) do produto
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
{"product-code": "Example","stock": 35,"lot": [ { "code": "A", "stock": 10 }, { "code": "B", "stock": 5 }}
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body.
Relatórios
Relatando recursos da API do Prodsmart.
Tempo de mão de obra do trabalhador
Tempo de mão de obra do trabalhador GET/api/reports/worker-labor-time{?access_token}
Para recuperar um relatório, basta executar uma solicitação GET com intervalo de tempo para extrair o relatório. É possível adicionar um trabalhador e um parâmetro de seção para filtrar o relatório. Além disso, é possível especificar alguns sinalizadores para personalizar o conteúdo do relatório. O valor padrão de todos os sinalizadores é false (falso). Esta ação requer um access_token com escopo productions_write.
URI de exemplo
GET /api/reports/worker-labor-time?access_token=
Parâmetros de URI
Parâmetros de URI
start-time
sequência (obrigatório)
Gerar relatório para datas após esta (inclusive)
end-time
sequência (obrigatório)
Gerar relatório até datas anteriores a esta (inclusive)
access_token
sequência (obrigatório)
Token de acesso à API do Prodsmart
worker-number
sequência (opcional)
Especifique um número de trabalhador para filtrar o relatório
seção
sequência (opcional)
Especifique um nome de seção. Todos os trabalhadores dessa seção serão incluídos no relatório
show-rework
booleano (opcional)
Incluir um novo campo com operações de retrabalho no relatório
show-weekend
booleano (opcional)
Incluir dias de fim de semana nos dados
only-punch-clock
booleano (opcional)
Somente considerar tempo de presença com entradas de relógio de ponto
page
numérico (opcional)
índice de página de resultados, iniciando em 1
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/json
Resposta 200
Resposta 200
Corpo
[ { "worker": { "number": "0", "name": "John" }, "presence-time": "08H00", "work-time": "04H00m00s", "percentage": "50%", "calendar-downtimes": "00H00m00s" }, { "worker": { "number": "1", "name": "Mary" }, "presence-time": "08H00", "work-time": "08H00m00s", "percentage": "100%", "calendar-downtimes": "00H00m00s" }]
Resposta 400
Resposta 400
Corpo
If there's a problem with the request, the problem found will be reported on the Response Body.
Resposta 429
Resposta 429
Corpo
Another request is ongoing for this endpoint. Please wait until the current request finishes before doing another.
Autorização e controle de acesso
Acesso e controle do token de autenticação do Prodsmart.
AUTORIZAÇÃO
O Recurso de autorização representa uma autorização concedida à empresa. Você somente pode acessar sua própria autorização. A autenticação usada é a autenticação Básica, em que o cabeçalho de Autenticação está no formato <valor codificado base64 de API_KEY:API_SECRET>. Para obter a chave API e o segredo, efetue login no Prodsmart e edite seu usuário. (Observação: Você deve ter uma função de administrador para obtê-la). O Recurso de autorização tem o seguinte atributo:
Token
scopes
Em que token representa um token e scopes é uma matriz de escopos concedidos para a autorização fornecida. Neste momento, o único escopo disponível é productions_write
.
Recuperar autorização
GET /api/authorization
Utilize GET para recuperar um token de acesso existente. Se um token ainda não existir, um poderá ser gerado usando o método POST.
URI de exemplo
GET /api/authorization
Solicitação
Solicitação
Cabeçalhos
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Resposta 200
Resposta 200
Cabeçalhos
Content-Type: application/jsonLink: <http:/api.prodsmart.com/api/authorizations>;rel="self"
Corpo
{ "_links": { "self": { "href": "/api/authorizations" }, }, "scopes": [ "productions_write" ], "token": "abc123"}
Criar autorização
POST /api/authorization
Use POST para gerar um novo token de acesso.
URI de exemplo
POST /api/authorization
Solicitação
Solicitação
Cabeçalhos
Content-Type: application/jsonAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Corpo
{ "scopes": [ "productions_write" ] }
Resposta 201
Resposta 201
Cabeçalhos
Content-Type: application/jsonLink: <http:/api.prodsmart.com/api/authorizations>;rel="self"
Corpo
{ "_links": { "self": { "href": "/api/authorizations" }, }, "scopes": [ "productions_write" ], "token": "abc123"}
Remover uma autorização
EXCLUIR /api/authorization
URI de exemplo
DELETE /api/authorization
Solicitação
Solicitação
Cabeçalhos
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Resposta 204
Resposta 204