Basis-URI-Endpunkt der API
Der Endpunkt für alle API-Aufrufe lautet: https://app.prodsmart.com/.
Authentifizierung
Die Prodsmart-API verwendet eine einfache Token-Autorisierung. Zunächst erstellen Sie ein neues Token (oder übernehmen ein vorhandenes). Nachdem Sie Ihr Token erhalten haben, können Sie es verwenden, um auf andere Ressourcen innerhalb des Token-Bereichs zuzugreifen.
Ihr Authentifizierungs-Token gilt zwei Stunden. Anschließend müssen Sie mit Ihren API-Anmeldedaten ein neues Token anfordern.
Medientypen
Anforderungen mit einem Nachrichtentext verwenden ein einfaches JSON-Format zum Festlegen oder Aktualisieren von Ressourcenstatus.
Fehlerstatus
Die gängigen HTTP-Antwortstatuscodes werden verwendet.
Ungültige JSON-Datei
Wenn Sie eine Antwort bezüglich einer ungültigen JSON-Datei erhalten, überprüfen Sie die JSON-Nutzdaten, die Sie in JSONLint verwenden.
Ratenbegrenzung
API-Anforderungen sind auf 120 Anforderungen pro Minute und Unternehmen beschränkt. Wenn der Grenzwert überschritten wurde, erhalten nachfolgende Anforderungen eine Antwort mit dem HTTP-Statuscode 429 Too Many Requests (Zu viele Anforderungen).
Darüber hinaus zeigt ein Header an, wie viele Sekunden Sie warten müssen, bevor Sie die Anforderung erneut ausführen können:
Retry-After: <delay-seconds>
Bewährte Praktiken bei der Ratenbegrenzung:
Verteilen Sie Anforderungen gleichmäßig im Zeitverlauf, um Auslastungsspitzen zu vermeiden, die zu gedrosselten Antworten führen können.
Entwickeln Sie Logik, die die Retry-After-Informationen verwendet, um zu erkennen, wann die Anforderung wiederholt werden kann.
Stellen Sie sicher, dass Sie keine unnötigen Integrationen parallel ausführen, da alle Integrationen zum Grenzwert mit hinzu zählen.
Datumsformat
Das Format der API-Datumsfelder entspricht der Darstellung in ISO 8601:
YYYY-MM-DDThh:mm:ssZ
In diesem Format fungiert der Buchstabe T als erforderliches Trennzeichen, während Z bei Bedarf eine Zeitzonenbezeichnung darstellt. Wenn Z nicht verwendet wird, entspricht die Zeitzone, die auf das Datum angewendet wird, der Zeitzone, die für Ihr Unternehmen in Prodsmart festgelegt ist. Z steht für die Zeitzone Null, da sie um 0 Stunden versetzt ist.
Anwendungsbeispiel:
Wenn die verwendete Zeit eine Stunde vor UTC liegt, sollte die Zonenbezeichnung +01:00, +0100 oder einfach +01 lauten.
Wenn die Zeitzone eines Unternehmens auf -05:00 festgelegt ist und das Sendedatum das folgende Format aufweist: 2020-07-20T09:15:15Z, dann wird das Datum in Prodsmart als 07/20/2020 – 04:15:15 angezeigt.
Wenn das gesendete Format 2020-07-20T09:15:15 lautet, wird das Datum in Prodsmart als 07/20/2020 – 09:15:15 angezeigt (mit der Zeitzone -05:00). Das bedeutet, wenn ein Benutzer eine auf -04:00 festgelegte Zeitzone aufweist, wird dies als 07/20/2020 – 10:15:15 angezeigt.
Allgemeine ERP-Integrationen
Die üblichen Szenarien für ERP-Integrationen sind Synchronisierungen hauptsächlich von Produktionsaufträgen, Beständen und Produktkatalogen.
Produktionsaufträge
Wenn ein Produktionsauftrag auf der ERP-Seite erstellt wird, sollte das ERP-System die Produktionsauftragsdaten im JSON-Format mithilfe des Production Order Creation Service an die Prodsmart-API senden. Wenn auf der ERP-Seite eine Aktualisierung erforderlich ist, da ein Produktionsauftrag in Prodsmart erstellt oder aktualisiert wird, gibt es zwei Möglichkeiten: Entweder kann das ERP-System von außen kontaktiert werden. In diesem Fall können Webhooks in Prodsmart eingerichtet werden. Die Webhooks werden dann beim Erstellen, Aktualisieren und Löschen von Produktionsaufträgen in Prodsmart aufgerufen. Wenn das ERP-System nicht von außen kontaktiert werden kann, muss es den Production Orders List Service aktiv abfragen, um Änderungen zu erkennen.
Bestände
In der Regel ist das ERP-System (oder WMS) das übergeordnete System für Bestände. Daher bieten wir einen Dienst (Aktualisieren von Produktbeständen), mit dem das ERP-System/WMS den aktuellen Bestand eines Produkts auf eine bestimmte Menge aktualisieren kann. Manchmal kann das ERP-System/WMS durch Überwachung von Änderungen an Produktionsaufträgen bzw. durch die Verwendung von Webhooks oder eines aktuellen Bestands-Webdienstes (auf Anfrage) über Änderungen am Produktionsbestand informiert werden.
Produkte
Der Produktkatalog wird weniger häufig ebenfalls synchronisiert. In diesem Fall ist das ERP-System immer das übergeordnete System und kann Produkte und Vorgänge mithilfe des Product Creation Service erstellen.
Webhooks
Webhooks sind für Produktionsauftragsereignisse über das Integrationsmenü in der App verfügbar. Um diese Funktion verwenden zu können, fügen Sie den Endpunkt-URL-Callback mit den Benachrichtigungsereignissen hinzu, die Sie erhalten möchten. Wir sind bestrebt, Webhook-Benachrichtigungen zu senden, sobald Ereignisse in unserem System auftreten. Wenn Sie eine große Anzahl an Produktionsaufträgen gleichzeitig geändert haben, erhalten Sie möglicherweise innerhalb kurzer Zeit eine große Menge an Benachrichtigungen. Zurzeit unterstützen wir keine Wiederholungsläufe.
Header
Webhook-Header
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"
Anmerkung:
x-prodsmart-topic: Identifizieren des Themas des Webhook
x-prodsmart-hmac-sha256: Verwendung zum Überprüfen des Ursprungs des Webhook
x-prodsmart-api-version: Version der API, die zum Senden des Webhook verwendet wird
x-prodsmart-webhook-uuid: Identifizieren des eindeutigen Webhook
x-prodsmart-trigger-at: Zeitpunkt, zu dem der Webhook ausgelöst wurde
So prüfen Sie den Webhook
Bevor Sie mit dem Statuscode 200 antworten, müssen Sie sich vergewissern, dass der Webhook von Prodsmart stammt. Diese Überprüfung wird durch die Berechnung einer Signatur erreicht.
Jede Webhook-Anforderung enthält einen speziellen Header namens x-prodsmart-hmac-sha1, der im base64-Format kodiert ist. Dieser Header wird sowohl mit dem API-Geheimnis als auch mit den Daten in der Webhook-Anforderung generiert.
Um die Authentizität des Webhooks zu überprüfen, müssen Sie selbst eine Signatur berechnen und dabei denselben geheimen API-Schlüssel sowie die bereitgestellten Daten verwenden.
Nachdem Sie die berechnete Signatur erstellt haben, vergleichen Sie sie mit dem Wert im x-prodsmart-hmac-sha1-Header der eingehenden Webhook-Anfrage.
Wenn die berechnete Signatur dem Wert im x-prodsmart-hmac-sha1-Header entspricht, können Sie sicher sein, dass der Webhook tatsächlich von Prodsmart gesendet wurde, und können mit dem Antworten mit Statuscode 200 fortfahren.
Produktionsaufträge
Anforderung (application/json)
Methode: POST
Körper
{ "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}
Anmerkung: running-status wird gelöscht, wenn der Produktionsauftrag gelöscht wird.
Stempeluhr
Anforderung (application/json)
Methode: POST
Körper
{ "id": 932015, "date": "2022-05-19T14:35:30.000+01:00", "notification": "punchClock_created", "worker": { "number": 0 }, "entry": 1}
Mögliche Werte für entry:
1 – Ein
0 – Aus
Mögliche Werte für notification:
punchClock_created
punchClock_updated
punchClock_deleted
Bestandsbewegung für Sendung
Erstellte/aktualisierte Bestandsbewegung für Sendung
Anforderung (application/json)
Methode: POST
Körper
[{ "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" }}]
Mögliche Werte für notification:
shipping_inventory_movement_created
shipping_inventory_movement_updated
Gelöschte Bestandsbewegung für Sendung
Anforderung (application/json)
Methode: POST
Körper
{ "id": 111}
Mögliche Werte für notification:
shipping_inventory_movement_deleted
Bestandsbewegung für Eingang
Erstellte/aktualisierte Bestandsbewegung für Eingang
Anforderung (application/json)
Methode: POST
Körper
[{ "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" }}]
Mögliche Werte für notification:
receiving_inventory_movement_created
receiving_inventory_movement_updated
Gelöschte Bestandsbewegung für Eingang
Anforderung (application/json)
Methode: POST
Körper
{ "id": 111}
Mögliche Werte für notification:
receiving_inventory_movement_deleted
Interne Bestandsbewegung
Erstellte/aktualisierte interne Bestandsbewegung
Anforderung (application/json)
Methode: POST
Körper
[{ "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" }}]
Mögliche Werte für notification:
internal_inventory_movement_created
internal_inventory_movement_updated
Gelöschte interne Bestandsbewegung
Anforderung (application/json)
Methode: POST
Körper
{ "id": 111}
Mögliche Werte für notification:
internal_inventory_movement_deleted
Materialbereitstellungsbewegung
Erstellte/aktualisierte Materialbereitstellung
Anforderung (application/json)
Methode: POST
Körper
[{ "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" }}]
Mögliche Werte für notification:
material_staging_created
material_staging_updated
Gelöschte Materialbereitstellung
Anforderung (application/json)
Methode: POST
Körper
{ "id": 111}
Mögliche Werte für notification:
material_staging_deleted
Los
Erstelltes/aktualisiertes Los
Anforderung (application/json)
Methode: POST
Körper
[{ "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" }}]
Mögliche Werte für notification:
lot_created
lot_updated
Gelöschtes Los
Anforderung (application/json)
Methode: POST
Körper
{ "id": 111}
Mögliche Werte für notification:
lot_deleted
Ausfallzeit
Erstellte/aktualisierte/gelöschte Ausfallzeit
Anforderung (application/json)
Methode: POST
Körper
{ "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"}
Mögliche Werte für notification:
downTime_created
downTime_updated
downTime_deleted
Feed-Kanäle für Änderungen
Wenn Sie Webhooks aus irgendeinem Grund nicht nutzen können, bieten wir Ihnen derzeit als Alternative einen Änderungsstapel an, der Änderungen speichert, die in den letzten 24 Stunden oder seit der letzten Anforderung von Änderungen über den dafür bereitgestellten Webdienst stattgefunden haben. Um diese Funktion zu verwenden, müssen Sie einen Kanal im Integrationsmenü erstellen (https://app.prodsmart.com/admin/integrations). Sie können bis zu drei Kanäle pro Organisation erstellen.
Es gibt sechs Arten von Änderungskanälen:
DOWN_TIME
PRODUCT
PRODUCTION
PRODUCTION_ORDER
PUNCH_CLOCK
STOCK
Abrufen von Änderungen
GET /api/changes/{channel}{?access_token}
Wenn Sie diesen Dienst aufrufen, erhalten Sie eine Liste mit Entitäten, die sich geändert haben, entweder, weil sie erstellt/aktualisiert/gelöscht wurden oder weil sich ihr Status geändert hat. Sie erhalten ein Array mit dem aktuellen Status der Entitäten (von den ältesten Änderungen bis zu den neuesten sortiert), mit maximal 25 Entitäten pro Dienstaufruf. Die Entitäten, die Sie vom Dienst abrufen, werden aus dem Stapel entfernt (bis sie über neue Aktualisierungen verfügen). Wenn keine Änderungen vorhanden sind, gibt der Dienst ein leeres Array ("[]") zurück.
Beispiel-URI
GET /api/changes/channel?access_token=
URI-Parameter
URI-Parameter
Kanal
Zeichenfolge (erforderlich)
Kanal, auf den zugegriffen werden soll
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
workers
Boolesche Operation (optional)
Arbeiterliste in der Antwort des Produktionsauftragskanals anzeigen
Anfrage
Anfrage
Content-Type: application/json
AUSFALLZEITEN
[ { "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", }]
Anmerkung: Das Feld event-type wird nur angezeigt, wenn eine Ausfallzeit gelöscht wird.
PRODUKTIONSAUFTRÄGE
[ { "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 }]
Anmerkung: Das Feld running-status erhält den gelöschten Wert, wenn ein Produktionsauftrag gelöscht wird.
PRODUKTE
[ { "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": [] }]
Anmerkung: Das Feld notification erhält den Wert product_deleted, wenn ein Produkt gelöscht wird.
PRODUKTIONSDATENSÄTZE ¶
[ { "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 }]
Anmerkung: Das Feld status wird nur angezeigt, wenn ein Produktionsdatensatz gelöscht wird.
STEMPELUHREN
[ { "id": 932015, "date": "2022-05-19T14:35:30.000+01:00", "notification": "punchClock_deleted", "worker": { "number": 0 }, "entry": 1 }]
Anmerkung: Das Feld notification wird nur angezeigt, wenn ein Stempeluhr-Eintrag gelöscht wird.
BESTAND
[ { "product-code": "P1", "stock": 2395.0, "lot": [ { "code": "Lot 0086", "stock": 500.0 } ] }]
Lieferant
Lieferantenressourcen der Prodsmart-API
LIEFERANT
Ein einzelnes Lieferantenobjekt
Die Lieferantenressource verfügt über die folgenden Attribute:
id (angegeben)
code (Zeichenfolge, erforderlich, eindeutig): Lieferantencode
name (Zeichenfolge, erforderlich): Lieferantenname
number (Zeichenfolge, optional): Umsatzsteuer-Identifikationsnummer des Lieferanten
expiration-date (Datum, optional, Format YYYY-MM-DDTHH:MM:SSZ): Datum, an dem der Lieferant ungültig wird
addresses (Array, optional)
code (Zeichenfolge, erforderlich, eindeutig): Adresscode
name (Zeichenfolge, optional): Adressname
address (Zeichenfolge, erforderlich): Adresszeile
city (Zeichenfolge, optional): Ort der Adresse
post-code (Zeichenfolge, optional): Postleitzahl der Adresse
state (Zeichenfolge, optional): Staat/Region der Adresse
country (Zeichenfolge, erforderlich): Ländercode der Adresse
default (Boolesche Operation, optional – Vorgabe ist False): Wenn True, ist dies die Vorgabeadresse des Lieferanten
contacts (Array, optional)
phone-number (Zeichenfolge, erforderlich, wenn keine E-Mail-Adresse vorhanden ist): Telefonnummer des Kontakts
email (Zeichenfolge, erforderlich, wenn keine Telefonnummer vorhanden ist): E-Mail-Adresse des Kontakts
name (Zeichenfolge, optional): Kontaktname
default (Boolesche Operation, optional – Vorgabe ist False): Wenn True, ist dies der Vorgabekontakt des Lieferanten
Regeln für die Vorgabeadresse/den Vorgabekontakt:
Sowohl die Kontakte als auch die Adressen können jeweils nur einen Vorgabekontakt bzw. eine Vorgabeadresse enthalten.
Wenn ein Lieferant über Adressen verfügt, muss eine der Adressen die Vorgabeadresse sein.
Wenn ein Lieferant über Kontakte verfügt, muss einer der Kontakte der Vorgabekontakt sein.
Wenn bei der Erstellung/Aktualisierung eines Lieferanten kein Vorgabekontakt/keine Vorgabeadresse angegeben wird, wird der erste Kontakt/die erste Adresse als Vorgabe verwendet.
Erstellen eines Lieferanten
POST /api/suppliers{?access_token}
Status: Verfügbar
Um einen Lieferanten zu erstellen, geben Sie einen JSON-Hash der Attribute für den neuen Lieferanten an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
POST /api/suppliers?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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 } ] }
Antwort 201
Antwort 201
Körper
{ "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 } ] }
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Lieferanten
GET /api/suppliers{?access_token}
Zum Auflisten von Lieferanten. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Lieferanten pro Seite zurück.
Beispiel-URI
GET /api/suppliers?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
id
Nummer (optional)
Lieferanten gefiltert nach ID auflisten
Code
Zeichenfolge (optional)
Lieferanten gefiltert nach Code auflisten
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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 } ] } ]
Antwort 400Show
Antwort 400Show
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Abrufen eines Lieferanten
GET /api/suppliers/{id}{?access_token}
Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/suppliers/id?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
id
numerisch (erforderlich)
Lieferanten-ID
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 201
Antwort 201
Körper
{ "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 } ] }
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualisieren eines Lieferanten
PUT /api/suppliers/{id}{?access_token}
Um einen Lieferanten zu aktualisieren, geben Sie einen JSON-Hash der Attribute für den neuen Lieferanten an.
Kontakte
Die angegebenen Lieferantenkontakte ersetzen die aktuellen Kontakte.
Wenn ein Kontakt mit demselben Namen wie ein vorhandener Kontakt angegeben wird, werden die Werte des Kontakts mit diesem Namen durch die angegebenen Werte ersetzt.
Wenn keine Kontakte angegeben sind, werden die vorhandenen Kontakte entfernt.
Adressen
Die angegebenen Adressen ersetzen die aktuellen Adressen.
Wenn eine Adresse mit demselben Code wie eine vorhandene Adresse angegeben wird, werden die Werte der Adresse mit diesem Code durch die angegebenen Werte ersetzt.
Wenn keine Adressen angegeben sind, werden die vorhandenen Adressen entfernt.
Wenn eine Adresse verknüpfte Entitäten enthält, schlägt die Anforderung fehl, da die Adresse nicht entfernt werden kann.
Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
PUT /api/suppliers/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Kunden-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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 } ] }
Antwort 201
Antwort 201
Körper
{ "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 } ] }
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Entfernen eines Lieferanten
DELETE /api/suppliers/{id}{?access_token}
Beispiel-URI
DELETE /api/suppliers/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Lieferanten-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 204
Antwort 204
Körper
Supplier was deleted
Antwort 412
Antwort 412
Körper
It's not possible to delete this supplier. It has dependent entities.
Client
Kundenressourcen der Prodsmart-API
CLIENT
Ein einzelnes Kundenobjekt
Die Kundenressource verfügt über die folgenden Attribute:
id (angegeben)
code (Zeichenfolge, erforderlich, eindeutig): Kundencode
name (Zeichenfolge, erforderlich): Kundenname
number (Zeichenfolge, optional): Kundennummer
phone-number (Zeichenfolge, optional): Telefonnummer des Kunden
email (Zeichenfolge, optional): E-Mail-Adresse des Kunden
addresses (Array, optional)
code (Zeichenfolge, erforderlich, eindeutig): Adresscode
name (Zeichenfolge, optional): Adressname
address (Zeichenfolge, erforderlich): Adresszeile
city (Zeichenfolge, optional): Ort der Adresse
post-code (Zeichenfolge, optional): Postleitzahl der Adresse
state (Zeichenfolge, optional): Staat/Region der Adresse
country (Zeichenfolge, erforderlich): Ländercode der Adresse
default (Boolesche Operation, optional – Vorgabe ist False): Wenn True, ist dies die Vorgabeadresse des Kunden
contacts (Array, optional)
phone-number (Zeichenfolge, erforderlich, wenn keine E-Mail-Adresse vorhanden ist): Telefonnummer des Kontakts
email (Zeichenfolge, erforderlich, wenn keine Telefonnummer vorhanden ist): E-Mail-Adresse des Kontakts
name (Zeichenfolge, optional): Kontaktname
default (Boolesche Operation, optional – Vorgabe ist False): Wenn True, ist dies der Vorgabekontakt des Kunden
Regeln für die Vorgabeadresse/den Vorgabekontakt:
Sowohl die Kontakte als auch die Adressen können jeweils nur einen Vorgabekontakt bzw. eine Vorgabeadresse enthalten.
Wenn ein Kunde über Adressen verfügt, muss eine der Adressen die Vorgabeadresse sein.
Wenn ein Kunde über Kontakte verfügt, muss einer der Kontakte der Vorgabekontakt sein.
Wenn bei der Erstellung/Aktualisierung eines Kunden kein Vorgabekontakt/keine Vorgabeadresse angegeben wird, wird der erste Kontakt/die erste Adresse als Vorgabe verwendet.
Erstellen eines Kunden
POST /api/clients{?access_token}
Um einen Kunden zu erstellen, geben Sie einen JSON-Hash der Attribute für den neuen Kunden an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit ist nur das Speichern eines Kunden möglich. Wenn in Zukunft die Anforderung ein Array und nicht eine einzelne Ressource ist, werden alle Elemente im Array gespeichert.
Beispiel-URI
POST /api/clients?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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 } ] }
Antwort 201
Antwort 201
Körper
{ "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 } ] }
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Kunden
GET /api/clients{?access_token}
Zum Auflisten von Kunden. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Kunden pro Seite zurück.
Beispiel-URI
GET /api/clients?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
id
Nummer (optional)
Kunden nach ID gefiltert auflisten
Code
Zeichenfolge (optional)
Kunden nach Code gefiltert auflisten
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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 } ] } ]
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Abrufen eines Kunden
GET /api/clients/{id}{?access_token}
Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/clients/id?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
id
numerisch (erforderlich)
Kunden-ID
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 201
Antwort 201
Körper
{ "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 } ] }
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualisieren eines Kunden
PUT /api/clients/{id}{?access_token}
Um einen Kunden zu aktualisieren, geben Sie einen JSON-Hash der Attribute für den neuen Kunden an.
Kontakte
Die angegebenen Lieferantenkontakte ersetzen die aktuellen Kontakte.
Wenn ein Kontakt mit demselben Namen wie ein vorhandener Kontakt angegeben wird, werden die Werte des Kontakts mit diesem Namen durch die angegebenen Werte ersetzt.
Wenn keine Kontakte angegeben sind, werden die vorhandenen Kontakte entfernt.
Adressen
Die angegebenen Adressen ersetzen die aktuellen Adressen.
Wenn eine Adresse mit demselben Code wie eine vorhandene Adresse angegeben wird, werden die Werte der Adresse mit diesem Code durch die angegebenen Werte ersetzt.
Wenn keine Adressen angegeben sind, werden die vorhandenen Adressen entfernt.
Wenn eine Adresse verknüpfte Entitäten enthält, schlägt die Anforderung fehl, da die Adresse nicht entfernt werden kann.
Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
PUT /api/clients/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Kunden-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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 } ]}
Antwort 201
Antwort 201
Körper
{ "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 } ] }
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Entfernen eines Kunden
DELETE /api/clients/{id}{?access_token}
Beispiel-URI
DELETE /api/clients/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Kunden-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 204
Antwort 204
Körper
Client was deleted
Antwort 412
Antwort 412
Körper
It's not possible to delete this client. It has dependent entities.
Kundenauftrag
Kundenauftrags-Ressourcen der Prodsmart-API
KUNDENAUFTRAG
Ein einzelnes Kundenauftragsobjekt. Die Kundenauftrags-Ressource ist eine der wichtigsten Ressourcen der Prodsmart-API.
Sie verfügt über die folgenden Attribute:
id (angegeben)
code (Zeichenfolge, erforderlich): Kundenauftragscode
client (Zeichenfolge, optional): Kundencode
observations (Zeichenfolge, optional): Bemerkungen zum Kundenauftrag
products (Array, erforderlich, nicht leer)
code (Zeichenfolge, erforderlich, eindeutig): Produktcode
quantity (double-Wert, erforderlich, >0): Bestellte Menge
due-date (Datum, optional, Format YYYY-MM-DDTHH:MM:SSZ) – Datum, an dem die Sendung fällig wird
requested-date (Datum, optional, Format YYYY-MM-DDTHH:MM:SSZ): Datum, an dem die Sendung angefordert wurde
location (Zeichenfolge, optional): Standort, wenn mehrere Standorte vorhanden sind
price (double-Wert, optional): Produktpreis
parameters (Zeichenfolge, optional): Enthält ein kundenauftragsspezifisches Attribut
Erstellen eines Kundenauftrags
POST /api/client-order/{?access_token}
Um einen Kundenauftrag zu erstellen, geben Sie einen JSON-Hash der Attribute für den neuen Kundenauftrag an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit ist nur das Speichern eines Kundenauftrags möglich. Wenn in Zukunft die Anforderung ein Array und nicht eine einzelne Ressource ist, werden alle Elemente im Array gespeichert.
Beispiel-URI
POST /api/client-order/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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" } ]}
Antwort 201
Antwort 201
Körper
{ "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" } ]}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Kundenaufträgen
GET /api/client-order/{?access_token}
So listen Sie Kundenaufträge auf Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Kundenaufträge pro Seite zurück.
Beispiel-URI
GET /api/client-order/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
due-date-before
Datum (optional)
Kundenaufträge mit Fälligkeitsdatum vor diesem Datum auflisten
due-date-after
Datum (optional)
Kundenaufträge mit Fälligkeitsdatum nach diesem Datum auflisten
client
Zeichenfolge (optional)
Maschinencode
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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" } ] }]
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Abrufen eines Kundenauftrags
GET /api/client-order/{id}{?access_token}
Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/client-order/id?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
id
numerisch (erforderlich)
Kundenauftrags-ID
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 201
Antwort 201
Körper
{ "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" } ]}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualisieren eines Kundenauftrags
PUT /api/client-order/{?access_token}
Um einen Kundenauftrag zu aktualisieren, geben Sie einen JSON-Hash der Attribute für den neuen Kundenauftrag an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
PUT /api/client-order/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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" } ]}
Antwort 201
Antwort 201
Körper
{ "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" } ]}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Entfernen eines Kundenauftrags
DELETE /api/client-order/{id}{?access_token}
Beispiel-URI
DELETE /api/client-order/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Kundenauftrags-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 204
Antwort 204
Körper
Client order was deleted
Antwort 409
Antwort 409
Körper
Client order already has production orders created or other entities associated, cannot be removed.
Bestellung
Bestellungsressourcen der Prodsmart-API
BESTELLUNG
Ein einzelnes Bestellungsobjekt. Die Bestellungsressource ist eine der wichtigsten Ressourcen der Prodsmart-API.
Sie verfügt über die folgenden Attribute:
id (angegeben)
code (Zeichenfolge, erforderlich): Bestellcode
supplier (Zeichenfolge, optional): Lieferantencode
billing-address (Zeichenfolge, optional): Rechnungsadresse
observations (Zeichenfolge, optional): Bemerkungen zur Bestellung
products (Array, erforderlich, nicht leer)
code (Zeichenfolge, erforderlich, eindeutig): Produktcode
quantity (double-Wert, erforderlich, >0): Mengenanforderung
due-date (Datum, optional, Format YYYY-MM-DDTHH:MM:SSZ): Datum, an dem der Wareneingang fällig wird
requested-date (Datum, optional, Format YYYY-MM-DDTHH:MM:SSZ): Datum, an dem der Wareneingang angefordert wurde
cost (double-Wert, optional): Produktkosten
uom (Zeichenfolge, optional): Maßeinheit des Produkts
delivery-address (Zeichenfolge, optional): Lieferadresse für den Wareneingang
parameters (Zeichenfolge, optional): Parameter der Bestellung
approval-status (Zeichenfolge, optional): Entwurf, In Überprüfung, Genehmigt, Bestätigt, Abgelehnt
Erstellen einer Bestellung
POST /api/purchase-orders/{?access_token}
Um eine Bestellung zu erstellen, geben Sie einen JSON-Hash der Attribute für die neue Bestellung an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit ist nur das Speichern einer Bestellung möglich. Wenn in Zukunft die Anforderung ein Array und nicht eine einzelne Ressource ist, werden alle Elemente im Array gespeichert.
Beispiel-URI
POST /api/purchase-orders/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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}
Antwort 201
Antwort 201
Header
Content-Type: application/json
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Abrufen einer Bestellung
GET /api/purchase-orders/{id}{?access_token}
Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/purchase-orders/id?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
id
numerisch (erforderlich)
Bestell-ID
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 201
Antwort 201
Körper
{ "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" } ]}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualisieren einer Bestellung
PUT/api/purchase-orders/{id}{?access_token}
Um eine Bestellung zu aktualisieren, geben Sie einen JSON-Hash der Attribute für die neue Bestellung an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
PUT /api/purchase-orders/id?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
id
numerisch (erforderlich)
Bestell-ID
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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" } ]}
Antwort 201
Antwort 201
Körper
{ "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" } ]}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Entfernen einer Bestellung
DELETE /api/purchase-orders/{id}{?access_token}
Beispiel-URI
DELETE /api/purchase-orders/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Bestell-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 204
Antwort 204
Körper
Purchase order was deleted
Antwort 409
Antwort 409
Körper
Purchase order already has production orders created or other entities associated, cannot be removed.
Auflisten von Bestellungen
GET /api/purchase-orders{?access_token}
Zum Auflisten von Bestellungen. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Kundenaufträge pro Seite zurück.
Beispiel-URI
GET /api/purchase-orders?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
id
Nummer (optional)
Bestellungen nach Bestell-ID gefiltert auflisten
Code
Zeichenfolge (optional)
Bestellungen nach Bestellcode gefiltert auflisten
due-date-before
Datum (optional)
Bestellungen mit Fälligkeitsdatum vor diesem Datum auflisten
due-date-after
Datum (optional)
Bestellungen mit Fälligkeitsdatum nach diesem Datum auflisten
Lieferant
Zeichenfolge (optional)
Bestellungen nach Lieferantencode gefiltert auflisten
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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" } ] }]
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Produktionsauftrag
Produktionsauftragsressourcen der Prodsmart-API
PRODUKTIONSAUFTRAG
Ein einzelnes Produktionsauftragsobjekt. Die Produktionsauftrags-Ressource ist eine der wichtigsten Ressourcen der Prodsmart-API. Sie repräsentiert den Verwaltungsauftrag, eine bestimmte Menge von Produkten während eines definierten Zeitraums durch bestimmte Arbeiter produzieren zu lassen.
Die Produktionsauftrags-Ressource verfügt über die folgenden Attribute:
id (angegeben)
code (Zeichenfolge, erforderlich): Code des Produktionsauftrags
start-date (Datum, erforderlich, Format YYYY-MM-DDTHH:MM:SSZ): Datum, an dem dieser Produktionsauftrag beginnen soll
due-date (Datum, erforderlich, Format YYYY-MM-DDTHH:MM:SSZ): Datum, an dem dieser Produktionsauftrag fällig wird
products (Array, erforderlich, nicht leer): Bestellte Produkte und Mengen
product (Zeichenfolge, erforderlich, eindeutig): Produktcode
quantity-ordered (Ganzzahl, erforderlich, >0): Bestellte Menge
observations (optional): Anmerkung zu diesem Produkt
quantity-produced (Ganzzahl, angegeben, >0): Produzierte Menge
description (optional): Beschreibung für diesen Produktionsauftrag
shipping (optional): Sendungscode für diese Bestellung
workers-assigned (Array, optional):
number: Nummer des Arbeiters
machines (Array, optional)
code: Maschinencode
serial-number (optional)
description (optional)
notes (optional)
status (angegeben): Geplant (vor start_date und Vollständigkeit = 0), Planmäßig (vor end_date und Vollständigkeit < 100 %), Verspätet (nach end_date und Vollständigkeit < 100 %), Abgeschlossen (Vollständigkeit >= 100 %)
running-status (angegeben): Nicht gestartet (keine Produktionen), Gestartet (mit Produktionen), Geschlossen (manuell geschlossen oder durch Fertigstellung geschlossen), Archiviert (manuell archiviert)
Die Status-ID wird von der Prodsmart-API zum Zeitpunkt der Erstellung zugewiesen.
Abrufen eines Produktionsauftrags
GET /api/production-orders/{id}{?access_token}
Um einen Produktionsauftrag abzurufen, führen Sie einfach eine GET-Anforderung mit der ID des Produktionsauftrags aus. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/production-orders/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
ID des Produktionsauftrags
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
workers
Boolesche Operation (optional)
Arbeiterliste bei Antwort anzeigen
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
{ "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}
Aktualisieren/Ersetzen eines Produktionsauftrags
PUT /api/production-orders/{id}{?access_token}
Um einen Produktionsauftrag zu aktualisieren, führen Sie einfach eine PUT-Anforderung mit der ID des Produktionsauftrags aus. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
PUT /api/production-orders/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
ID des Produktionsauftrags
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
workers
Boolesche Operation (optional)
Arbeiterliste bei Antwort anzeigen
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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}
Antwort 200
Antwort 200
Körper
{ "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}
Entfernen eines Produktionsauftrags
DELETE /api/production-orders/{id}{?access_token}
Beispiel-URI
DELETE /api/production-orders/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
ID des Produktionsauftrags
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 204
Antwort 204
Körper
Production order was deleted
Erstellen eines Produktionsauftrags
POST /api/production-orders/{?access_token}
Um einen Produktionsauftrag zu erstellen, geben Sie einen JSON-Hash der Attribute für den neuen Produktionsauftrag an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit ist nur das Speichern eines Produktionsauftrags möglich. Wenn in Zukunft die Anforderung ein Array und nicht eine einzelne Ressource ist, werden alle Elemente im Array gespeichert.
Beispiel-URI
POST /api/production-orders/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
workers
Boolesche Operation (optional)
Arbeiterliste bei Antwort anzeigen
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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}
Antwort 201
Antwort 201
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Produktionsaufträgen
GET /api/production-orders/{?access_token}
Zum Auflisten von Produktionsaufträgen. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Produktionsaufträge pro Seite zurück.
Beispiel-URI
GET /api/production-orders/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
start-date-before
Datum (optional)
Produktionsaufträge mit Startdatum vor diesem Datum auflisten
start-date-after
Datum (optional)
Produktionsaufträge mit Startdatum nach diesem Datum auflisten
due-date-before
Datum (optional)
Produktionsaufträge mit Fälligkeitsdatum vor diesem Datum auflisten
due-date-after
Datum (optional)
Produktionsaufträge mit Fälligkeitsdatum nach diesem Datum auflisten
running-status
Zeichenfolge (optional)
Nicht gestartet, Gestartet, Geschlossen, Archiviert
Aktiv
Boolesche Operation (optional)
Nur aktive (True) oder nicht aktive (False) Produktionsaufträge auflisten
product
Zeichenfolge (optional)
Produktcode
machine
Zeichenfolge (optional)
Maschinencode
workers
Boolesche Operation (optional)
Arbeiterliste bei Antwort anzeigen
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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 }]
Benachrichtigung bei Problemen mit Produktionsaufträgen
POST /api/production-orders/{id}/notify{?access_token}
Dienst, der eine Kurznachricht im Feed veröffentlicht und eine Nachricht zum Produktionsauftrag hinzufügt.
short-message (Zeichenfolge, erforderlich): Im Feed veröffentlichte Nachricht, max. Länge 140 Zeichen
message (Zeichenfolge, optional): Nachricht, die dem Abschnitt Anmerkungen im Produktionsauftrag hinzugefügt wird
Beispiel-URI
POST /api/production-orders/id/notify?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
ID des Produktionsauftrags
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "short-message": "example", "message": "complete message "}
Antwort 200
Antwort 200
Aktivieren eines Produktionsauftrags
POST /api/production-orders/{id}/activate{?access_token}
Dienst, der den Produktionsauftrag aktiviert.
Beispiel-URI
POST /api/production-orders/id/activate?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
ID des Produktionsauftrags
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{}
Antwort 200
Antwort 200
Antwort 204
Antwort 204
Körper
Production Order was already active
Antwort 405
Antwort 405
Körper
Production Order was closed or archived and cannot be activated
Produkte
Produktressourcen der Prodsmart-API
PRODUKT
Ein einzelnes Produktobjekt. Die Produktressource ist eine der wichtigsten Ressourcen der Prodsmart-API. Sie stellt die Produkte in einer Fabrik dar und enthält die erforderlichen Vorgänge, die für die Produktion durchgeführt werden müssen. Mit dieser Methode werden neue Produkte und deren Vorgänge erstellt. Kann auch verwendet werden
Die Produktressource verfügt über die folgenden Attribute:
code (Zeichenfolge, erforderlich): Produktcode
name (Zeichenfolge, erforderlich): Produktname
section (Zeichenfolge, optional)
families (Array, optional)
operations (Array, optional): Vorgänge zur Herstellung des Produkts
code (Zeichenfolge, erforderlich): Vorgangscode
name (Zeichenfolge, erforderlich): Vorgangsname
waste (Array, optional)
task-durations (Array, optional, max: 1)
duration (Zeit, optional, z. B. Format 10H59m59s): Die theoretische durchschnittliche Ausführungszeit für diesen Vorgang
duration-customer (Zeit, optional, z. B. Format 10H59m59s): Die im Budget festgelegte Zeit
ratio-quantity (double-Wert, optional, Vorgabe: 1.0): Das in jeder Instanz dieses Vorgangs erzeugte Volumen
times-per-product (Ganzzahl, optional, Vorgabe: 1): Die Anzahl der Male, die dieser Vorgang ausgeführt werden muss, um eine Produkteinheit abzuschließen
custom-fields (Array, optional, muss im System vorhanden sein): Benutzerdefinierte Felder, die dem Vorgang hinzugefügt werden sollen
name (Zeichenfolge, erforderlich): Der Name des benutzerdefinierten Felds, bereits im System erstellt
machines (Array, optional, muss im System vorhanden sein): Maschinen, die zum Ausführen des Vorgangs verwendet werden können
code (Zeichenfolge, erforderlich): Der Maschinencode, bereits im System erstellt
disabled (Boolesche Operation, optional): Vorgang deaktivieren
optional (Boolesche Operation, optional): Vorgang als Optional festlegen
recovery (Boolesche Operation, optional): Vorgang als Wiederherstellung festlegen
no-time (Boolesche Operation, optional): Produktionszeiten nicht registrieren
keine Menge (Boolesche Operation, optional): Produktionsmenge nicht registrieren
as-team (Boolesche Operation, optional): Als Team auszuführender Vorgang
max-waste-threshold (double-Wert, optional): Max. zulässiger Ausschussanteil
Felder, die in der Anforderung nicht vorhanden sind, werden auf die Vorgabewerte festgelegt. Wenn Sie diese Methode für vorhandene Produkte/Vorgänge verwenden, werden nicht vorhandene Felder als Löschungen betrachtet.
Abrufen eines Produkts
GET /api/products/{code}{?access_token}
Um ein Produkt abzurufen, führen Sie einfach eine GET-Anforderung mit dem Produktcode aus. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/products/code?access_token=
URI-Parameter
URI-Parameter
Code
Zeichenfolge (erforderlich)
Produktcode
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
{ "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}
Antwort 404
Antwort 404
Körper
If product with the provided code doesn't exist.
Erstellen eines Produkts
POST /api/products{?access_token}
Um ein Produkt zu erstellen, geben Sie einen JSON-Hash der Attribute für das neue Produkt und die zugehörigen Vorgänge an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Es können mehrere Vorgänge gleichzeitig erstellt werden.
Beispiel-URI
POST /api/products?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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}
Antwort 201
Antwort 201
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualisieren eines Produkts
PUT /api/products/{code}{?access_token}
Um ein Produkt zu aktualisieren, geben Sie einen Code und einen JSON-Hash der Attribute für das vorhandene Produkt und die zugehörigen Vorgänge an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit können Sie nur ein Produkt speichern, es können jedoch mehrere Vorgänge gleichzeitig erstellt werden.
Beispiel-URI
PUT /api/products/code?access_token=
URI-Parameter
URI-Parameter
Code
Zeichenfolge (erforderlich)
Produktcode
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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}
Antwort 201
Antwort 201
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Löschen eines Produkts
DELETE /api/products/{code}{?access_token}
Um ein Produkt zu löschen, geben Sie den Produktcode an.
Beispiel-URI
DELETE /api/products/code?access_token=
URI-Parameter
URI-Parameter
Code
Zeichenfolge (erforderlich)
Produktcode
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
Content-Type: application/json
Antwort 204
Antwort 204
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Produkten
GET /api/products{?access_token}
Zum Auflisten von Produkten und den zugehörigen Vorgängen. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/products?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
product-family-code
Zeichenfolge (optional)
Produkte auflisten, die zur angegebenen Produktfamilie gehören
modification-date
Datum (optional)
Produkte auflisten, die nach dem angegebenen Datum im Backoffice geändert wurden
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
PRODUKTSTÜCKLISTE
Die Produktstücklisten-Ressource legt die Materialien fest, die zur Herstellung eines bestimmten Produkts verwendet werden. Die Stückliste verfügt über die folgenden Attribute:
product-code: Hauptprodukt
bom (Array, erforderlich)
product-code (Zeichenfolge, erforderlich): Produktcode für Komponente/Verbrauch
quantity (double-Wert, erforderlich): Menge
operation-code (Zeichenfolge, optional): Vorgangscode, in dem das im Produktcode definierte Material verbraucht wird. Wenn leer, findet der Verbrauch beim ersten Vorgang des Herstellungsprozesses für dieses Produkt statt.
Aktualisieren der Produktstückliste
POST /api/bom{?access_token}
Um die Stückliste eines Produkts zu aktualisieren, geben Sie einen JSON-Hash der Attribute für das neue Produkt und die zugehörigen Vorgänge an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
POST /api/bom?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "product-code": "bicycle", "bom": [ { "product-code": "wheel", "quantity": 2, "operation-code": "assemble" }, { "product-code": "seat", "quantity": 1, "operation-code": "assemble" } ]}
Antwort 201
Antwort 201
{ "product-code": "bicycle", "bom": [ { "product-code": "wheel", "quantity": 2, "operation-code": "assemble" }, { "product-code": "seat", "quantity": 1, "operation-code": "assemble" } ]}
Antwort 404
Antwort 404
Körper
Main product not found
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
PRODUKTBESTAND
Die Bestandsressource legt den Bestand fest, der für ein bestimmtes Produkt verfügbar ist.
product-code (Zeichenfolge, erforderlich)
stock (double-Wert, erforderlich)
date (Datum, optional): Datum der Bestandsaufnahme
Aktualisieren des Produktbestands
POST /api/stock{?access_token}
Um den Bestand eines Produkts zu aktualisieren, geben Sie einen JSON-Hash der Attribute für den aktuellen Bestand an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
POST /api/stock?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "product-code": "bicycle", "stock": 200.5, "date": "2023-08-16T17:15:15Z"}
Antwort 201
Antwort 201
Körper
Request successful
Antwort 404
Antwort 404
Körper
Product not found
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Produktfamilien
Produktressourcen der Prodsmart-API
PRODUKTFAMILIE
Das Produktfamilien-Objekt stellt die Familie(n) dar, zu der/denen ein Produkt gehört.
Die Produktfamilien-Ressource verfügt über die folgenden Attribute:
code (Zeichenfolge, erforderlich): Code der Produktfamilie
name (Zeichenfolge, erforderlich): Name der Produktfamilie
Erstellen einer Produktfamilie
POST /api/product-families{?access_token}
Zum Erstellen einer oder mehrerer Produktfamilien. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
POST /api/product-families?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "product-families": [ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" } ]}
Antwort 201
Antwort 201
Körper
[ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" }]
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Löschen einer Produktfamilie
DELETE /api/product-family/{code}{?access_token}
Um eine Produktfamilie zu löschen, stellen Sie den Code der Produktfamilie bereit.
Beispiel-URI
DELETE /api/product-family/code?access_token=
URI-Parameter
URI-Parameter
Code
Zeichenfolge (erforderlich)
Produktcode
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
Content-Type: application/json
Antwort 204
Antwort 204
Körper
Product Family was deleted
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Produktfamilien
GET /api/product-families{?access_token}
Zum Auflisten von Produktfamilien. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/product-families?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 201
Antwort 201
Körper
[ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" }]
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Maschinen
Produktionsressourcen der Prodsmart-API
ZÄHLER
Aktualisieren des Zählers
POST /api/machines/{machine_code}/counter{?access_token}
Um den aktuellen Zähler in der Maschine zu aktualisieren, senden Sie einfach die folgende Anforderung. Zur Vereinfachung der Maschinenverbindung können Sie entweder das Zugriffs-Token verwenden oder API-Anmeldedaten mit Basisauthentifizierung über den Authentifizierungs-Header senden. Prodsmart aktualisiert automatisch die Produktion, die vom Arbeiter gestartet wurde, der bei dieser Maschine angemeldet ist. Sowohl die Mengenanzahl als auch die Ausschussmenge müssen inkrementell sein (d. h. immer größer als die zuvor gesendeten Mengen).
Beispiel-URI
POST /api/machines/machine_code/counter?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
machine_code
Zeichenfolge (erforderlich)
In der Prodsmart-Plattform definierter Maschinencode
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "count": 500, "waste": [ { "code": "Waste1", "quantity": 20 } ], "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1 } ]}
Antwort 200
Antwort 200
Körper
Returns the new value for the machine's counter.
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
PARAMETER
Aktualisieren von Parametern
POST /api/machines/{machine_code}/parameters{?access_token}
Um einen Maschinenparameter zu aktualisieren, senden Sie einfach die folgende Anforderung. Zur Vereinfachung der Maschinenverbindung können Sie entweder das Zugriffs-Token verwenden oder API-Anmeldedaten mit Basisauthentifizierung über den Authentifizierungs-Header senden. Wenn diese Parameter übergeben werden und ein Produktionsdatensatz vorliegt
Beispiel-URI
POST /api/machines/machine_code/parameters?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
machine_code
Zeichenfolge (erforderlich)
In der Prodsmart-Plattform definierter Maschinencode
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "parameters": [ { "code": "temperature", "value": 25 }, { "code": "valid", "value": "yes" } ]}
Antwort 200
Antwort 200
AUSFALLZEIT
Aktualisieren der Ausfallzeit
POST /api/machines/{machine_code}/startstop{?access_token}
Um den aktuellen Status der Maschine zu aktualisieren, senden Sie einfach die folgende Anforderung. Zur Vereinfachung der Maschinenverbindung können Sie entweder das Zugriffs-Token verwenden oder API-Anmeldedaten mit Basisauthentifizierung über den Authentifizierungs-Header senden. Prodsmart registriert automatisch eine Ausfallzeit oder beendet diese gemäß den erhaltenen Informationen. Senden Sie 0 bei einer angehaltenen Maschine und 1, wenn sie eingeschaltet ist. Geben Sie den Typ der Ausfallzeit an.
Um einen Maschinenstatus zu aktualisieren, geben Sie die folgenden Attribute an:
type (Zeichenfolge, erforderlich, muss ein bereits der Maschine zugewiesener Ausfallzeittyp sein): Der Typ der Ausfallzeit
running (Nummer, erforderlich, 0 oder 1): Wurde die Maschine angehalten (0) oder wird sie ausgeführt (1)?
Beispiel-URI
POST /api/machines/machine_code/startstop?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
machine_code
Zeichenfolge (erforderlich)
In der Prodsmart-Plattform definierter Maschinencode
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "type": "Maintenance", "running": 0}
Antwort 200
Antwort 200
Produktion
Produktionsressourcen der Prodsmart-API
PRODUKTION
Ein einzelnes Produktionsobjekt. Die Produktionsressource ist die zentrale Ressource der Prodsmart-API. Sie stellt die Arbeit eines einzelnen Arbeiters in einer Position während eines Zeitraums dar.
Die Produktionsressource verfügt über die folgenden Attribute:
id
start-time (Datum, erforderlich, Format YYYY-MM-DDTHH:MM:SSZ): Startzeit der Produktion
end-time (Datum, erforderlich, Format YYYY-MM-DDTHH:MM:SSZ): Endzeit der Produktion
work-time (Dauer, angegeben, Format 00H00m00s): Produktionsarbeitszeit (innerhalb der geplanten Zeit/Stempeluhr-Einträge und ohne Ausfallzeiten)
production-order (optional): Produktionsauftrag, für den diese Produktion durchgeführt wurde
code (Zeichenfolge, erforderlich): Code des Produktionsauftrags
id (Zeichenfolge, erforderlich)
operation (erforderlich): Aufgabe, die in dieser Produktion ausgeführt wurde
code (Zeichenfolge, erforderlich, eindeutig): Aufgabencode
product (erforderlich): das Material, das der Arbeiter in dieser Position bearbeitet
quantity (Ganzzahl, erforderlich, >0): In dieser Produktion hergestellte Menge
worker (erforderlich): Person, die Aufgaben ausführt
number (lang, erforderlich, eindeutig): Arbeiternummer
produced-waste (Array, optional): Fehlerhafte Materialausgabe bei einem Vorgang
quantity (numerisch, erforderlich): Ausschuss-Code
waste: Typ des fehlerhaften Materials
code (Zeichenfolge, erforderlich, eindeutig): Ausschuss-Code
description (Zeichenfolge, erforderlich): Ausschuss-Beschreibung
flaw (Zeichenfolge, erforderlich): Ausschuss-Typ
quantity (Ganzzahl, erforderlich): Menge des produzierten Ausschusses
Die Status-ID wird von der Prodsmart-API zum Zeitpunkt der Erstellung zugewiesen.
Aktualisieren einer Produktion
PUT /api/productions/{id}{?access_token}
Um eine Produktion zu aktualisieren, geben Sie einen Code und einen JSON-Hash der Attribute für die vorhandene Produktion an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit können Sie nur ein Produkt speichern, es können jedoch mehrere Vorgänge gleichzeitig erstellt werden.
Beispiel-URI
PUT /api/productions/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Produktions-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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}
Antwort 200
Antwort 200
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Löschen einer Produktion
DELETE /api/productions/{id}{?access_token}
Um eine Produktion zu löschen, geben Sie eine Produktions-ID an.
Beispiel-URI
DELETE /api/productions/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Produktions-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
Content-Type: application/json
Antwort 201
Antwort 201
Körper
{ "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}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body
Auflisten von Produktionen
GET /api/productions{?access_token}
Zum Auflisten von Produktionen. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Produktionen pro Seite zurück.
Beispiel-URI
GET /api/productions?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
production-order-id
numerisch (optional)
Produktionen mit diesem production-order auflisten
production-order-code
Zeichenfolge (optional)
Produktionen mit diesem/diesen Produktionsauftrag/-aufträgen auflisten
worker
numerisch (optional)
Produktionen mit diesem Arbeiter auflisten (Arbeiternummer)
start-time-before
Datum (optional)
Produktionen mit Startzeit vor diesem Datum auflisten
start-time-after
Datum (optional)
Produktionen mit Startzeit nach diesem Datum auflisten
end-time-before
Datum (optional)
Produktionen mit Endzeit vor diesem Datum auflisten
end-time-after
Datum (optional)
Produktionen mit Endzeit nach diesem Datum auflisten
start-time
Datum (optional)
Produktionen auflisten, die nach dieser Startzeit (start-time) ausgeführt wurden (keine Kombination mit -before oder -after)
checked-out
Boolesche Operation (optional)
Ausgecheckte Produktionen auflisten
worker-name
Boolesche Operation (optional)
Namen und Nummer des Arbeiters abrufen, nicht nur die Nummer des Arbeiters
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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 }]
Ausfallzeit
Ausfallzeit-Ressourcen der Prodsmart-API
AUSFALLZEITEN
Auflisten von Ausfallzeiten
GET /api/downtimes{?access_token}
Zum Auflisten der Ausfallzeiten. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/downtimes?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
start-time-before
Datum (optional)
Ausfallzeiten mit Startzeit vor diesem Datum auflisten
start-time-after
Datum (optional)
Ausfallzeiten für Bestellungen mit Startzeit nach diesem Datum auflisten
end-time-before
Datum (optional)
Ausfallzeiten mit Endzeit vor diesem Datum auflisten
end-time-after
Datum (optional)
Ausfallzeiten mit Endzeit nach diesem Datum auflisten
machine
numerisch (optional)
Auf dieser Maschine aufgetretene Ausfallzeiten auflisten
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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" }]
Stempeluhr
Stempeluhr-Ressourcen der Prodsmart-API
STEMPELUHR
Webhooks sind für Stempeluhrereignisse über das Integrationsmenü in der App verfügbar. Um diese Funktion verwenden zu können, fügen Sie den Endpunkt-URL-Callback mit den Benachrichtigungsereignissen hinzu, die Sie erhalten möchten. Wir sind bestrebt, Webhook-Benachrichtigungen zu senden, sobald Ereignisse in unserem System auftreten. Zurzeit unterstützen wir keine Wiederholungsläufe.
Auflisten von Stempeluhr-Einträgen
GET /api/punchclocks{?access_token}
Zum Auflisten von Stempeluhr-Einträgen. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/punchclocks?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
date-before
Datum (optional)
Stempeluhr-Einträge mit Datum vor diesem Datum auflisten
date-after
Datum (optional)
Stempeluhr-Einträge mit Datum nach diesem Datum auflisten
worker
numerisch (optional)
Stempeluhr-Einträge für diesen Arbeiter auflisten
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[{ "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')
Bestandsbewegung
Bestandsbewegungs-Ressourcen der Prodsmart-API
BESTANDSBEWEGUNG
Ein einzelnes Bestandsbewegungs-Objekt. Die Bestandsbewegungs-Ressource ist eine der wichtigsten Ressourcen der Prodsmart-API.
Sie verfügt über die folgenden Attribute:
id (angegeben)
product (Zeichenfolge, erforderlich): Produktcode
date-time (Datum, optional, YYYY-MM-DDTHH:MM:SSZ): Datum, an dem die Bestandsbewegung erstellt wurde
quantity (double-Wert, erforderlich): Menge der Bestandsbewegungen
type (Zeichenfolge, erforderlich): Typ der Bestandsbewegung: Eingang, Ausgang, Verbrauch, Produktion
lot (Zeichenfolge, optional): Für die Bestandsbewegung zu verwendendes Los
total-cost (BigDecimal, optional): Gesamtkosten der Bestandsbewegung für die Menge
warehouse-location (Zeichenfolge, optional): Standortcode des Lagers
warehouse (Zeichenfolge, optional): Lagercode
location (Zeichenfolge, optional): Standort, wenn mehrere Standorte vorhanden sind
comment (Zeichenfolge, optional): Kommentar zur Bestandsbewegung
Abrufen einer Bestandsbewegung
GET /api/inventory-movements/{id}{?access_token}
Um eine Bestandsbewegung abzurufen, führen Sie einfach eine GET-Anforderung mit der ID der Bestandsbewegung aus. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/inventory-movements/id?access_token=
URI-Parameter
URI-Parameter
id
numerisch (erforderlich)
Bestandsbewegungs-ID
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
{ "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" } }}
Erstellen einer Bestandsbewegung
POST /api/inventory-movements/{?access_token}
Um eine Bestandsbewegung zu erstellen, geben Sie einen JSON-Hash der Attribute für die neue Bestandsbewegung an. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Derzeit ist nur das Speichern einer Bestandsbewegung möglich. Wenn in Zukunft die Anforderung ein Array und nicht eine einzelne Ressource ist, werden alle Elemente im Array gespeichert.
Beispiel-URI
POST /api/inventory-movements/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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"}
Antwort 200
Antwort 200
Körper
{ "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" } }}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body.
Aktualisieren von Bestandsbewegungen
PUT /api/inventory-movements/{id}{?access_token}
Um eine Bestandsbewegung zu aktualisieren, geben Sie einen JSON-Hash mit den Attributen an, die Sie in der Bestandsbewegung aktualisieren möchten (alle Attribute sind optional). Diese Aktion erfordert ein access_token
mit productions_write scope
.
Beispiel-URI
PUT /
api/inventory-movements/id?access_token=
URI-Parameter
URI-Parameter
id
numeric
(erforderlich)
Bestandsbewegungs-ID
access_token
string
(erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Körper
{ "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" }
Löschen von Bestandsbewegungen
DELETE /api/inventory-movement/{id}{?access_token}
Um eine Bestandsbewegung zu löschen, geben Sie eine Bestandsbewegungs-ID an.
Beispiel-URI
DELETE /api/inventory-movement/id?access_token=
URI-Parameter
URI-Parameter
id
numeric
(erforderlich)
Bestandsbewegungs-ID
access_token
string
(erforderlich)
Prodsmart-API-Zugriffs-Token
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 204
Antwort 400
Antwort 400
It's not possible to delete this inventory-movement.
Auflisten von Bestandsbewegungen
GET /api/inventory-movements/{?access_token}
Zum Auflisten von Bestandsbewegungen. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich. Dieser Dienst ist paginiert und gibt 25 Bestandsbewegungen pro Seite zurück.
Beispiel-URI
GET /api/inventory-movements/?access_token=
URI-Parameter
URI-Parameter
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
Seite
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
product-code
Zeichenfolge (optional)
Produktcode
type
Zeichenfolge (optional)
Typ der Bestandsbewegung: Eingang, Ausgang, Verbrauch, Produktion
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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" } } }]
Bestand
Bestandsressourcen der Prodsmart-API
Abrufen von Produktbeständen
GET /api/stock/{code}{?access_token}
Um einen Produktbestand abzurufen, führen Sie einfach eine GET-Anforderung mit dem Code des Produkts aus. Mehrere Parameter werden als AND-Bedingung behandelt. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/stock/code?access_token=
URI-Parameter
URI-Parameter
Code
Zeichenfolge (erforderlich)
Produktcode
access_token
Zeichenfolge (erforderlich)
Prodsmart-API-Zugriffs-Token
lot
Zeichenfolge (optional)
Los-Code und Bestandsmenge für das/die Produktlos(e) abrufen
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
{"product-code": "Example","stock": 35,"lot": [ { "code": "A", "stock": 10 }, { "code": "B", "stock": 5 }}
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body.
Berichte
Berichtsressourcen der Prodsmart-API
Arbeitszeit der Arbeiter
Arbeitszeit der Arbeiter GET/api/reports/worker-labor-time{?access_token}
Um einen Bericht abzurufen, führen Sie einfach eine GET-Anforderung mit Zeitintervall zum Extrahieren des Berichts aus. Sie können Arbeiter- und Bereichsparameter hinzufügen, um den Bericht zu filtern. Außerdem können Sie einige Flags angeben, um den Berichtsinhalt anzupassen. Der Vorgabewert aller Flags lautet False. Für diese Aktion ist ein Zugriffs-Token mit Schreibzugriff für Produktionen erforderlich.
Beispiel-URI
GET /api/reports/worker-labor-time?access_token=
URI-Parameter
URI-Parameter
start-time
Zeichenfolge (erforderlich)
Bericht bis zum Datum nach diesem Datum erstellen (einschließlich)
end-time
Zeichenfolge (erforderlich)
Bericht bis zum Datum vor diesem Datum erstellen (einschließlich)
access_token
Zeichenfolge (erforderlich)
Zugriffs-Token für die Prodsmart-API
worker-number
Zeichenfolge (optional)
Arbeiternummer zum Filtern des Berichts angeben
Schnitt
Zeichenfolge (optional)
Bereichsnamen angeben. Alle Arbeiter aus diesem Bereich werden in den Bericht einbezogen.
show-rework
Boolesche Operation (optional)
Neues Feld mit Nachbearbeitungsvorgängen in den Bericht einbeziehen
show-weekend
Boolesche Operation (optional)
Wochenendtage in Daten einbeziehen
only-punch-clock
Boolesche Operation (optional)
Nur die Anwesenheitszeit mit Stempeluhr-Einträgen berücksichtigen
Sonstige
numerisch (optional)
Ergebnisseitenindex, beginnend bei 1
Anfrage
Anfrage
Header
Content-Type: application/json
Antwort 200
Antwort 200
Körper
[ { "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" }]
Antwort 400
Antwort 400
Körper
If there's a problem with the request, the problem found will be reported on the Response Body.
Antwort 429
Antwort 429
Körper
Another request is ongoing for this endpoint. Please wait until the current request finishes before doing another.
Zugriffsautorisierung und -kontrolle
Zugriff und Kontrolle des Prodsmart-Authentifizierungstoken
AUTORISIERUNG
Die Autorisierungsressource steht für eine Autorisierung, die dem Unternehmen erteilt wird. Sie können nur auf Ihre eigene Autorisierung zugreifen. Die verwendete Authentifizierung ist die Basisauthentifizierung, wobei sich der Authentifizierungs-Header im Formular <base64 kodierter Wert von API_KEY:API_SECRET> befindet. Um den API-Schlüssel und den geheimen API-Schlüssel zu erhalten, melden Sie sich bei Prodsmart an und bearbeiten Ihr Benutzerkonto. (Anmerkung: Sie müssen über die Rolle des Administrators verfügen, um diese zu erhalten.) Die Autorisierungsressource verfügt über die folgenden Attribute:
Token
scopes
Wobei token für ein Token und scopes für ein Array der Bereiche steht, für die die angegebene Autorisierung gewährt wurde. Derzeit ist der einzige verfügbare Bereich productions_write
.
Abrufen der Autorisierung
GET /api/authorization
Verwenden Sie GET, um ein vorhandenes Zugriffs-Token abzurufen. Wenn noch kein Token vorhanden ist, kann dieses mit der POST-Methode generiert werden.
Beispiel-URI
GET /api/authorization
Anfrage
Anfrage
Header
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Antwort 200
Antwort 200
Header
Content-Type: application/jsonLink: <http:/api.prodsmart.com/api/authorizations>;rel="self"
Körper
{ "_links": { "self": { "href": "/api/authorizations" }, }, "scopes": [ "productions_write" ], "token": "abc123"}
Erstellen einer Autorisierung
POST /api/authorization
Verwenden Sie POST, um ein neues Zugriffs-Token zu generieren.
Beispiel-URI
POST /api/authorization
Anfrage
Anfrage
Header
Content-Type: application/jsonAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Körper
{ "scopes": [ "productions_write" ] }
Antwort 201
Antwort 201
Header
Content-Type: application/jsonLink: <http:/api.prodsmart.com/api/authorizations>;rel="self"
Körper
{ "_links": { "self": { "href": "/api/authorizations" }, }, "scopes": [ "productions_write" ], "token": "abc123"}
Entfernen einer Autorisierung
DELETE /api/authorization
Beispiel-URI
DELETE /api/authorization
Anfrage
Anfrage
Header
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Antwort 204
Antwort 204