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

 

Custom Attributes Form

Atrybut
Typ
Walidacja
target_pointStringAtrybut nie jest wymagany
dropoff_pointString

Atrybut nie jest wymagany, wymagalność przekazania atrybutu dropoff_pointwystępuje wraz z przekazaniem atrybutu sending_method

Powyższa wymagalność występuje wyłącznie dla następujących wartości atrybutu sending_method (parcel_locker, pok, courier_pok)

allegro_transaction_idString

Atrybut nie jest wymagany

Z chwilą przekazania wartości, system weryfikuje czy przekazane dane są zgodne z oczekiwanymi, jeśli przekazana wartość jest nieprawidłowa, użytkownik otrzyma stosowny komunikat.

Parametr postBuyFormId powinien być pobierany metody doGetPostBuyFormsDataForSellers dostępnej z poziomu Allegro, https://allegro.pl/webapi/documentation.php/show/id,703#method-output

allegro_user_idString

Atrybut nie jest wymagany

Z chwilą przekazania wartości, system weryfikuje czy przekazane dane są zgodne z oczekiwanymi, jeśli przekazana wartość jest nieprawidłowa, użytkownik otrzyma stosowny komunikat.

Jeśli przekazanym atrybutem jest allegro_user_id, system przeprowadzi weryfikacje po stronie Allegro, jeśli Allegro zwróci wyjątek, użytkownik otrzyma stosowny komunikat.

Parametr userId powinien być pobierany z metody doGetUserID dostępnej z poziomu Allegro, https://allegro.pl/webapi/documentation.php/show/id,102#method-output

Atrybut allegro_user_id dotyczy sprzedającego.

sending_methodString

Atrybut nie jest wymagany, dopuszczalne wartości (parcel_locker, pok, pop, courier_pok, branch, dispatch_order), możliwość przekazania pustego atrybutu.

 

Insurance Form

Atrybut
Typ
Walidacja
insurance_amountDecimal

Atrybut nie jest wymagany

Minimum 1 mniej niż 10000000

insurance_currencyStringAtrybut nie jest wymagany, defoultowa wartość PLN

 

Parcels Simple Form

Atrybut
Typ
Walidacja
dimensionsDimensions Simple Form
Atrybut nie jest wymagany, wymagalność pojawia się z chwilą kiedy template nie zostanie przekazany.
templateStringAtrybut nie jest wymagany
weightWeight Simple FormAtrybut nie jest wymagany, wymagalność pojawia się z chwilą kiedy template nie zostanie przekazany.
idStringAtrybut nie jest wymagany
is_non_standardBooleanAtrybut nie jest wymagany, defoultowa wartość null

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
heightFloatAtrybut jest wymagany, minimum 1 mniej niż 1000000, możliwość przekazania pustego atrybutu.
lengthFloatAtrybut jest wymagany, minimum 1 mniej niż 1000000, możliwość przekazania pustego atrybutu.
widthFloatAtrybut jest wymagany, minimum 1 mniej niż 1000000, możliwość przekazania pustego atrybutu.
unitStringAtrybut nie jest wymagany, defoultowa wartość mm

 

Weight Simple Form

Atrybut
Typ
Walidacja
amountFloatAtrybut jest wymagany, minimum 1 mniej niż 10000000, możliwość przekazania pustego atrybutu.
unitStringAtrybut nie jest wymagany, defoultowa wartość mm

 

Receiver Form

Atrybut
Typ
Walidacja
company_nameString

Atrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut first_name,last_name oraz address.

Maksimum 255 znaków.

emailString

Atrybut nie jest wymagany, możliwość przekazania pustego atrybutu, w przypadku przesyłek paczkomatowych atrybut jest wymagany.

Podając adres email, walidujemy domenę zgodnie z listą domen zawartych w ApacheCommonValidator w wersji 1.6

phoneString

Atrybut jest wymagany,

