Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Walidator (ang. validator) – jest skryptem sprawdzającym poprawność przekazywanych informacji w strukturze o określonej składni (JSON w przypadku metody POST
lub jako parametr w przypadku metody GET
). W przypadku platformy ShipX przeprowadzamy kilka wariantów walidacji jednocześnie.
Wraz z wysłaniem żądania, przekazywane są wartości podlegające walidacji, dzięki której przekazywane dane zgodne są z założeniami platformy, przyjmującej żądanie.
Dane, które nie spełniają założeń walidacji, nie są zapisywane przez platformę. Użytkownik w takim przypadku informowany jest czytelnym komunikatem zwrotnym.
Zasób posiada informacje dot. walidacji formularzy wykorzystywanych w ShipX.
Na tej stronie
Table of Contents |
---|
Custom Attributes Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut jest wymagany dla poniższych serwisów: |
| String | Atrybut jest wymagany dla poniższych serwisów: Wymagalność przekazania atrybutu Powyższa wymagalność występuje wyłącznie dla następujących wartości atrybutu |
| String | Atrybut jest wymagany dla poniższych serwisów: Dopuszczalne wartości ( |
Insurance Form
Atrybut | Typ | Walidacja |
---|---|---|
| Decimal | Atrybut jest wymagany dla poniższych serwisów:
Minimum |
| String | Atrybut nie jest wymagany, domyślna wartość PLN |
Parcels Simple Form
Atrybut | Typ | Walidacja |
---|---|---|
| Dimensions Simple Form | Atrybut nie jest wymagany, wymagalność pojawia się z chwilą kiedy |
| String | Atrybut nie jest wymagany, wymagalność pojawia się z chwilą kiedy |
| Weight Simple Form | Atrybut nie jest wymagany, wymagalność pojawia się z chwilą kiedy |
| String | Atrybut nie jest wymagany |
| Boolean | Atrybut nie jest wymagany, domyślna wartość |
Dodatkowa walidacja:
Przekazując kolekcję, pojawia się wymagalność przekazania atrybutu id
w obiekcie paczki, jeśli atrybut id
nie zostanie przekazany, użytkownik otrzyma stosowny komunikat.
Przekazując kolekcję, pojawia się wymagalność przekazania atrybutu id
w obiekcie paczki, jeśli atrybut id
nie będzie unikatowy w ramach żądania, użytkownik otrzyma stosowny komunikat.
Dimensions Simple Form
Atrybut | Typ | Walidacja |
---|---|---|
| Float | Atrybut jest wymagany, minimum 1 mniej niż 1000000, możliwość przekazania pustego atrybutu. |
| Float | Atrybut jest wymagany, minimum 1 mniej niż 1000000, możliwość przekazania pustego atrybutu. |
| Float | Atrybut jest wymagany, minimum 1 mniej niż 1000000, możliwość przekazania pustego atrybutu. |
| String | Atrybut nie jest wymagany, domyślna wartość mm |
Weight Simple Form
Atrybut | Typ | Walidacja | |
---|---|---|---|
| Float | Atrybut jest wymagany, minimum 1 mniej niż 10000000, możliwość przekazania pustego atrybutu. | |
| String | Atrybut nie jest wymagany, domyślna wartość kg |
Receiver Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut Maksimum 255 znaków. |
| String | Atrybut nie jest wymagany, (podana wartość nie jest widoczna na etykiecie) Maksimum 255 znaków. |
| String | Atrybut nie jest wymagany, możliwość przekazania pustego atrybutu, w przypadku przesyłek Paczkomat® atrybut jest wymagany. |
| String | Atrybut jest wymagany. Tylko 9 cyfr (333222111) |
| Address Form | Atrybut jest wymagany dla poniższych serwisów: |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut |
Sender Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut |
| String | Atrybut nie jest wymagany, możliwość przekazania pustego atrybutu. |
| String | Atrybut jest wymagany. Tylko 9 cyfr (333222111) |
| Address Form | Atrybut jest wymagany dla poniższych serwisów:
|
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut |
Address Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy zostanie przekazany atrybut Maksimum 255 znaków. |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy zostanie przekazany atrybut Maksimum 255 znaków. |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy zostanie przekazany atrybut Maksimum 255 znaków. |
| String | Atrybut nie jest wymagany |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy zostanie przekazany atrybut |
| String | Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy zostanie przekazany atrybut |
Create Address Form
Atrybut | Typ | Walidacja | |
---|---|---|---|
| String | Atrybut jest wymagany, maksymalna długość 255 znaków, warunkiem walidacji atrybutu jest nieprzekazanie atrybutów | |
| String | Atrybut jest wymagany, maksymalna długość 255 znaków, warunkiem walidacji atrybutu jest nieprzekazanie atrybutów | |
| String | Atrybut jest wymagany, maksymalna długość 255 znaków, warunkiem walidacji atrybutu jest przekazanie atrybutu | |
| String | Atrybut nie jest wymagany, maksymalna długość 255 znaków | |
| String | Atrybut jest wymagany, maksymalna długość 255 znaków | |
| String | Atrybut jest wymagany, format adresu zgodnie z konwencją Polskiego adresu pocztowego np. | |
| String | Atrybut nie jest wymagany, minimum 2 znaki, maksimum 3 znaki |
Cod Form
Atrybut | Typ | Walidacja |
---|---|---|
| Decimal | Atrybut nie jest wymagany. Z chwilą przekazania danych system oczekuje wartości z przedziału od |
| String | Atrybut nie jest wymagany, domyślna wartość PLN |
Shipment Select Offers Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany |
| Integer | Atrybut jest wymagany
|
| Integer | Atrybut jest wymagany
|
Bulk Buy Shipments Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany |
| Integer | Atrybut jest wymagany
|
| Integer | Atrybut jest wymagany
|
Format Parameters Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany |
| String | Atrybut nie jest wymagany |
| String | Atrybut nie jest wymagany |
| Array[Integer] | Atrybut nie jest wymagany |
Mapping Form
Atrybut | Typ | Walidacja |
---|---|---|
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
| String | Atrybut nie jest wymagany, defaultowa wartość null |
Kody odpowiedzi HTTP
Kody odpowiedzi HTTP, które mogą wystąpić w odpowiedzi od serwera:
Kod HTTP | Opis |
---|---|
| Odpowiedź prawidłowa. |
| Zasób został utworzony. |
| Odpowiedź prawidłowa, żadna wartość nie została zwrócona. Spotykane np. podczas usuwania zasobów. |
| Dane przesłane metodą |
| Dostęp do zasobu wymaga autoryzacji. |
| Brak lub zestaw uprawnień jest niewystarczający, aby uzyskać dostęp do określonego zasobu. |
| Zasób nie został odnaleziony. |
| Wystąpił błąd po stronie serwera. |
Błędy
W przypadku wystąpienia błędu API zwraca obiekt błędu, który zawiera następujące atrybuty:
Atrybut | Typ | Opis | ||
---|---|---|---|---|
| Integer | Kod odpowiedzi HTTP. Zobacz tabelę powyżej. | ||
| String | Klucz błędu, jednoznacznie identyfikujący problem. | ||
| String | Prosty, łatwy do zrozumienia opis błędu.
| ||
| Object | Szczegóły dotyczące błędu, który wystąpił, np. lista błędów walidacji. Może być puste w przypadku błędów, których nie dotyczy. |
Przykładowa odpowiedź:
Code Block |
---|
HTTP/1.1 404 Not Found { "status": 404, "error": "resource_not_found", "message": "Resource you are looking for are not found", "details: {} } |
W przypadku zapytania przesłanego metodą POST
lub PUT
mogą wystąpić błędy walidacji. Szczegóły na ich temat umieszczane są pod atrybutem details
w odpowiedzi:
Code Block |
---|
HTTP/1.1 400 Bad Request { "status": 400, "error": "validation_failed", "message": "Data sent by POST or PUT request are not valid. Check details for more info", "details: { "name": ["required", "too_short"], "post_code": ["invalid_format"] } } |
Note |
---|
Kluczami obiektu |
Klucze błędów
Poniższa tabela przedstawia klucze błędów, które mogą zostać zwrócone przez serwer, wraz z możliwymi kodami HTTP:
Klucz błędu | Kod HTTP | Opis |
---|---|---|
|
| Szukany zasób nie został odnaleziony, np. adres URL jest niepoprawny lub zasób nie istnieje. |
|
| Przy przesyłaniu danych metodą |
|
| Dostęp do zasobu jest niemożliwy, ponieważ zapytanie nie zostało podpisane kluczem access token. |
|
| Dostęp do określone zasobu jest zabroniony dla tego zapytania (np. z powodu braku lub niewłaściwego zakresu uprawnień). |
Klucze błędów walidacji
Poniższa tabela przedstawia generyczne klucze błędów walidacji, które zwracane są pod atrybutem details
dla odpowiedzi błędu validation_failed
:
Klucz błędu | Opis |
---|---|
| Podanie wartości jest wymagane. |
| Podana wartość jest nieprawidłowa. Szczegóły w dokumentacji opisującej zasób. |
| Podana wartość jest zbyt krótka. Szczegóły w dokumentacji opisującej zasób. |
| Podana wartość jest zbyt długa. Szczegóły w dokumentacji opisującej zasób. |
| Podana wartość jest zbyt mała. Dotyczy głównie wartości liczbowych. Szczegóły w dokumentacji opisującej zasób. |
| Podana wartość jest zbyt duża. Dotyczy głównie wartości liczbowych. Szczegóły w dokumentacji opisującej zasób. |
| Podana wartość ma niepoprawny format, np. gdy w pole numer telefonu zostały wpisane cyfry. |
Info |
---|
Oprócz powyższych błędów walidacji mogą wystąpić inne, które są specyficzne dla określonych zasobów. Szczegółów należy szukać w rozdziałach właściwych dla tych zasobów. |