User manual REST API

USS 2.0 tracking system. by Poczta Polska SA

1. Introduction

Poczta Polska SA provides a Rest API network service, which can be used to create applications enabling tracking of postal items.

The service is available at:

The tracking system service allows you to create one -off by one parcel number and many shipments, as permissible.
For one -time system, you can use a guess, whose parameters are as follows:
  • Login: sliding
  • Password: PPSA (for SOAP/WSDL as Passwordtext)
  • HASH Passwords: 5EF1C8ABD8BA2186F781B715CAFFF3C8D08567D78F7C5B6138F4013652E3DBB9 (for USS)
Customers who plan to formulate at once inquiries about larger quantities of parcels or obtain extended information about parcels, we encourage you to set up a dedicated account. To this end, please contact Poczta Polska SA via a dedicated form.

2. WebSerwis methods

And information methods
version
Returns the current number of the website version, local time in Poland and a list of served languages
checkmailcount
Returns the maximum number of shipments (1 - 999) about which the user may ask the Checkmailcollectionex
II account service
login
User authentication. It requires providing the username and password in the form of the sum SHA256 from the sum of password (for users already with individual tracking accounts in WSDL it is SHA1, for customers of new services of the SHA256 tracking system).
That is:
  • For existing users who were set up before 10.07.2024. The slogan looks like: SHA256 (SHA1 (your password '). Uppercase ()). Uppercase ()
  • For new accounts set up after 10.07.2024. or changing the password using the ChangePassword the slogan looks like: SHA256 (SHA256 ('Your Password'). Uppercase ()). Uppercase ()
As a result, the method returns the authorization token, which should be placed in the HTTP header in the API_KEY element of each authorized method.
ChangePassword
Changing password for the user's tracking services user. It requires a new password and PIN number obtained during the registration of the tracking system account (for individual cases PIN is not required). The method returns the sum of SHA256 from the sum of SHA256 from the given password, and the temporary authorization token (after correctly changing the password, re -authentication is required by login method) .
III Checking the data of the parcel
Checkmailex
Basic checking of one parcel data. Requires a parcel posting number. Returns information about the parcel in the Mailinfo structure. It allows you to obtain extended information about post offices, provided that you have a special right.
checkmailcollectionex
Checking data for many shipments. Requires the list of sending number of shipments (min. 1, the maximum results from the granted rights). It allows you to optionally provide the scope of dates (from - to) that can narrow the interval of searching for parcels. Returns information about shipments in the form of a list of Magitems . It allows you to obtain extended information about post offices.
confirmationofreceipt
Collection of electronic confirmation of receipt. Requires additional provisions in the contract with PPSA, additional rights and providing the parcel posting number. Returns a data stream containing electronic confirmation of receipt in XML format compressed by the GZIP algorithm.
checkmailcomponents
Returns simplified information about the events of shipments related to the transport letter. Requires an indication of the transport letter number. Returns information in the MailComponent structure.
checkmailsubcription
Returns the data of parcels sent by or directed to a user with active Sibbrination Push SA Poczta Polska SA Mobile application. Requires additional entries in the contract with PPSA, having an active subscription for your application and integration with subscription methods.
All methods enable the optional indicating the supported language for which names will be translated. By default, the tracking system services return information in Polish.
The use of Checkmailcollectionex , ChangePassword , checkmailcomponents and checkmailsubcriptions require dedicated permissions and not every user with a tracking system account has access to them by default. The above methods require API_KEY .
IV Diagnostic methods
Hello
Checks the answer to the service - it serves the diagnosis of the application server response to the question addressed to the service without access to the system data. Requires a name/name. The result is the answer in the "Hello ".
The word "hello" may differ to answers directed in languages ​​other than Polish.
V DESCRIPTION OF STATORS SEARCH SEARCH SEPARTMENT (MAILSTATUS)
0
Found the data of the searched parcel
1
Several parcels with the indicated posting number were found, in response there are shipping data, which was sent as the last. This status may also mean assigning a new label for a parcel if the previous label has been damaged/destroyed.
-1
Shipment with the indicated posting number was not found
-2
No shipping number was indicated
VI Service Authorization
Tracking system services use the API Key Security API mechanism, which requires that the authorization token be placed in the HTTP header in an element called API_KEY .

ATTENTION! For anonymous performance of Hello and Version , do not place the API_KEY (even empty) element in the header.

3. Working with endpoint

Generation of the correct coded password
After receiving an email with a password for your account, it should be properly encoded:
  1. Sha256 () cryptographic method
  2. The result is converted to upper letters uppercase
  3. again, the cryptographic method SHA256 () Code the result from the second iteration
  4. Again the result to capital letters

Example:

$ Password = Stroupper (Hash ("Sha256", Stroupper (Hash ("Sha256", "P@Ssword"))));

Try your slogan hash:

Once you have a coded password, you should log in to USS (using the login ) to obtain a temporary token that serves to change the password - received by email, assuming an account or password reset - on your own. After changing the password using the ChangePassword you will already get a production token that you can immediately use to download shipping data.

// We use the method $ .ajax const config = {"prod": {"url": "https://uss.poczta-polska.pl", "version": "2.0" "" token ": "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. Ad5bf522c ... 197a3944"}, "Params": {"login": "Testtest", "Language": "EN", "Password": "11C39BE1821EFA02383550CAB1D57E243066959B0CDAAF1F052373651AE67DCA" // Sample slogan "P@ssw0rd" coded in SHA265}} JQAJAX ({url: {url: {url: {url: config ['prod']. URL+"/USS/V"+config ['prod']
$ curl = curl_init (); $ login = "Your login"; $ password = stroupper (hash ("sha256", stroupper (hash ("sha256", "your slogan")))); curl_etopt_array ($ curl, array (curlopt_url => 'https://uss.poczta-polska.pl/uss/v2.0/tracking/login', curlopt_returntransfer => true, curlopt_encoding => '', curlopt_maxredirs => 10, 10, 10, 10, Curlopt_timeout => 0, curlopt_followlocation => true, curlopt_http_version => curl_http_version_1_1, curlopt_customrequest => 'post', curlopt_postfields => '{"login": " "password": "'. $ password.'", "Language": "PL"} ', curlopt_httpheader => array (' content-type: application/json ',' accept: text/plain '));) $ response = curl_exec ($ curl); curl_close ($ curl); echo $ response;

If all data is correctly provided - including a correctly coded password - we will receive the status of 200 with a temporary token necessary to change the password. The answer takes the form:

{"newtoken": "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. Ad5bf522c ... 197a3944"}

Generating a new password to get the right token

, you should change the first password to your own.

Example:

// We use the method $ .ajax const config = {"prod": {"url": "https://uss.poczta-polska.pl", "version": "2.0" "" token ": "GNDMSTGP3YR81 ... 0ja42DTC4MRHQ = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}} JQUERY.AJAX ({URL: config ['prod']. URL+"/USS/V"+config ['prod'] "0000", // applies to accounts with an active PIN code, if you do not have a PIN, remove this variable "Password": "New alphanumeric password", "Language": "PL"}, type: "post", contenttype: "Application/Json", Success: Callback, Error: Callback})
$ curl = curl_init (); $ password = "Your own password"; $ pin = "1234"; // optional $ apikey = "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. ad5bf522c ... 197a3944"; curl_etopt_array ($ curl, array (curlopt_url => 'https://uss.poczta-polska.pl/uss/v2.0/tracking/changepassword', curlopt_returntransfer => true, curlopt_encoding => '', curlopt_maxredirs => 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, Curlopt_timeout => 0, curlopt_followlocation => true, curlopt_http_version => curl_http_version_1_1, curlopt_customrequest => 'post', curlopt_postfields => '\ {"pin":'. "'. $ password.'", "Language": "PL"} ', curlopt_httpheader => array (' content-type: application/json ',' accept: application/json ',' api_key: '$ Apikey,),),),),)); $ response = curl_exec ($ curl); curl_close ($ curl); echo $ response;

If all data is correctly provided (the PIN is optional, its inclusion requires contact with PPSA) we will receive the status of 200 together with the production token and the already coded your own slogan (you no longer have to re -coding). The answer takes the form:

{"Password": "9489750A8F6F2CF3F9AD1773AD527D0AE8646C6B5339B89B1B6984397F76E6F" "Newtoken": "Hasukq! W = p3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}

Newtken generated in this way can already be used for other methods available in API

There are two methods for downloading data on the package of Checkmailex and Checkmailcollectionex . The first one only returns us a single parcel, and the second for many shipments at the same time the first of them returns information about a single parcel, while the second allows data to be downloaded for many shipments at the same time. Checkmailcollectionex method can work automatically when the Checkmailex is returned to the plaque with subordinate shipments (so -called multi -pitches or pallet shipments, for which the so -called superiority label is created), then USS will return the board in the "Components" . Based on this, it can automatically download data using checkmailcollectionex .

ATTENTION! Currently, for the Checkmailex , the USS is still returning data to Events and States for a collective shipment. In the next version of the USS these collections will not be returned when the collective parcel is asked. This should be taken into account in the design and implementation process in your IT systems. Data on parcels within multi -pine or pallets will be returned in the Checkmailcollectionex .

Calling the Checkmailex

Example:

// We use the method $ .ajax const config = {"prod": {"url": "https://uss.poczta-polska.pl", "version": "2.0" "" token ": "GNDMSTGP3YR81 ... 0ja42DTC4MRHQ = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}} JQUERY.AJAX ({URL: Config ['prod']. URL+"/USS/V"+config ['prod'] TRUE, "Number": Parcel.val (), // We put here a variable with the shipping number "Language": "PL"}, Type: "Get", Contenttype: "Application/Json", Success: Callback, Error: Callback})
$ curl = curl_init (); $ apikey = "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. Ad5bf522c ... 197a3944"; $ number = 123456; // Add Your Parcel Number $ Params = Array ('Language' => 'PL', 'Number' => $ number, 'Addpostofficeinfo' => TRUE, // only when the USS user has an additional 'States' => True) attribute; curl_etopt_array ($ curl, array (curlopt_url => 'https://uss.poczta-polska.pl/uss/v2.0/tracking/checkmailex?''.http_build_Query(Params), curlopt_returntransfer => True, curlopt_encoding =>>>> '', Curlopt_maxredirs => 10, curlopt_timeout => 0, curlopt_followlocation => true, curlopt_http_version => curl_http_version_1_1, curlopt_customrequest => 'get', curlopt_httpheader => array (array (array ( 'Accept: Application/Json', 'API_KEY:'. $ Apikey),)); $ response = curl_exec ($ curl); curl_close ($ curl); echo $ response;

Answer from USS for the Checkmailex

{"Mailinfo": {"number": "123456789", "Typeofmailcode": "PX2", "Typeofmailname": "Pocztex", "States": [{"Code": "Prz", "Name": "prepared", "time": "2024-06-06t11: 59: 01" "Finnished": False, "Events": [{"code": "P_rej_kn1", "Name": "Electronic data of shipments", "Time": "2024-06-06t11: 59: 01", "postoffice": "Name": "Electronic Sender"}, "Finnished": "CANCEled": "CANCEled": "CANCEled": " false, "state": {"code": "PRZ", "Name": "prepared"}}]}, "number": "123456789", "MailStatus": 1}

token to call the method .

Calling the checkmailcollectionex

Example:

// We use the method $ .ajax const config = {"prod": {"url": "https://uss.poczta-polska.pl", "version": "2.0" "" token ": "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}} const parcels = ["123456789", "px6761595367", "px1234102917"] jquery.ajax ({url: config ['prod']. URL+"/USS/V"+config ['prod'] xhrobj.setrequestheader ("api_key", config ['prod']. Token), date: {"states": True, "Addpostofficeinfo": False, "Number": Parcels, // We put here shipping boards with shipping numbers "Language": "Post" Contenttype: "Application/Json", Success: Callback, Error: Callback})
$ curl = curl_init (); $ apikey = "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. Ad5bf522c ... 197a3944"; $ numbers = ["123456789", "px6761595367", "px1234102917"]; // Add Your Parcels Array $ Params = Array ('Language' => 'PL', 'Number' => $ numbers, 'Addpostofficeinfo' => false, 'states' => TRUE); curl_etopt_array ($ curl, array (curlopt_url => 'https://uss.poczta-polska.pl/uss/v2.0/tracking/checkmailcollectionex?'.http_build_Query( Decution), curlopt_returntransfer => True, Curlopt_encoding => '', curlopt_maxredirs => 10, curlopt_timeout => 0, curlopt_followlocation => true, curlopt_http_version => curl_http_verseon_1_1, curlopt_customrequest => 'post', Curlopt_httpheader => array ('Accept: Application/Json', 'Api_key:'. $ Apikey),)); $ response = curl_exec ($ curl); curl_close ($ curl); echo $ response;

Answer from USS for the checkmailcollectionex

The above method is used to ask the tracking system by many shipments in two cases:

  • When we know a collection of shipments to ask (shipping board)
  • When in the Checkmailex we get the key with the Components , then use this method to download data on shipping in this collection.
{"Status": 0, "Magitems": [{"Mailinfo": {"number": "123456789", "Typeofmailcode": "PX2", "Typeofmailname": "Pocztex", "States": [{"Code": "Prz", "Name": "prepared", "Time", "Time", "Time", "TIME" "2024-06-06t11: 59: 01"}], "Finished": false, "Events": [{"code": "P_rej_kn1", "Name": "Electronic shipments were received", "Time": "2024-06-06t11: 59: 01", "Postoffice": "Name": "Name" }, "finished": false, "Canceled": false, "state": {"code": "Prz", "name": "prepared"}}}, "number": "123456789", "MailStatus": 1}, {"Mailinfo": {"number": "px6761595367," "Typeofmailcode": "PX2", "Typeofmailname": "Pocztex", "States": [{"Code": "Prz", "Name": "prepared", "time": "2024-06-19t11: 09: 06"}, {"Code": "na", "name": "Time", "Time", " "2024-06-24T17: 27: 58"}, {"code": "Tr", "Name": "In transport", "time": "2024-06-26t10: 29: 44"}, {"Code": "Dor", "Name": "In delivery", "Time": "2024-06-26t10: 55: 17" {"code": "to", "name": "delivered", "time": "2024-06-26t16: 07: 42"}], "finished": True, "Events": [{"Code": "P_rej_kn1", "Name": "Electronic data was received", "Time": "TIME" "2024-06-19T11: 09: 06", "postoffice": {"name": "electronic sender"}, "finished": false, "castled": false, "state": {"code": "PRZ", "Name": "prepared"}}, {"code": "name": "Name": " Shipments "," Time ":" 2024-06-24t17: 27: 58 "," postoffice ": {" code ":" 258468 "," name ":" up Pabianice 1 "," OfficeType ":" up "}," finished ": false," canced ": False," Code ":" na ":" na ":" "Name": "broadcast"}, {"code": "p_wieil", "name": "Email notification", "Time": "2024-06-24t17: 45: 35", "Postoffice": {"name": "Central database ZST"}, "Finnished": False} {"code": "p_wzl", "name": "sending a parcel", "time": "2024-06-25t06: 05: 32", "postoffice": {"code": "258468", "Name": "Up Pabianice 1", "OfficeType": "Up": "Up", "Finish "Canceled": false, "state": {"code": "tr", "name": "in transport"}}, {"code": "p_pzl", "name": "arrival", "time": "2024-06-25t09: 28: 49", "postoffice": {"name" "OfficeType": "CP Wer"}, "Finished": false, "Canceled": false}, {"code": "p_wzl", "name": "sending a shipment", "time": "2024-06-25t21: 58: 31", "postoffice": "Name": "Terripe", " "Officetype": "CP Wer"}, "Finished": false, "Canceled": false, "state": {"code": "tr", "name": "in transport"}}, {"code": "p_pzl", "name": "arrival", "Time": "2024-06-26t02: 12: 20", "postoffice": {"name": "reloading terminal", "officytype": "cp wer"}, "finished": false, "canceled": false}, {"code": "p_z", "name": "trip from office", "Time": "Time" "2024-06-26t09: 00: 42", "postoffice": {"code": "433373", "name": "Wer Wrocław", "OfficeType": "CP Wer"}, "Finnished": false, "Canceled": false}, {"code": "Sending": "Sending Shipments "," Time ":" 2024-06-26t09: 15: 01 "," postoffice ": {" name ":" transhipment terminal "," officytype ":" cp wer "}," finished ": false," CANCEled ": false," state ": {" code ":" TR ":" }, {"code": "p_kod", "name": "prepared for delivery", "time": "2024-06-26t10: 29: 44", "postoffice": {"code": "269232", "Name": "Up Świdnica Śląska 1", "OfficeType": "Up", "FINISHED" "Canceled": false, "state": {"code": "tr", "name": "in transport"}}, {"code": "p_pzl", "name": "arrival", "time": "2024-06-26t10: 45: 17", "postoffice": "269232", "269232", "Name": "Up Świdnica Śląska 1", "OfficeType": "Up"}, "Finished": false, "Canceled": false}, {"code": "p_wd", "name": "prepared for service", "Time": "2024-06-26t10: 53: 22", "Postoffice": "Code": "269232", "Name": "Up Świdnica Śląska 1", "OfficeType": "up"}, "finished": false, "CANCEled": false, "state": {"code": "Dor", "name": "In delivery"}}, {"code": "p_wdml", "p_wdml", "p_wdml" "Name": "Mested for delivery", "Time": "2024-06-26t10: 55: 17", "postoffice": {"code": "269232", "name": "Up Świdnica Śląska 1", "OfficeType": "Up"}, "Finnished": False, "Canceled": False, "State": "State": "Code": "Dor", "Name": "In delivery"}}, {"code": "P_WSMS", "Name": "SMS notification", "Time": "2024-06-26t11: 05: 25", "Postoffice": {"name": "Central ZST database" "CANCEled": false}, {"code": "p_wieil", "name": "Email notification", "Time": "2024-06-26t11: 06: 04", "Postoffice": {"name": "Central database ZST"}, "Finnished": false, "CANCEled": False} {"Code": "P_D", "Name": "Delived", "Time": "2024-06-26t14: 21: 38", "postoffice": {"code": "269232", "Name": "Up Świdnica Śląska 1", "Officetype": "up": True, "Finnished": True, "finished": True, "finished": True, "finished": True, "finished" "Canceled": false, "state": {"code": "to", "name": "delivered"}}, {"code": "p_ukepo", "name": "providing the recipient's signature", "Time": "2024-06-26t14: 21: 42", "Code": {"Code": "119479", "Name": "Central control system for a mobile postman", "OfficeType": "css"}, "finished": false, "castled": false}, {"code": "p_wieil", "name": "E-mail notification", "Time": "Time": "2024-06-26t14: 36: 47", "postoffice": {"name": "Central database ZSTS"}, "finished": false, "Canceled": false}, {"code": "p_rdml", "name": "Settlement of KD by a postman", "Time": "Time": " "2024-06-26t15: 57: 34", "postoffice": {"code": "269232", "Name": "Up Świdnica Śląska 1", "OfficeType": "Up"}, "Finished": false, "Canceled": false}, {"code": "p_ol", " Cracking books after delivery "," Time ":" 2024-06-26t16: 07: 42 "," postoffice ": {" code ":" 269232 "," name ":" Up Świdnica Śląska 1 "," OfficeType ":" Up "}," Finnished ": False," Canceled ": False," State, "State," State, "State," State ": False," State "Code": "to", "name": "delivered"}}]}, "number": "PX6761595367", "MailStatus": 0}, {"number": "PX1234102917", "MailStatus": -1}}}}}}}}

Note 1! It should be noted that for the checkmailcollectionex , information about Mailinfo in the Magitems .

Note 2! The other two parcels have two different mailstatus , which clearly define the status of a given parcel.

Additional PIN account security

If you choose an additional authorization method via PIN, you should a PIN key to the Body .

Example of use:

// We use the method $ .ajax const config = {"prod": {"url": "https://uss.poczta-polska.pl", "version": "2.0" "" token ": "GNDMSTGP3YR81 ... 0ja42DTC4MRHQ = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}} JQUERY.AJAX ({URL: config ['prod']. URL+"/USS/V"+config ['prod'] "0000", // applies to accounts with an active PIN "Password" code: "New alphanumeric password", "Language": "en"}, type: "post", contenttype: "Application/Json", Success: Callback, error: callback})
$ curl = curl_init (); $ login = "Your login"; $ password = stroupper (hash ("sha256", stroupper (hash ("sha256", "your slogan")))); $ pin = "0000", $ apikey = "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. ad5bf522c ... 197a3944"; curl_etopt_array ($ curl, array (curlopt_url => 'https://uss.poczta-polska.pl/uss/v2.0/tracking/login', curlopt_returntransfer => true, curlopt_encoding => '', curlopt_maxredirs => 10, 10, 10, 10, Curlopt_timeout => 0, curlopt_followlocation => true, curlopt_http_version => curl_http_version_1_1, curlopt_customrequest => 'post', curlopt_postfields => '{"login": " "Password": "'. $ password.'", "pin": '. $ pin )); $ response = curl_exec ($ curl); curl_close ($ curl); echo $ response;
If all data is correctly provided (PIN in this case is mandatory) we will receive the status of 200 together with the production token and the already coded your own slogan (you no longer have to re -coding). The answer takes the form:
{"Password": "9489750A8F6F2CF3F9AD1773AD527D0AE8646C6B5339B89B1B6984397F76E6F" "Newtoken": "Hasukq! W = p3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}
Newtken generated in this way can already be used for other methods available in API

ATTENTION! PIN is sent to one phone number indicated by the customer.

Customer with an active EPO service

If you have a special right to download EPO cards, it can be downloaded using the ConfirmationoFeipt .

Example:

// We use the method $ .ajax const config = {"prod": {"url": "https://uss.poczta-polska.pl", "version": "2.0" "" token ": "GNDMSTGP3YR81 ... 0ja42DTC4MRHQ = .od1ot ... 4njq5mje1rq ==. AD5BF522C ... 197A3944"}} JQUERY.AJAX ({URL: config ['prod']. URL+"/USS/V"+config ['prod'] "Number": "123456"}, Type: "Post", Contenttype: "Application/Json", Success: Callback, Error: Callback})
$ curl = curl_init (); $ number = "123456"; $ apikey = "gndmstgp3yr81 ... 0ja42dtc4mrhq = .od1ot ... 4njq5mje1rq ==. Ad5bf522c ... 197a3944"; curl_etopt_array ($ curl, array (curlopt_url => 'https://uss.poczta-polska.pl/uss/v2.0/tracking/confirmationoFreceipt', curlopt_returntransfer => true, curlopt_encoding => '', curl => 10, curlopt_timeout => 0, curlopt_follocation => true, curlopt_http_version => curl_http_version_1_1_1, curlopt_customrequest => 'post', curlopt_postfields => '{"number": "' } ', Curlopt_httpheader => array (' content-type: application/json ',' api_key: '. $ Apikey),)); $ response = curl_exec ($ curl); curl_close ($ curl); echo $ response;

4. Error codes

Description of status codes http
400
HTTP 400 answers are assigned to activities/verification related to incorrect data provided by users. Information enabling the analysis of specific errors is provided in the content of the answer. The data transmitted to the method should be corrected.
401
HTTP 401 answers are related to the lack of user authorization, which is related to the lack of token in the HTTP header ( API_KEY ) or expire to this token. Take the login .
403
HTTP 403 answers are related to user locks or a lack of permissions to selected methods. If the error is not related to too many queries addressed to the services of the tracking system, please contact Poczta Polska to determine the causes of the blockade.
405
Required password change - if the error does not come from the login , you should perform the login and then the ChangePassword function otherwise the login function returned the dedicated token and you can immediately start the ChangePassword .
503
System inaccessible or technological break. The answers of the answers contain a feedback with detailed information.
204
The response specific to the ConfirmationofReceipt , the HTTP 204 answer is returned if the EPO card has not been found for the indicated shipment number (electronic confirmation of receipt).

5. Postman files

For your convenience, we have prepared a ready -made configuration file, which after importing to the postman application will allow you to quickly test the REST API USS methods.

This application has a script that saves current tokens in a global variable. Therefore, when choosing a login , this token is saved in a variable and you do not need to copy and save it in headers.

Installation instructions:

  • Download free program from: Postman
  • IMPORT FILE BELOW THE Postman collection using the Import button
  • Enter your login and password (coded) in the main collection tab in the VARIABLES and save the changes using the Ctrl+S or CMD+S

The environment prepared in this way allows you to download shipping data. Remember that you must first use the login . Postman scripts will automatically save the token to use it in other methods.

Here is the configuration file: Download the file

6. Shared events

Below is a list of events returned and presented in the tracking system together with their Polish and English translation.

In integration, the event codes should be mapped (e.g. p_nad, p_d) and not the name of the event codes, because the names may change.

Download file (pdf): download file


Information

Please be advised that Poczta Polska introduces additional security as part of the Dora and NIS2 directives. One of the security is to disable access to the network traffic for SSL/TLS protocols in versions 1.0 and 1.1 for systems located at: USS.Poczta-polska.pl, tt.poczta-polska.pl, Ws.poczta-polska.pl eag.poczta-polska.pl for REST API and WSDL/SOAP environments.

Those of you who are still using the abovementioned protocol are asked to modify in their systems for the min TLS 1.2 versions by 10.04.2025.

After this day, communication using the TLS 1.0 and TLS 1.1 protocols will be impossible, which may cause no communication with our tracking systems.


Application to create a REST API USS account

If you are interested in acquiring a dedicated user account with extended permissions, please complete and send the form below.

* compulsory fields

Technical data

Please Enter a Number from 1 is 500 .
0 of 500 max characters
Additional PIN:*
It is possible to additional secure your account against unauthorized password change. To this end, provide the Polish phone number for which the PIN code will be sent.

Contact details

0 of 500 max characters
Email address for contact*
0 of 500 max characters
Contact details*

Rewrite the code from the picture (the size of the characters does not matter)

Captcha code
0 of 10 max characters
This Field is for Validation Purposes and Should Be Left Unchanged.
English