addressAddress FormAtrybut jest wymagany,
first_nameStringAtrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut company_nameemail oraz phone
last_nameStringAtrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut company_nameemail oraz phone

 

Sender Form

Atrybut
Typ
Walidacja
company_nameStringAtrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut first_name oraz last_name
emailStringAtrybut nie jest wymagany, możliwość przekazania pustego atrybutu.
phoneStringAtrybut jest wymagany.
addressAddress FormAtrybut jest wymagany.
first_nameStringAtrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut company_namefirst_name lub last_name
last_nameStringAtrybut nie jest wymagany, wymagalność pojawia się w momencie kiedy nie zostanie przekazany atrybut company_namefirst_name lub last_name

 

Address Form

Atrybut
Typ
Walidacja
line1StringAtrybut nie jest wymagany
cityStringAtrybut nie jest wymagany
post_codeStringAtrybut nie jest wymagany
country_codeStringAtrybut nie jest wymagany
streetStringAtrybut nie jest wymagany
building_numberStringAtrybut nie jest wymagany

 

Create Address Form

Atrybut
Typ
Walidacja
streetStringAtrybut jest wymagany, maksymalna długość 255 znaków, warunkiem walidacji atrybutu jest nieprzekazanie atrybutów line1 / line2 lub przekazanie atrybutu building_number
building_numberStringAtrybut jest wymagany, maksymalna długość 255 znaków, warunkiem walidacji atrybutu jest nieprzekazanie atrybutów line1 / line2 lub przekazanie atrybutu street
line1StringAtrybut jest wymagany, maksymalna długość 255 znaków, warunkiem walidacji atrybutu jest przekazanie atrybutu line2
line2StringAtrybut nie jest wymagany, maksymalna długość 255 znaków
cityStringAtrybut jest wymagany, maksymalna długość 255 znaków
post_codeStringAtrybut jest wymagany, format adresu zgodnie z konwencją Polskiego adresu pocztowego np. 00-000
country_codeStringAtrybut nie jest wymagany, minimum 2 znaki, maksimum 3 znaki

 

Cod Form

Atrybut
Typ
Walidacja
cod_amountDecimalAtrybut nie jest wymagany, Z chwilą przekazania danych system oczekuje wartości z przedziału od 1do 10000000
cod_currencyStringAtrybut nie jest wymagany, defoultowa wartość PLN

 

Shipment Select Offers Form

Atrybut
Typ
Walidacja
idStringAtrybut nie jest wymagany
shipment_idInteger

Atrybut jest wymagany

  • Dopuszczalny format Integer
offer_idInteger

Atrybut jest wymagany

  • Dopuszczalny format Integer

 

Bulk Buy Shipments Form

Atrybut
Typ
Walidacja
idStringAtrybut nie jest wymagany
shipment_idInteger

Atrybut jest wymagany

  • Dopuszczalny format Integer
offer_idInteger

Atrybut jest wymagany

  • Dopuszczalny format Integer

 

Format Parameters Form

Atrybut
Typ
Walidacja
field_separatorStringAtrybut nie jest wymagany
character_encodingStringAtrybut nie jest wymagany
text_qualifierStringAtrybut nie jest wymagany
sheets_indexArray[Integer]Atrybut nie jest wymagany

 

Mapping Form

Atrybut
Typ
Walidacja
custom_attributesStringAtrybut nie jest wymagany, defaultowa wartość nil
insuranceStringAtrybut nie jest wymagany, defaultowa wartość nil
codStringAtrybut nie jest wymagany, defaultowa wartość nil
additional_servicesStringAtrybut nie jest wymagany, defaultowa wartość nil
serviceStringAtrybut nie jest wymagany, defaultowa wartość nil
parcelsStringAtrybut nie jest wymagany, defaultowa wartość nil
receiverStringAtrybut nie jest wymagany, defaultowa wartość nil
senderStringAtrybut nie jest wymagany, defaultowa wartość nil