Punkt końcowy podstawowego identyfikatora URI interfejsu API
Punkt końcowy wszystkich wywołań interfejsu API to: https://app.prodsmart.com/
Uwierzytelnianie
Interfejs API programu Prodsmart używa prostego tokenu autoryzacji. Najpierw należy utworzyć nowy token (lub pozyskać istniejący). Po pobraniu tokenu można go użyć do uzyskania dostępu do innych zasobów mieszczących się w jego zakresie.
Token uwierzytelniania zachowuje ważność przez 2 godziny, potem trzeba zamówić nowy token z poświadczeniami interfejsu API.
Typy nośników
Żądania z użyciem treści wiadomości używają zwykłego kodu JSON do ustawiania lub aktualizowania stanów zasobów.
Stany błędu
Używane są wspólne kody stanu odpowiedzi HTTP.
Nieprawidłowa wartość JSON
W przypadku otrzymania odpowiedzi „Invalid JSON” (Nieprawidłowa wartość JSON) należy zweryfikować ładunek json używany w JSONLint.
Limit ilości
Liczba żądań interfejsu API jest ograniczona do 120 żądań na minutę na firmę. Po przekroczeniu limitu kolejne żądania będą uzyskiwać odpowiedź o kodzie stanu HTTP 429 — Too Many Requests (Zbyt wiele żądań).
Ponadto w nagłówku zostanie wyświetlona liczba sekund oczekiwania przed ponowieniem próby wykonania żądania:
Retry-After: <delay-seconds>
Najlepsze praktyki w przypadku ograniczenia ilości:
Należy rozłożyć żądania równomiernie w czasie, aby uniknąć skokowego wzrostu użycia, który może skutkować ograniczeniem przesyłania odpowiedzi.
Należy opracować logikę, która wykorzystuje informacje określone przez wartość Retry-After, aby ustalić, kiedy żądanie może zostać ponowione.
Należy sprawdzić, czy nie ma działających równolegle niepotrzebnych integracji, ponieważ wszystkie te integrację będą zliczane do limitu.
Format daty
Format pól daty interfejsu API jest zgodny z reprezentacją ISO 8601:
RRRR-MM-DDTgg:mm:ssZ
W tym formacie litera T symbolizuje wymagany separator, natomiast Z jest znacznikiem strefy czasowej, jeśli jest wymagana. Jeśli oznaczenie strefy nie jest używane, wówczas strefa czasowa zastosowana do daty jest taka sama jak strefa czasowa ustawiona w Prodsmart. Z oznacza zerową strefę czasową, ponieważ jest ona odsunięta o 0.
Przykład użycia:
Jeśli strefa czasowa jest o godzinę przed UTC, oznaczenie strefy powinno być mieć postać „+01:00”, „+0100” lub po prostu „+01”.
Jeśli strefa czasowa firmy jest ustawiona na -05:00, a format daty wysłania jest następujący: 2020-07-20T09:15:15Z, data w programie Prodsmart będzie wyświetlana jako: 07/20/2020 - 04:15:15
Jeśli wysłany format to: 2020-07-20T09:15:15, data będzie wyświetlana w programie Prodsmart jako: 07/20/2020 — 09:15:15 (ze strefą czasową -05:00), co oznacza, że jeśli użytkownik ma strefę czasową ustawioną na -04:00, będzie ona widoczna jako: 07/20/2020 — 10:15:15
Wspólne integracje ERP
Typowe scenariusze integracji ERP dotyczą głównie synchronizacji zamówień produkcji, zapasów i katalogu produktów.
Zamówienia produkcji
Gdy zamówienie produkcji zostaje utworzone po stronie ERP, system ERP powinien wysłać dane zamówienia produkcji w formacie JSON do interfejsu API Prodsmat, korzystając z usługi tworzenia zamówień produkcji. Jeśli wymagane jest zaktualizowanie strony ERP, gdy zamówienie produkcji zostanie utworzone lub zaktualizowane w programie Prodsmart, istnieją dwie możliwości: można skontaktować się z ERP z zewnątrz, i w tym przypadku możliwe jest skonfigurowanie elementów webhook w programie Prodsmart, a elementy webhook będą wywoływane podczas tworzenia, aktualizacji i usuwania zamówień produkcji po stronie Prodsmart. Jeśli nie można skontaktować się z ERP z zewnątrz, system ERP musi aktywować usługę listy zamówień produkcji, aby wykryć zmiany.
Zapasy
Zwykle ERP (lub WMS) jest głównym systemem zapasów, dlatego udostępniamy usługę (aktualizacji zapasów produktu), która umożliwia ERP/WMS aktualizację aktualnego zapasu produktu do określonej ilości. Czasami system ERP/WMS może być powiadamiany o zmianach zapasów produkcji albo poprzez obserwowanie zmian w zamówieniach produkcji, albo za pomocą elementów webhook lub usługi sieci Web aktualnych zapasów (na żądanie).
Produkty
Nie dzieje się to tak często, ale synchronizowany jest również katalog produktów. W tym przypadku system ERP jest zawsze systemem głównym i może tworzyć produkty i operacje za pomocą usługi tworzenia produktu.
Elementy webhook
Elementy webhook są dostępne do zdarzeń zamówień produkcji z menu integracji w aplikacji. Aby użyć tej funkcji, dodaj wywołanie zwrotne adresu URL punktu końcowego ze zdarzeniami powiadamiania, których chcesz nasłuchiwać. Staramy się wysyłać powiadomienia webhook niezwłocznie po wystąpieniu zdarzeń w naszym systemie. W przypadku jednoczesnej zmiany dużej liczby zamówień produkcji, może dojść do pojawienia się dużej liczby powiadomień w krótkim czasie. Obecnie nie obsługujemy ponownych prób.
Nagłówki
Nagłówki webhook
x-prodsmart-topic: "productionOrder/create"x-prodsmart-hmac-sha256: "c938fe31379c0d89b37468e1cae9e3aab2d56834"x-prodsmart-api-version: "1"x-prodsmart-webhook-uuid: "91cb972d-b476-4936-947c-4be471b9da5b"x-prodsmart-triggered-at: "2023-08-29T20:39:46.142Z"
Uwaga:
x-prodsmart-topic — pozwala określić temat elementu webhook
x-prodsmart-hmac-sha256 — służy do sprawdzania pochodzenia elementu webhook
x-prodsmart-api-version — wersja interfejsu API służąca do wysyłania elementu webhook
x-prodsmart-webhook-uuid — pozwala na identyfikację unikatowego elementu webhook
x-prodsmart-Tript-at — czas uruchomienia elementu webhook
Jak zweryfikować element webhook?
Przed udzieleniem odpowiedzi z kodem stanu 200 kluczowe jest potwierdzenie, że element webhook pochodzi z programu Prodsmart. Weryfikacja ta odbywa się przez obliczenie podpisu.
Każde element webhook zawiera określony nagłówek o nazwie x-prodsmart-hmac-sha1, który jest zakodowany w formacie base64. Nagłówek jest generowany przy użyciu klucza tajnego interfejsu API i danych zawartych w żądaniu webhook.
Aby sprawdzić autentyczność elementu webhook, należy samodzielnie obliczyć podpis, używając tego samego klucza tajnego interfejsu API i podanych danych.
Po uzyskaniu obliczonego podpisu należy porównać go z wartością znajdującą się w nagłówku x-prodsmart-hmac-sha1 przychodzącego żądania webhook.
Jeśli obliczony podpis odpowiada wartości w nagłówku x-prodsmart-hmac-sha1, można mieć pewność, że element webhook został wysłany z programu Prodsmart i można na niego odpowiedzieć kodem stanu 200.
Zamówienia produkcji
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "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}
Uwaga: stan uruchomienia zostanie usunięty po usunięciu zamówienia produkcji.
Zegar czasu pracy
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "id": 932015, "date": "2022-05-19T14:35:30.000+01:00", "notification": "punchClock_created", "worker": { "number": 0 }, "entry": 1}
Możliwe wartości wejścia:
1 — wejście
0 — wyjście
Możliwe wartości powiadomienia:
punchClock_created
punchClock_updated
punchClock_deleted
Ruch magazynowy związany z wysyłką
Utworzono/zaktualizowano ruch magazynowy związany z wysyłką
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
[{ "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" }}]
Możliwe wartości powiadomienia:
shipping_inventory_movement_created
shipping_inventory_movement_updated
Usunięto ruch magazynowy związany z wysyłką
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "id": 111}
Możliwe wartości powiadomienia:
shipping_inventory_movement_deleted
Ruch magazynowy związany z odbiorem
Utworzono/zaktualizowano ruch magazynowy związany z odbiorem
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
[{ "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" }}]
Możliwe wartości powiadomienia:
receiving_inventory_movement_created
receiving_inventory_movement_updated
Usunięto ruch magazynowy związany z odbiorem
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "id": 111}
Możliwe wartości powiadomienia:
receiving_inventory_movement_deleted
Wewnętrzny ruch magazynowy
Utworzono/zaktualizowano wewnętrzny ruch magazynowy
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
[{ "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" }}]
Możliwe wartości powiadomienia:
internal_inventory_movement_created
internal_inventory_movement_updated
Usunięto wewnętrzny ruch magazynowy
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "id": 111}
Możliwe wartości powiadomienia:
internal_inventory_movement_deleted
Ruch przenoszenia materiałów
Utworzono/zaktualizowano przenoszenie materiałów
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
[{ "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" }}]
Możliwe wartości powiadomienia:
material_staging_created
material_staging_updated
Usunięto przenoszenie materiałów
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "id": 111}
Możliwe wartości powiadomienia:
material_staging_deleted
Partia
Utworzono/uaktualniono partię
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
[{ "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" }}]
Możliwe wartości powiadomienia:
lot_created
lot_updated
Usunięto partię
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "id": 111}
Możliwe wartości powiadomienia:
lot_deleted
Przestój
Utworzono/zaktualizowano/usunięto przestój
Żądanie (aplikacja/json)
Metoda: POST
Tekst główny
{ "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"}
Możliwe wartości powiadomienia:
downTime_created
downTime_updated
downTime_deleted
Kanały źródła danych zmian
Jeśli z jakiegoś powodu nie można wykorzystać elementów webhook, obecnie oferujemy alternatywę w postaci stosu zmian, który będzie przechowywać zmiany wprowadzone w ciągu ostatnich 24 godzin lub od ostatniego żądania zmian za pośrednictwem usługi sieciowej, którą udostępniamy. Aby użyć tej funkcji, należy utworzyć kanał w menu integracji (https://app.prodsmart.com/admin/integrations). Można utworzyć do 3 kanałów w każdej organizacji.
Istnieje 6 typów kanałów zmian:
DOWN_TIME
PRODUCT
PRODUCTION
PRODUCTION_ORDER
PUNCH_CLOCK
STOCK
Pobieranie zmian
GET /api/changes/{channel}{?access_token}
Podczas wywoływania tej usługi zostanie wyświetlona lista elementów, które zostały zmienione, ponieważ zostały utworzone/zaktualizowane/usunięte lub ich stan uległ zmianie. Pojawi się szyk z bieżącym stanem elementów (uporządkowaną od najstarszych zmian do najnowszych), maksymalnie 25 na każde wywołanie usługi. Elementy pobierane z usługi są usuwane ze stosu (dopóki nie zostaną zaktualizowane). Jeśli nie wystąpią żadne zmiany, usługa zwróci pusty szyk („[]”).
Przykładowy identyfikator URI
GET /api/changes/channel?access_token=
Parametry URI
Parametry URI
channel
ciąg (wymagane)
kanał, do którego ma zostać uzyskany dostęp
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
workers
wartość logiczna (opcjonalne)
pokaż listę pracowników w odpowiedzi kanału zamówień produkcji
Żądanie
Żądanie
Content-Type: application/json
PRZESTOJE
[ { "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", }]
Uwaga: pole typu zdarzenia będzie widoczne tylko wtedy, gdy zostanie usunięty czas przestoju.
ZAMÓWIENIA PRODUKCJI
[ { "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 }]
Uwaga: po usunięciu zamówienia produkcji w polu stanu uruchomienia zostanie usunięta wartość.
PRODUKTY
[ { "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": [] }]
Uwaga: w polu powiadomienia zostanie wyświetlona wartość product_remove, gdy produkt zostanie usunięty.
REKORDY PRODUKCJI
[ { "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 }]
Uwaga: pole stanu będzie obecne tylko wtedy, gdy rekord produkcji zostanie usunięty.
ZEGARY CZASU PRACY
[ { "id": 932015, "date": "2022-05-19T14:35:30.000+01:00", "notification": "punchClock_deleted", "worker": { "number": 0 }, "entry": 1 }]
Uwaga: pole powiadomienia będzie dostępne tylko wtedy, gdy zostanie usunięty wpis zegara czasu pracy.
ZAPASY
[ { "product-code": "P1", "stock": 2395.0, "lot": [ { "code": "Lot 0086", "stock": 500.0 } ] }]
Dostawca
Zasoby dostawcy interfejsu API programu Prodsmart.
DOSTAWCA
Pojedynczy obiekt dostawcy.
Zasób dostawcy ma następujące atrybuty:
id (dostarczone)
code (ciąg, wymagane, niepowtarzalne) — kod dostawcy
name (ciąg, wymagane) — nazwa dostawcy
number (ciąg, opcjonalne) — numer VAT dostawcy
expiration-date (data, opcjonalne, format RRRR-MM-DDTGG:MM:SSZ) — data wygaśnięcia dostawcy
addresses (tablica, opcjonalne)
code (ciąg, wymagane, niepowtarzalne) — kod adresu
name (ciąg, opcjonalne) — nazwa adresu
address (ciąg, wymagane) — wiersz adresu
city (ciąg, opcjonalne) — miejscowość w adresie
post-code (ciąg, opcjonalne) — kod pocztowy w adresie
state (ciąg, opcjonalne) — stan/region w adresie
country (ciąg, wymagane) — kod kraju w adresie
default (wartość logiczna, opcjonalne — wartość domyślna to false) — wartość true oznacza, że jest to domyślny adres dostawcy
contacts (tablica, opcjonalne)
phone-number (ciąg, wymagane, jeśli nie ma adresu e-mail) — numer telefonu kontaktowego
email (ciąg, wymagane, jeśli nie ma numeru telefonu) — kontaktowy adres e-mail
name (ciąg, opcjonalne) — nazwa kontaktu
default (wartość logiczna, opcjonalne — wartość domyślna to false) — wartość true oznacza, że jest to domyślny adres kontaktu
Zasady dotyczące domyślnych adresów/kontaktów:
Zarówno kontakty, jak i adresy mogą mieć tylko jeden domyślny adres lub tylko jeden kontakt
Jeśli dostawca ma adresy, jeden z nich musi być adresem domyślnym
Jeśli dostawca ma kontakty, jeden z nich musi być kontaktem domyślnym
Podczas tworzenia/aktualizacji dostawcy, jeśli nie podano domyślnego adresu/kontaktu, domyślnym będzie pierwszy kontakt/adres
Tworzenie dostawcy
POST /api/suppliers{?access_token}
Stan: dostępny
Aby utworzyć dostawcę, podaj skrót JSON atrybutów nowego dostawcy. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
POST /api/suppliers?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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 } ] }
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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 } ] }
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetlanie listy dostawców
GET /api/suppliers{?access_token}
Pozwala wyświetlić listę dostawców. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 dostawców na stronę.
Przykładowy identyfikator URI
GET /api/suppliers?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
id
liczba (opcjonalne)
lista dostawców filtrowanych według identyfikatora
code
ciąg (opcjonalne)
lista dostawców filtrowanych według kodu
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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 } ] } ]
Odpowiedź 400 Wyświetlanie
Odpowiedź 400 Wyświetlanie
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Pobieranie dostawcy
GET /api/suppliers/{id}{?access_token}
Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/suppliers/id?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
id
wartość numeryczna (wymagane)
Identyfikator dostawcy
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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 } ] }
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualizacja dostawcy
PUT /api/suppliers/{id}{?access_token}
Aby zaktualizować dostawcę, podaj skrót JSON atrybutów nowego dostawcy.
Kontakty
Dane kontakty dostawcy zastąpią bieżące kontakty.
Jeśli podany jest kontakt o takiej samej nazwie co istniejący kontakt, jego wartości zostaną zastąpione wartościami podanymi przez kontakt o tej nazwie.
Jeśli nie podano żadnych kontaktów, istniejące kontakty zostaną usunięte.
Adresy
Podane adresy zastąpią bieżące adresy.
Jeśli podany jest adres o tym samym kodzie co istniejący adres, jego wartości zostaną zastąpione wartościami podanymi przez adres o tym kodzie.
Jeśli nie podano żadnych adresów, istniejące adresy zostaną usunięte.
Jeśli adres ma skojarzone elementy, żądanie nie powiedzie się, ponieważ nie można usunąć adresu.
Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
PUT /api/suppliers/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator klienta
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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 } ] }
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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 } ] }
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie dostawcy
Usuń /api/suppliers/{id}{?access_token}
Przykładowy identyfikator URI
Usuń /api/suppliers/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator dostawcy
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Tekst główny
Supplier was deleted
Odpowiedź 412
Odpowiedź 412
Tekst główny
It's not possible to delete this supplier. It has dependent entities.
Klient
Zasoby klienta interfejsu API programu Prodsmart.
KLIENT
Pojedynczy obiekt klienta.
Zasób klienta ma następujące atrybuty:
id (dostarczone)
code (ciąg, wymagane, niepowtarzalny) — kod klienta
name (ciąg, wymagane) — nazwa klienta
number (ciąg, opcjonalne) — numer klienta
phone-number (ciąg, opcjonalne) — numer telefonu klienta
email (ciąg, opcjonalne) — adres e-mail klienta
addresses (tablica, opcjonalne)
code (ciąg, wymagane, niepowtarzalne) — kod adresu
name (ciąg, opcjonalne) — nazwa adresu
address (ciąg, wymagane) — wiersz adresu
city (ciąg, opcjonalne) — miejscowość w adresie
post-code (ciąg, opcjonalne) — kod pocztowy w adresie
state (ciąg, opcjonalne) — stan/region w adresie
country (ciąg, wymagane) — kod kraju w adresie
default (wartość logiczna, opcjonalne — wartość domyślna to false) — wartość true oznacza, że jest to domyślny adres klienta
contacts (tablica, opcjonalne)
phone-number (ciąg, wymagane, jeśli nie ma adresu e-mail) — numer telefonu kontaktowego
email (ciąg, wymagane, jeśli nie ma numeru telefonu) — kontaktowy adres e-mail
name (ciąg, opcjonalne) — nazwa kontaktu
default (wartość logiczna, opcjonalne — wartość domyślna to false) — wartość true oznacza, że jest to domyślny kontakt klienta
Zasady dotyczące domyślnych adresów/kontaktów:
Zarówno kontakty, jak i adresy mogą mieć tylko jeden domyślny adres lub tylko jeden kontakt
Jeśli klient ma adresy, jeden z nich musi być adresem domyślnym
Jeśli klient ma kontakty, jeden z nich musi być kontaktem domyślnym
Podczas tworzenia/aktualizacji klienta, jeśli nie podano domyślnego adresu/kontaktu, domyślnym będzie pierwszy kontakt/adres
Tworzenie klienta
POST /api/clients{?access_token}
Aby utworzyć klienta, podaj skrót JSON atrybutów dla nowego klienta. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie możliwe jest zapisanie tylko jednego klienta. Jeśli żądanie będzie w przyszłości szykiem zamiast jednym zasobem, wszystkie elementy w szyku zostaną zapisane.
Przykładowy identyfikator URI
POST /api/clients?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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 } ] }
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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 } ] }
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetlanie listy klientów
GET /api/clients{?access_token}
Pozwala wyświetlić listę klientów. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 klientów na stronę.
Przykładowy identyfikator URI
GET /api/clients?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
id
liczba (opcjonalne)
wyświetl listę klientów odfiltrowanych według identyfikatora
code
ciąg (opcjonalne)
wyświetl listę klientów odfiltrowanych według kodu
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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 } ] } ]
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Pobieranie klienta
GET /api/clients/{id}{?access_token}
Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/clients/id?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
id
wartość numeryczna (wymagane)
Identyfikator klienta
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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 } ] }
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualizowanie klienta
PUT /api/clients/{id}{?access_token}
Aby zaktualizować klienta, podaj skrót JSON atrybutów dla nowego klienta.
Kontakty
Dane kontakty dostawcy zastąpią bieżące kontakty.
Jeśli podany jest kontakt o takiej samej nazwie co istniejący kontakt, jego wartości zostaną zastąpione wartościami podanymi przez kontakt o tej nazwie.
Jeśli nie podano żadnych kontaktów, istniejące kontakty zostaną usunięte.
Adresy
Podane adresy zastąpią bieżące adresy.
Jeśli podany jest adres o tym samym kodzie co istniejący adres, jego wartości zostaną zastąpione wartościami podanymi przez adres o tym kodzie.
Jeśli nie podano żadnych adresów, istniejące adresy zostaną usunięte.
Jeśli adres ma skojarzone elementy, żądanie nie powiedzie się, ponieważ nie można usunąć adresu.
Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
PUT /api/clients/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator klienta
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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 } ]}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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 } ] }
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie klienta
Usuń /api/clients/{id}{?access_token}
Przykładowy identyfikator URI
Usuń /api/clients/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator klienta.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Tekst główny
Client was deleted
Odpowiedź 412
Odpowiedź 412
Tekst główny
It's not possible to delete this client. It has dependent entities.
Zamówienie sprzedaży
Zasoby zamówienia klienta interfejsu API Prodsmart.
ZAMÓWIENIE SPRZEDAŻY
Pojedynczy obiekt zamówienia sprzedaży. Zasób zamówienia sprzedaży jest jednym z najważniejszych zasobów interfejsu API programu Prodsmart.
Zasób zamówienia sprzedaży ma następujące atrybuty:
id (dostarczone)
code (ciąg, wymagane) — kod zamówienia sprzedaży
client (ciąg, opcjonalne) — kod klienta
observations (ciąg, opcjonalne) — obserwacje dotyczące zamówienia sprzedaży
products (tablica, wymagane, niepuste)
code (ciąg, wymagane, niepowtarzalne) — kod produktu
quantity (double, wymagane, >0) — ilość zamówiona
due-date (data, opcjonalne, format RRRR-MM-DDTGG:MM:SSZ) — termin wysyłki
requested-date (data, opcjonalne, format RRRR-MM-DDTGG:MM:SSZ) — żądana data wysyłki
location (ciąg, opcjonalne) — lokalizacja, w przypadku wielu lokalizacji
price (double, opcjonalne) — cena produktu
parameters (ciąg, opcjonalne) — zawiera atrybut specyficzny dla zamówienia sprzedaży
Tworzenie zamówienia sprzedaży
POST /api/client-order/{?access_token}
Aby utworzyć zamówienie sprzedaży, należy podać skrót JSON atrybutów dla nowego zamówienia sprzedaży. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie możliwe jest zapisanie tylko jednego zamówienia sprzedaży. Jeśli żądanie będzie w przyszłości szykiem zamiast jednym zasobem, wszystkie elementy w szyku zostaną zapisane.
Przykładowy identyfikator URI
POST /api/client-order/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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" } ]}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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" } ]}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetlenie listy zamówień sprzedaży
GET /api/client-order/{?access_token}
Aby wyświetlić listę zamówień sprzedaży. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 zamówień sprzedaży na stronę.
Przykładowy identyfikator URI
GET /api/client-order/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
due-date-before
data (opcjonalne)
wyświetl listę zamówień sprzedaży z terminem przed tą
due-date-after
data (opcjonalne)
wyświetl listę zamówień sprzedaży z terminem po tej
client
ciąg (opcjonalne)
kod maszyny
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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" } ] }]
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Pobieranie zamówienia sprzedaży
GET /api/client-order/{id}{?access_token}
Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/client-order/id?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
id
wartość numeryczna (wymagane)
Identyfikator zamówienia sprzedaży
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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" } ]}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualizowanie zamówienia sprzedaży
PUT /api/client-order/{?access_token}
Aby zaktualizować zamówienie sprzedaży, należy podać skrót JSON atrybutów dla nowego zamówienia sprzedaży. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
PUT /api/client-order/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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" } ]}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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" } ]}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie zamówienia sprzedaży
Usuń /api/client-order/{id}{?access_token}
Przykładowy identyfikator URI
Usuń /api/client-order/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia sprzedaży.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Tekst główny
Client order was deleted
Odpowiedź 409
Odpowiedź 409
Tekst główny
Client order already has production orders created or other entities associated, cannot be removed.
Zamówienie zakupu
Zasoby zamówienia zakupu interfejsu API programu Prodsmart.
ZAMÓWIENIE ZAKUPU
Pojedynczy obiekt zamówienia zakupu. Zasób zamówienia zakupu jest jednym z najważniejszych zasobów interfejsu API programu Prodsmart.
Zasób zamówienia zakupu ma następujące atrybuty:
id (dostarczone)
code (ciąg, wymagane) — kod zamówienia zakupu
supplier (ciąg, opcjonalne) — kod dostawcy
billing-address (ciąg, opcjonalne) — adres rozliczeniowy
observations (ciąg, opcjonalne) — obserwacje dotyczące zamówień zakupu
products (tablica, wymagane, niepuste)
code (ciąg, wymagane, niepowtarzalne) — kod produktu
quantity (double, wymagane, >0) — żądana ilość
due-date (data, opcjonalne, format RRRR-MM-DDTGG:MM:SSZ) — termin odbioru
requested-date (data, opcjonalne, format RRRR-MM-DDTGG:MM:SSZ) — żądana data odbioru
cost (double, opcjonalne) — koszt produktu
uom (ciąg, opcjonalne) — jednostka miary produktu
delivery-address (ciąg, opcjonalne) — adres dostawy odbioru
parameters (ciąg, opcjonalne) — parametry zamówienia zakupu
approval-status (ciąg, opcjonalne) — wersja robocza, trwa przegląd, zatwierdzenie, potwierdzenie, odrzucenie
Tworzenie zamówienia zakupu
POST /api/purchase-orders/{?access_token}
Aby utworzyć zamówienie zakupu, należy podać skrót JSON atrybutów nowego zamówienia zakupu. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie możliwe jest zapisanie tylko jednego zamówienia zakupu. Jeśli żądanie będzie w przyszłości szykiem zamiast jednym zasobem, wszystkie elementy w szyku zostaną zapisane.
Przykładowy identyfikator URI
POST /api/purchase-orders/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 201
Odpowiedź 201
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Pobieranie zamówienia zakupu
GET /api/purchase-orders/{id}{?access_token}
Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/purchase-orders/id?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
id
wartość numeryczna (wymagane)
Identyfikator zamówienia zakupu
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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" } ]}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualizowanie zamówienia zakupu
PUT/api/purchase-orders/{id}{?access_token}
Aby zaktualizować zamówienie zakupu, należy podać skrót JSON atrybutów dla nowego zamówienia zakupu. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
PUT /api/purchase-orders/id?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
id
wartość numeryczna (wymagane)
Identyfikator zamówienia zakupu
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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" } ]}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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" } ]}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie zamówienia zakupu
Usuń /api/purchase-orders/{id}{?access_token}
Przykładowy identyfikator URI
Usuń /api/purchase-orders/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia zakupu
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Tekst główny
Purchase order was deleted
Odpowiedź 409
Odpowiedź 409
Tekst główny
Purchase order already has production orders created or other entities associated, cannot be removed.
Wyświetlanie listy zamówień zakupu
GET /api/purchase-orders{?access_token}
Pozwala wyświetlić listę zamówień zakupu. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 zamówień sprzedaży na stronę.
Przykładowy identyfikator URI
GET /api/purchase-orders?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
id
liczba (opcjonalne)
wyświetl listę zamówień zakupu odfiltrowaną według identyfikatora zamówienia zakupu
code
ciąg (opcjonalne)
wyświetl listę zamówień zakupu odfiltrowaną według kodu zamówienia zakupu
due-date-before
data (opcjonalne)
wyświetl listę zamówień zakupu z terminem wcześniejszym
due-date-after
data (opcjonalne)
wyświetl listę zamówień zakupu z terminem późniejszym
supplier
ciąg (opcjonalne)
wyświetl listę zamówień zakupu odfiltrowaną według kodu dostawcy
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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" } ] }]
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Zamówienie produkcji
Zasoby zamówienia produkcji interfejsu API programu Prodsmart.
ZAMÓWIENIE PRODUKCJI
Jeden obiekt zamówienia produkcji. Zasób zamówienia produkcji jest jednym z najważniejszych zasobów interfejsu API programu Prodsmart. Reprezentuje on zamówienie zarządzania w celu wytworzenia przez zdefiniowanych pracowników z góry określonej liczby produktów w określonym okresie.
Zasób zamówienia produkcji ma następujące atrybuty:
id (dostarczone)
code (ciąg, wymagane) — kod zamówienia produkcji
start-date (data, wymagane, format RRRR-MM-DDTGG:MM:SSZ) — data zaplanowanego rozpoczęcia tego zamówienia produkcji
due-date (data, wymagane, format RRRR-MM-DDTGG:MM:SSZ) — data wykonania tego zamówienia produkcji
products (tablica, wymagane, niepuste) — produkty i zamówione ilości
product (ciąg, wymagane, niepowtarzalne) — kod produktu
quantity-ordered (liczba całkowita, wymagane, >0) — ilość zamówiona
observations (opcjonalne) — uwaga na temat tego produktu
quantity-produced (liczba całkowita, dostarczona, >0) — ilość wyprodukowana
description (opcjonalne) — opis tego zamówienia produkcji
shipping (opcjonalne) — kod wysyłkowy dla tego zamówienia
workers-assigned (tablica, opcjonalne)
number — numer pracownika
machines (tablica, opcjonalne)
code — kod maszyny
serial-number (opcjonalne)
description (opcjonalne)
notes (opcjonalne)
status (dostarczone) — scheduled (przed start_date i completeness = 0), onschedule (przed end_date i completeness < 100%), delayed (po end_date i completeness < 100%), completed (completeness >= 100%)
running-status (dostarczone) — notstarted (brak produkcji), started (z produkcjami), closed (ręcznie zamknięte lub zamknięte poprzez ukończenie), archived (ręcznie zarchiwizowane)
Identyfikator stanu jest przypisywany przez interfejs API programu Prodsmart w momencie tworzenia.
Pobieranie zamówienia produkcji
GET /api/production-orders/{id}{?access_token}
Aby pobrać zamówienie produkcji, wystarczy wykonać żądanie GET z identyfikatorem zamówienia produkcji. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/production-orders/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia produkcji
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
workers
wartość logiczna (opcjonalne)
pokaż listę pracowników w odpowiedzi
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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}
Aktualizowanie/zastąpienie zamówienia produkcji
PUT /api/production-orders/{id}{?access_token}
Aby zaktualizować zamówienie produkcji, wystarczy wykonać żądanie PUT z identyfikatorem zamówienia produkcji. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
PUT /api/production-orders/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia produkcji
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
workers
wartość logiczna (opcjonalne)
pokaż listę pracowników w odpowiedzi
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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}
Usuwanie zamówienia produkcji
Usuń /api/production-orders/{id}{?access_token}
Przykładowy identyfikator URI
Usuń /api/production-orders/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia produkcji
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Tekst główny
Production order was deleted
Tworzenie zamówienia produkcji
POST /api/production-orders/{?access_token}
Aby utworzyć zamówienie produkcji, należy podać skrót JSON atrybutów nowego zamówienia produkcji. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie możliwe jest zapisanie tylko jednego zamówienia produkcji. Jeśli żądanie będzie w przyszłości szykiem zamiast jednym zasobem, wszystkie elementy w szyku zostaną zapisane.
Przykładowy identyfikator URI
POST /api/production-orders/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
workers
wartość logiczna (opcjonalne)
pokaż listę pracowników w odpowiedzi
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetl listę zamówień produkcji
GET /api/production-orders/{?access_token}
Pozwala wyświetlić listę zamówień produkcji. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 ZP na stronę.
Przykładowy identyfikator URI
GET /api/production-orders/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
start-date-before
data (opcjonalne)
wyświetl listę zamówień produkcji z wcześniejszą datą rozpoczęcia
start-date-after
data (opcjonalne)
wyświetl listę zamówień produkcji z późniejszą datą rozpoczęcia
due-date-before
data (opcjonalne)
wyświetl listę zamówień produkcji z wcześniejszym terminem
due-date-after
data (opcjonalne)
wyświetl listę zamówień produkcji z późniejszym terminem
running-status
ciąg (opcjonalne)
notstarted, started, closed, archived
aktywny
wartość logiczna (opcjonalne)
wyświetl tylko aktywne (true) lub nieaktywne (false) zamówienia produkcji
product
ciąg (opcjonalne)
kod produktu
maszyna
ciąg (opcjonalne)
kod maszyny
workers
wartość logiczna (opcjonalne)
pokaż listę pracowników w odpowiedzi
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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 }]
Powiadamianie o problemie dotyczącym zamówienia produkcji
POST /api/production-orders/{id}/notify{?access_token}
Usługa, która wysyła krótki komunikat w źródle i dodaje komunikat na temat zamówienia produkcji.
short-message (ciąg, wymagane) — komunikat zamieszczony w kanale informacyjnym, maks. długość 140 znaków
message (ciąg, opcjonalne) — komunikat dodany do sekcji uwagi w ZP
Przykładowy identyfikator URI
POST /api/production-orders/id/notify?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia produkcji
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "short-message": "example", "message": "complete message "}
Odpowiedź 200
Odpowiedź 200
Aktywowanie zamówienia produkcji
POST /api/production-orders/{id}/activate{?access_token}
Usługa aktywująca zamówienie produkcji.
Przykładowy identyfikator URI
POST /api/production-orders/id/activate?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator zamówienia produkcji
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{}
Odpowiedź 200
Odpowiedź 200
Odpowiedź 204
Odpowiedź 204
Tekst główny
Production Order was already active
Odpowiedź 405
Odpowiedź 405
Tekst główny
Production Order was closed or archived and cannot be activated
Produkty
Zasoby produktu interfejsu API programu Prodsmart.
PRODUCT
Pojedynczy obiekt produktu. Zasób produktu jest jednym z najważniejszych zasobów interfejsu API programu Prodsmart. Reprezentuje on produkty w zakładzie produkcyjnym i zawiera operacje niezbędne do ich produkcji. Ta metoda umożliwia utworzenie nowych produktów i ich operacji. Może być również użyta
Zasób produktu ma następujące atrybuty:
code (ciąg, wymagane) — kod produktu
name (ciąg, wymagane) — nazwa produktu
section (ciąg, opcjonalne)
families (tablica, opcjonalne)
operations (tablica, opcjonalne) — operacje służące do tworzenia produktu
code (ciąg, wymagane) — kod operacji
name (ciąg, wymagane) — nazwa operacji
waste (tablica, opcjonalne)
task-durations (tablica, opcjonalne, maks.:1)
duration (czas, opcjonalne, np. format „10H59m59s”) — teoretyczny średni czas wykonania tej operacji
duration-customer (czas, opcjonalne, np. format „10H59m59s”) — czas określony w budżecie
ratio-quantity (double, opcjonalne, wartość domyślna: 1.0) — objętość wytworzona w każdym wystąpieniu tej operacji
times-per-product (liczba całkowita, opcjonalne, wartość domyślna: 1) — ile razy należy wykonać tę operację, aby ukończyć jednostkę produktu
custom-fields (tablica, opcjonalne, musi istnieć w systemie) — pola niestandardowe, które mają zostać dodane do operacji
name (ciąg, wymagane) — nazwa pola niestandardowego, już utworzona w systemie
machines (tablica, opcjonalne, musi istnieć w systemie) — maszyny, których można użyć do wykonania operacji
code (ciąg, wymagane) — kod maszyny, już utworzony w systemie
disabled (logiczne, opcjonalne) — wyłącz operację
optional (wartość logiczna, opcjonalne) — ustaw operację jako opcjonalną
recovery (logiczne, opcjonalne) — ustaw operację jako odzyskiwanie
no-time (wartość logiczna, opcjonalne) — nie rejestruj czasu produkcji
no-quantity (wartość logiczna, opcjonalne) — nie rejestruj ilości w produkcji
as-team (operacja logiczna, opcjonalne) — operacja do wykonania jako zespół
max-waste-threshold (double, opcjonalne) — maksymalny dopuszczalny współczynnik odpadów
Pola nieobecne w żądaniu zostaną ustawione z wartościami domyślnymi. W przypadku używania tej metody do istniejących produktów/operacji nieobecne pola będą traktowane jako usunięcia.
Pobieranie produktu
GET /api/products/{code}{?access_token}
Aby pobrać produkt, wystarczy wykonać żądanie GET z kodem produktu. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/products/code?access_token=
Parametry URI
Parametry URI
code
ciąg (wymagane)
Kod produktu.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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}
Odpowiedź 404
Odpowiedź 404
Tekst główny
If product with the provided code doesn't exist.
Tworzenie produktu
POST /api/products{?access_token}
Aby utworzyć produkt, należy podać skrót JSON atrybutów nowego produktu i jego operacji. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Można utworzyć wiele operacji jednocześnie.
Przykładowy identyfikator URI
POST /api/products?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Aktualizowanie produktu
PUT /api/products/{code}{?access_token}
Aby zaktualizować produkt, należy podać skrót JSON atrybutów istniejącego produktu i jego operacji. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie można zapisać tylko jeden produkt, ale jednocześnie można utworzyć wiele operacji.
Przykładowy identyfikator URI
PUT /api/products/code?access_token=
Parametry URI
Parametry URI
code
ciąg (wymagane)
Kod produktu.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie produktu
Usuń /api/products/{code}{?access_token}
Aby usunąć produkt, należy podać kod produktu.
Przykładowy identyfikator URI
Usuń /api/products/code?access_token=
Parametry URI
Parametry URI
code
ciąg (wymagane)
Kod produktu.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetlanie listy produktów
GET /api/products{?access_token}
Pozwala wyświetlić listę produktów i ich operacji. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/products?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
product-family-code
ciąg (opcjonalne)
wyświetl listę produktów należących do podanej rodziny produktów
modification-date
data (opcjonalne)
wyświetl listę produktów zmodyfikowanych za pośrednictwem systemu zaplecza po podanej dacie
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
ZESTAWIENIE MATERIAŁÓW PRODUKTU
W zestawieniu materiałów produktu (BoM) określone są materiały używane do wytwarzania określonego produktu. Zestawienie materiałów zawiera następujące atrybuty:
product-code — produkt główny
bom (tablica, wymagane)
product-code (ciąg, wymagane) — kod produktu komponentu/zużycia
quantity (double, wymagane) — ilość
operation-code (ciąg, opcjonalne) — kod operacji, w którym użyty jest materiał zdefiniowany w polu product-code. Jeśli wartość jest pusta, zużycie nastąpi przy pierwszej operacji procesu produkcyjnego tego produktu.
Aktualizowanie zestawienia materiałów produktu
POST /api/bom{?access_token}
Aby zaktualizować zestawienie materiałów produktu, należy podać skrót JSON atrybutów nowego produktu i jego operacji. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
POST /api/bom?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "product-code": "bicycle", "bom": [ { "product-code": "wheel", "quantity": 2, "operation-code": "assemble" }, { "product-code": "seat", "quantity": 1, "operation-code": "assemble" } ]}
Odpowiedź 201
Odpowiedź 201
{ "product-code": "bicycle", "bom": [ { "product-code": "wheel", "quantity": 2, "operation-code": "assemble" }, { "product-code": "seat", "quantity": 1, "operation-code": "assemble" } ]}
Odpowiedź 404
Odpowiedź 404
Tekst główny
Main product not found
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
ZAPASY PRODUKTU
Zasób zapasów określa zapasy dostępne na potrzeby określonego produktu.
product-code (ciąg, wymagane)
stock (double, wymagane)
date (data, opcjonalne) — data liczenia zapasów
Aktualizowanie zapasów produktu
POST /api/stock{?access_token}
Aby zaktualizować zapasy produktu, należy podać skrót JSON atrybutów dla jego bieżących zapasów. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
POST /api/stock?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "product-code": "bicycle", "stock": 200.5, "date": "2023-08-16T17:15:15Z"}
Odpowiedź 201
Odpowiedź 201
Tekst główny
Request successful
Odpowiedź 404
Odpowiedź 404
Tekst główny
Product not found
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Rodziny produktów
Zasoby produktu interfejsu API programu Prodsmart.
RODZINA PRODUKTÓW
Obiekt rodziny produktów reprezentuje rodzinę lub rodziny, do których należy produkt.
Zasób rodziny produktów ma następujące atrybuty:
code (ciąg, wymagane) — kod rodziny produktów
name (ciąg, wymagane) — nazwa rodziny produktów
Tworzenie rodziny produktów
POST /api/product-families{?access_token}
Pozwala utworzyć jedną lub więcej rodzin produktów. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
POST /api/product-families?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "product-families": [ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" } ]}
Odpowiedź 201
Odpowiedź 201
Tekst główny
[ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" }]
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie rodziny produktów
Usuń /api/product-family/{code}{?access_token}
Aby usunąć rodzinę produktów, należy podać kod rodziny produktów
Przykładowy identyfikator URI
Usuń /api/product-family/code?access_token=
Parametry URI
Parametry URI
code
ciąg (wymagane)
Kod produktu.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
Content-Type: application/json
Odpowiedź 204
Odpowiedź 204
Tekst główny
Product Family was deleted
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetlanie listy rodzin produktów
GET /api/product-families{?access_token}
Pozwala wyświetlić listę rodzin produktów. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/product-families?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 201
Odpowiedź 201
Tekst główny
[ { "code": "FAM 1", "name": "Family 1" }, { "code": "FAM 2", "name": "Family 2" }]
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Maszyny
Zasoby produkcji interfejsu API programu Prodsmart.
LICZNIK
Licznik aktualizacji
POST /api/machines/{machine_code}/counter{?access_token}
Aby zaktualizować bieżący licznik na maszynie, wystarczy wysłać następujące żądanie. Aby uprościć połączenie z maszyną, można użyć tokenu access_token lub wysłać dane uwierzytelniające API w nagłówku uwierzytelniania z podstawowym uwierzytelnianiem. Program Prodsmart automatycznie zaktualizuje produkcję rozpoczętą przez pracownika na danej maszynie. Liczniki ilości i odpadów muszą być przyrostowe (tzn. zawsze większe niż poprzednio wysłane).
Przykładowy identyfikator URI
POST /api/machines/machine_code/counter?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
machine_code
ciąg (wymagane)
Kod maszyny zdefiniowany na platformie Prodsmart
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "count": 500, "waste": [ { "code": "Waste1", "quantity": 20 } ], "parameters": [ { "name": "parameter1", "value": "value1" }, { "name": "parameter2", "value": "2022-12-19T00:00:00Z" }, { "name": "parameter3", "value": 1 } ]}
Odpowiedź 200
Odpowiedź 200
Tekst główny
Returns the new value for the machine's counter.
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
PARAMETRY
Aktualizowanie parametrów
POST /api/machines/{machine_code}/parameters{?access_token}
Aby zaktualizować parametr maszyny, wystarczy wysłać następujące żądanie. Aby uprościć połączenie z maszyną, można użyć tokenu access_token lub wysłać dane uwierzytelniające API w nagłówku uwierzytelniania z podstawowym uwierzytelnianiem. Po przekazaniu tych parametrów, jeśli rekord produkcyjny to
Przykładowy identyfikator URI
POST /api/machines/machine_code/parameters?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
machine_code
ciąg (wymagane)
Kod maszyny zdefiniowany na platformie Prodsmart
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "parameters": [ { "code": "temperature", "value": 25 }, { "code": "valid", "value": "yes" } ]}
Odpowiedź 200
Odpowiedź 200
PRZESTÓJ
Aktualizowanie przestoju
POST /api/machines/{machine_code}/startstop{?access_token}
Aby zaktualizować bieżący stan na maszynie, wystarczy wysłać następujące żądanie. Aby uprościć połączenie z maszyną, można użyć tokenu access_token lub wysłać dane uwierzytelniające API w nagłówku uwierzytelniania z podstawowym uwierzytelnianiem. Prodsmart automatycznie zarejestruje przestój lub go zakończy, zgodnie z otrzymanymi informacjami. Wyślij 0, jeśli maszyna jest zatrzymana, 1, jeśli jest włączona, i określ typ czasu przestoju.
Aby zaktualizować stan maszyny, określ następujące atrybuty:
type (ciąg, wymagane, musi być typem przestoju już przypisanym do maszyny) — typ przestoju
running (liczba, wymagane, 0 lub 1) — oznacza, że maszyna została zatrzymana (0) lub uruchomiona (1)
Przykładowy identyfikator URI
POST /api/machines/machine_code/startstop?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
machine_code
ciąg (wymagane)
Kod maszyny zdefiniowany na platformie Prodsmart
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "type": "Maintenance", "running": 0}
Odpowiedź 200
Odpowiedź 200
Produkcja
Zasoby produkcji interfejsu API programu Prodsmart.
PRODUCTION
Pojedynczy obiekt produkcji. Zasób produkcji jest centralnym zasobem interfejsu API programu Prodsmart. Reprezentuje on pracę jednego pracownika na stanowisku w danym okresie czasu.
Zasób produkcji ma następujące atrybuty:
id
start-time (data, wymagane, format RRRR-MM-DDTGG:MM:SSZ) — czas rozpoczęcia produkcji
end-time (data, wymagane, format RRRR-MM-DDTHH:MM:SSZ) — czas zakończenia produkcji
work-time (czas trwania, podane, format 00H00m00s) — czas pracy produkcji (w ramach czasu harmonogramu / zegarów czasu pracy i z wyłączeniem przestojów)
production-order (opcjonalne) — zamówienie produkcji, dla którego wykonano tę produkcję
code (ciąg, wymagane) — kod zamówienia produkcji
id (ciąg, wymagane)
operation (wymagane) — zadanie wykonane w tej produkcji
code (ciąg, wymagane, niepowtarzalne) — kod zadania
product (wymagane) — materiał, z którym pracownik pracuje na tym stanowisku
quantity (liczba całkowita, wymagane, >0) — ilość wyprodukowana w tej produkcji
worker (wymagane) — osoba wykonująca zadania
number (długie, wymagane, niepowtarzalne) — numer pracownika
produced-waste (tablica, opcjonalne) — wadliwe materiały wytworzone podczas operacji
quantity (wartość liczbowa, wymagane) — kod odpadu
waste — rodzaj wadliwego materiału
code (ciąg, wymagany, niepowtarzalny) — kod odpadu
description (ciąg, wymagane) — opis odpadu
flaw (ciąg, wymagane) — typ odpadu
quantity (liczba całkowita, wymagane) — ilość wytworzonych odpadów
Identyfikator stanu jest przypisywany przez interfejs API programu Prodsmart w momencie tworzenia.
Aktualizowanie produkcji
PUT /api/productions/{id}{?access_token}
Aby zaktualizować produkcję, należy podać skrót JSON atrybutów istniejącej produkcji. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie można zapisać tylko jeden produkt, ale jednocześnie można utworzyć wiele operacji.
Przykładowy identyfikator URI
PUT /api/productions/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator produkcji.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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}
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Usuwanie produkcji
Usuń /api/productions/{id}{?access_token}
Aby usunąć produkcję, należy podać identyfikator produkcji.
Przykładowy identyfikator URI
Usuń /api/productions/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator produkcji.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
Content-Type: application/json
Odpowiedź 201
Odpowiedź 201
Tekst główny
{ "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}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body
Wyświetlanie listy produkcji
GET /api/productions{?access_token}
Pozwala wyświetlić listę produkcji. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 produkcji na stronę.
Przykładowy identyfikator URI
GET /api/productions?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
production-order-id
wartość numeryczna (opcjonalne)
wyświetl listę produkcji z tym zamówieniem produkcji
production-order-code
ciąg (opcjonalne)
wyświetl listę produkcji z tymi zamówieniami produkcji
worker
wartość numeryczna (opcjonalne)
wyświetl listę produkcji dla tego pracownika (numer pracownika)
start-time-before
data (opcjonalne)
wyświetl listę produkcji z wcześniejszym czasem rozpoczęcia
start-time-after
data (opcjonalne)
wyświetl listę produkcji z późniejszym czasem rozpoczęcia
end-time-before
data (opcjonalne)
wyświetl listę produkcji z wcześniejszym czasem rozpoczęcia
end-time-after
data (opcjonalne)
wyświetl listę produkcji z czasem zakończenia po niej
start-time
data (opcjonalne)
wyświetl listę produkcji uruchomionych po tym czasie rozpoczęcia (nie używaj w połączeniu z opcją before-after)
checked-out
wartość logiczna (opcjonalne)
wyświetl listę produkcji, które są wypisane
worker-name
wartość logiczna (opcjonalne)
pobiera nazwę i numer pracownika zamiast tylko numeru pracownika.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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 }]
Przestój
Zasoby przestojów interfejsu API programu Prodsmart.
PRZESTOJE
Wyświetl listę przestojów
GET /api/downtimes{?access_token}
Pozwala wyświetlić listę przestojów. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/downtimes?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
start-time-before
data (opcjonalne)
wyświetl listę przestojów z czasem rozpoczęcia przed nią
start-time-after
data (opcjonalne)
wyświetl listę przestojów z czasem rozpoczęcia po niej
end-time-before
data (opcjonalne)
wyświetl listę przestojów z czasem zakończenia przed nią
end-time-after
data (opcjonalne)
wyświetl listę przestojów z czasem zakończenia po niej
maszyna
wartość numeryczna (opcjonalne)
wyświetl przestojów na tej maszynie
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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" }]
Zegar czasu pracy
Zasoby zegara czasu pracy interfejsu API programu Prodsmart.
ZEGAR CZASU PRACY
Elementy webhook są dostępne w przypadku zdarzeń zegara czasu pracy z menu integracji w aplikacji. Aby użyć tej funkcji, dodaj wywołanie zwrotne adresu URL punktu końcowego ze zdarzeniami powiadamiania, których chcesz nasłuchiwać. Staramy się wysyłać powiadomienia webhook niezwłocznie po wystąpieniu zdarzeń w naszym systemie. Obecnie nie obsługujemy ponownych prób.
Wyświetl listę zegarów czasu pracy
GET /api/punchclocks{?access_token}
Aby wyświetlić listę zegarów czasu pracy. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/punchclocks?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
date-before
data (opcjonalne)
wyświetl listę zegarów czasu pracy z wcześniejszą datą
date-after
data (opcjonalne)
wyświetl listę zegarów czasu pracy z późniejszą datą
worker
wartość numeryczna (opcjonalne)
wyświetl listę wpisów zegara czasu pracy dla tego pracownika
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[{ "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')
Ruch magazynowy
Zasoby ruchu magazynowego interfejsu API programu Prodsmart.
RUCH MAGAZYNOWY
Pojedynczy obiekt ruchu magazynowego. Zasób ruchu magazynowego jest jednym z najważniejszych zasobów interfejsu API programu Prodsmart.
Zasób ruchu magazynowego ma następujące atrybuty:
id (dostarczone)
product (ciąg, wymagane) — kod produktu
date-time (data, opcjonalne, format RRRR-MM-DDTGG:MM:SSZ) — data utworzenia ruchu magazynowego.
quantity (double, wymagane) — ilość ruchu magazynowego
type (ciąg, wymagane) — typ ruchu magazynowego: do, z, zużycie, produkcja
lot (ciąg, opcjonalne) — partia ruchu magazynowego do użycia
total-cost (wartość dziesiętna, opcjonalne) — całkowity koszt ruchu magazynowego w przypadku ilości
warehouse-location (ciąg, opcjonalne) — kod lokalizacji magazynu
warehouse (ciąg, opcjonalne) — kod magazynu
location (ciąg, opcjonalne) — lokalizacja, w przypadku wielu lokalizacji
comment (ciąg, opcjonalne) — komentarz do ruchu magazynowego
Pobieranie ruchu magazynowego
GET /api/inventory-movements/{id}{?access_token}
Aby pobrać ruch magazynowy, wystarczy wykonać żądanie GET z identyfikatorem ruchu magazynowego. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/inventory-movements/id?access_token=
Parametry URI
Parametry URI
id
wartość numeryczna (wymagane)
Identyfikator ruchu magazynowego.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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" } }}
Tworzenie ruchu magazynowego
POST /api/inventory-movements/{?access_token}
Aby utworzyć ruch magazynowy, należy podać skrót JSON atrybutów nowego ruchu magazynowego. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Obecnie można zapisać tylko jeden ruch magazynowy. Jeśli żądanie będzie w przyszłości szykiem zamiast jednym zasobem, wszystkie elementy w szyku zostaną zapisane.
Przykładowy identyfikator URI
POST /api/inventory-movements/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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"}
Odpowiedź 200
Odpowiedź 200
Tekst główny
{ "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" } }}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body.
Aktualizacja ruchu magazynowego
PUT /api/inventory-movements/{id}{?access_token}
Aby zaktualizować ruch magazynowy, należy podać plik JSON z atrybutami do zaktualizowania w ruchu magazynowym (wszystkie atrybuty są opcjonalne). Ta operacja wymaga access_token
z productions_write scope
.
Przykładowy identyfikator URI
PUT /
api/inventory-movements/id?access_token=
Parametry URI
Parametry URI
id
numeric
(wymagane)
Identyfikator ruchu magazynowego.
access_token
string
(wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Tekst główny
{ "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" }
Usuwanie ruchu magazynowego
Usuń /api/inventory-movement/{id}{?access_token}
Aby usunąć ruch magazynowy, należy podać identyfikator ruchu magazynowego.
Przykładowy identyfikator URI
DELETE /api/inventory-movement/id?access_token=
Parametry URI
Parametry URI
id
numeric
(wymagane)
Identyfikator ruchu magazynowego.
access_token
string
(wymagane)
Token dostępu do interfejsu API programu Prodsmart.
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 204
Odpowiedź 400
Odpowiedź 400
It's not possible to delete this inventory-movement.
Wyświetl listę ruchów magazynowych
GET /api/inventory-movements/{?access_token}
Pozwala wyświetlić listę ruchów magazynowych. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write. Ta usługa jest stronicowana i zwraca 25 IM na stronę.
Przykładowy identyfikator URI
GET /api/inventory-movements/?access_token=
Parametry URI
Parametry URI
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
product-code
ciąg (opcjonalne)
kod produktu
typ
ciąg (opcjonalne)
typ ruchu magazynowego: do, z, zużycie, produkcja
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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" } } }]
Zapasy
Zasoby zapasów interfejsu API programu Prodsmart.
Pobieranie zapasów produktu
GET /api/stock/{code}{?access_token}
Aby pobrać zapasy produktu, wystarczy wykonać żądanie GET z kodem produktu. Wiele parametrów będzie traktowanych jako warunek AND. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/stock/code?access_token=
Parametry URI
Parametry URI
code
ciąg (wymagane)
Kod produktu.
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart.
lot
ciąg (opcjonalne)
Pobierz kod partii i ilość zapasów do partii produktu
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
{"product-code": "Example","stock": 35,"lot": [ { "code": "A", "stock": 10 }, { "code": "B", "stock": 5 }}
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body.
Raporty
Zasoby raportowania interfejsu API programu Prodsmart.
Czas pracy pracownika
Czas pracy pracownika GET/api/reports/worker-labor-time{?access_token}
Aby pobrać raport, wystarczy wykonać żądanie GET z interwałem wyodrębniania raportu. Można dodać pracownika i parametr sekcji, aby filtrować raport. Ponadto można określić kilka flag, aby dostosować zawartość raportu. Domyślną wartością dla wszystkich znaczników jest false. Ta operacja wymaga tokenu dostępu z zakresem productions_write.
Przykładowy identyfikator URI
GET /api/reports/worker-labor-time?access_token=
Parametry URI
Parametry URI
start-time
ciąg (wymagane)
Generuj raport do dat późniejszych (uwzględnione)
end-time
ciąg (wymagane)
Generuj raport do dat wcześniejszych (uwzględnione)
access_token
ciąg (wymagane)
Token dostępu do interfejsu API programu Prodsmart
worker-number
ciąg (opcjonalne)
Określ numer pracownika, aby filtrować raport
section
ciąg (opcjonalne)
Określ nazwę sekcji. Wszyscy pracownicy z tej sekcji zostaną uwzględnieni w raporcie
show-rework
wartość logiczna (opcjonalne)
Uwzględnij w raporcie nowe pole z operacjami dotyczącymi przeróbek
show-weekend
wartość logiczna (opcjonalne)
Uwzględnij dni tygodnia w danych
only-punch-clock
wartość logiczna (opcjonalne)
Uwzględniaj czas obecności tylko przy użyciu wpisów zegara czasu pracy
page
wartość numeryczna (opcjonalne)
indeks strony wyników, począwszy od 1
Żądanie
Żądanie
Nagłówki
Content-Type: application/json
Odpowiedź 200
Odpowiedź 200
Tekst główny
[ { "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" }]
Odpowiedź 400
Odpowiedź 400
Tekst główny
If there's a problem with the request, the problem found will be reported on the Response Body.
Odpowiedź 429
Odpowiedź 429
Tekst główny
Another request is ongoing for this endpoint. Please wait until the current request finishes before doing another.
Autoryzacja i kontrola dostępu
Dostęp do tokenu autoryzacji programu Prodsmart i jego kontrola.
AUTORYZACJA
Zasób autoryzacji reprezentuje autoryzację przyznaną firmie. Można uzyskać dostęp tylko do własnej autoryzacji. Używana autoryzacja to autoryzacja Basic, gdzie nagłówek Authentication ma postać <base64 zakodowana wartość API_KEY:API_SECRET>. Aby uzyskać klucz i klucz tajny interfejsu API, zaloguj się do programu Prodsmart i edytuj użytkownika. (Uwaga: aby uzyskać dostęp do tej funkcji, musisz mieć uprawnienia administratora). Zasób autoryzacji ma następujący atrybut:
token
scopes
Gdzie token oznacza token, a scopes jest szykiem zakresów przyznanych dla danej autoryzacji. W tej chwili jedynym dostępnym zakresem jest productions_write
.
Pobieranie autoryzacji
GET /api/authorization
Użyj polecenia GET, aby pobrać istniejący token dostępu. Jeśli token jeszcze nie istnieje, można go wygenerować za pomocą metody POST.
Przykładowy identyfikator URI
GET /api/authorization
Żądanie
Żądanie
Nagłówki
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Odpowiedź 200
Odpowiedź 200
Nagłówki
Content-Type: application/jsonLink: <http:/api.prodsmart.com/api/authorizations>;rel="self"
Tekst główny
{ "_links": { "self": { "href": "/api/authorizations" }, }, "scopes": [ "productions_write" ], "token": "abc123"}
Tworzenie autoryzacji
POST /api/authorization
Użyj polecenia POST, aby wygenerować nowy token dostępu.
Przykładowy identyfikator URI
POST /api/authorization
Żądanie
Żądanie
Nagłówki
Content-Type: application/jsonAuthorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Tekst główny
{ "scopes": [ "productions_write" ] }
Odpowiedź 201
Odpowiedź 201
Nagłówki
Content-Type: application/jsonLink: <http:/api.prodsmart.com/api/authorizations>;rel="self"
Tekst główny
{ "_links": { "self": { "href": "/api/authorizations" }, }, "scopes": [ "productions_write" ], "token": "abc123"}
Usuwanie autoryzacji
Usuń /api/authorization
Przykładowy identyfikator URI
DELETE /api/authorization
Żądanie
Żądanie
Nagłówki
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Odpowiedź 204
Odpowiedź 204