Glossary

API

Application programming interface - programming gateway. Will be used to integrate customers service (online shop, etc.) with bliskapaczka.pl.

API key

Your personal and private key to access and authenticate API communication.

Operator

Specific bliskapaczka.pl partner whom parcel pick up and delivery will be delegated to.

POS or Point

Point of Service - partners point where customer can send or pick up a parcel sent using bliskapaczka.pl service.

Production environment

An environment where real-time ready to use system is hosted. Should not be use for testing purpose, every operation cause real communication with bliskapaczka.pl partners and eventually creation of real orders.

Sandbox environment

Isolated independent environment for testing purpose. None of the operations on this environment would be sent to partners production environments and would not create real orders.

Widget

JavaScript component containing a map with POSes list, used by customer to choose the place, where the parcel will be delivered to.

Overview

Bliskapaczka.pl provides an easy and convenient way for integration.
This documentation describes integration protocols of bliskapaczka.pl based on REST API.

Integration process consists of following steps:

  1. create the account at bliskapaczka.pl services

  2. request access to API integration

  3. place bliskapaczka.pl widget on your page to provide to your clients an easy way to pick up delivery points

  4. implement communication with bliskapaczka.pl via API to be able to create order, process it and monitor its status

All those steps will be detailed described later in current documentation.

Environments:

Look here for detailed API documentation.

Contact with technical support regarding integration process wsparcie@sendit.pl

How to get access to API bliskapaczka.pl?

  1. Register regular account on the service:

  2. Send an email message to wsparcie@sendit.pl using the email your account is registered with request to provide you access to integration functionality.
    Such email could looks like:

    Hi,
    
    Please provide me the access to integration functionality on the account registered on my email.
    
    Sincerely yours,
    [name]
  3. After successful proceeding your request you should receive a confirmation email.

  4. After re-login, you should be able to find the "Integracja" tab in your account settings:

    Before generating API key
  5. Generate your personal API key using the "Wygeneruj klucz API" button.

    Please keep in mind this key is a part of sensitive data and should be kept in a private place also please do not share it with anyone. In case of suspicion that your key may be used by any unauthorized person, please contact us at wsparcie@sendit.pl immediately with the request to remove the old key, so you can generate a new one.
  6. New key should look like this:

    After generating API key
    You can copy the key to the clipboard using "SKOPIUJ DO SCHOWKA" button.
  7. Received key will be used to authenticate your API requests. To sign your requests please add following HTTP header to each API request:

Authorization: Bearer {apiKey}

where in place of {apiKey} you should use your own key, e.g.:

Authorization: Bearer 00d92e6b-xxxx-4318-841e-6cdc414a49d3

How to use bliskapaczka.pl Widget?

Current documentation refers to widget version: v5.4
Widget demo can be found https://widget.bliskapaczka.pl/prod/demo.html
Latest documentation can be found: https://widget.bliskapaczka.pl

  1. In order to install bliskapaczka.pl Widget on your web page include following code snippets in head section of your html document:

    <script type="text/javascript" src="https://widget.bliskapaczka.pl/v5.4/main.js"></script>
    <link rel="stylesheet" href="https://widget.bliskapaczka.pl/v5.4/main.css" />
  2. bliskapaczka.pl Widget exposes one object through global variable BPWidget. To initialize widget use method:

    BPWidget.prototype.init(element, options)

    First argument is html element that should hold widget content. Element has to have width and height defined and should be displayed on page when map is initialized. E.g.

    <div id="bpWidget" style="height: 800px; width: 1024px;"></div>
  3. To get Widget to work, you must provide google maps API key in widget options object. The widget takes an options object as the second argument of init() method. You can use example google maps api key for testing purposes:

    BPWidget.init(
      document.getElementById('bpWidget'),
      {
        googleMapApiKey: 'AIzaSyCUyydNCGhxGi5GIt5z5I-X6hofzptsRjE'
      }
    );
  4. In case you would like to display to your customers only points where the shipment can be delivered, you may use posType option:

    BPWidget.init(
      document.getElementById('bpWidget'),
      {
        googleMapApiKey: 'AIzaSyCUyydNCGhxGi5GIt5z5I-X6hofzptsRjE',
        posType: 'DELIVERY'
      }
    );
  5. To allow your customers to select point on map, provide callback function in Widget callback option:

    BPWidget.init(
      document.getElementById('bpWidget'),
      {
        googleMapApiKey: 'AIzaSyCUyydNCGhxGi5GIt5z5I-X6hofzptsRjE',
        posType: 'DELIVERY',
        callback: function(point) {
          console.log("selected point operator: ", point.operator);
          console.log("selected point code: ", point.code);
        }
      }
    )

Pricing API, configuration panel and displaying shipping prices in widget

  1. If you are able to provide parcel dimensions based on size of products, you can use our pricing API to can calculated offer of bliskapaczka.pl order

    curl -X POST https://api.sandbox-bliskapaczka.pl/{api-version}/pricing \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
      -d '{
        "parcel": {
          "dimensions": {
            "length": 20,
            "width": 20,
            "height": 40,
            "weight": 0.9
          },
          "codValue":101.50,
          "insuranceValue":101.50
        }
      }'

    In response, you receive the list of operators, with an offer for each one or information that operator is unavailable together with reason:

    [{
            "operatorName": "INPOST",
            "availabilityStatus": true,
            "serviceName": "Typ A",
            "price": {
                "net": 6.74,
                "vat": 1.55,
                "gross": 8.29
            },
            "unavailabilityReason": null
        },
        {
            "operatorName": "RUCH",
            "availabilityStatus": true,
            "serviceName": "Mini",
            "price": {
                "net": 4.06,
                "vat": 0.93,
                "gross": 4.99
            },
            "unavailabilityReason": null
        },
        {
            "operatorName": "POCZTA",
            "availabilityStatus": false,
            "serviceName": null,
            "price": null,
            "unavailabilityReason": {
                "errors": [{
                    "messageCode": "ppo.api.error.pricing.algorithm.constraints.dimensionsTooSmall",
                    "message": "Allowed parcel dimensions too small. Min dimensions: 16x10x1 cm",
                    "field": null,
                    "value": null
                }]
            }
        }
    ]

    An operator can be unavailable because of one of the following reasons:

    • provided dimensions exceeds operator limits

    • operator was disabled at bliskapaczka.pl account configuration panel

  2. You can modify the list of available operators or shipping prices depending on your needs. To change that option, you can use 'Integracja' tab of your bliskapaczka.pl account configuration panel.

    Available operators integration panel
    Prices integration panel
  3. You can manipulate operators available on bliskapaczka.pl widget or display shipment prices for end user convenience, e.g. using information from bliskapaczka.pl pricing api. To do so use operators option.

    Option operators as value can take an array of objects with following properties:

    • operator [required] - operator code name

    • price [optional] - price of the shipment, that would be displayed for this operator

      Currently supported operators: RUCH, INPOST, POCZTA, DPD.

      Example:

      BPWidget.init(
          document.getElementById('bpWidget'), {
              googleMapApiKey: 'AIzaSyCUyydNCGhxGi5GIt5z5I-X6hofzptsRjE',
              posType: 'DELIVERY',
              callback: function(point) {
                  console.log("selected point:", point);
              },
              operators: [
                  {
                      operator: "RUCH",
                      price: 5
                  },
                  {
                      operator: "INPOST"
                  }
              ]
          }
      );

Order API

  1. To create an order, first you need to gather information regarding posting/delivery points, sender and receiver data. You can take it from widget callback or from any other source. Having all required informations, you can use API to create order:

    curl -X POST https://api.sandbox-bliskapaczka.pl/{api-version}/order \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
      -d '{
        "number":"000000000P-000000000",
        "senderFirstName":"Sender",
        "senderLastName":"Sender",
        "senderPhoneNumber":"123456789",
        "senderEmail":"sender@example.com",
        "senderStreet":"Rynek",
        "senderBuildingNumber":"1",
        "senderFlatNumber":"1",
        "senderPostCode":"00-000",
        "senderCity":"Wroclaw",
        "receiverFirstName":"Receiver",
        "receiverLastName":"Receiver",
        "receiverPhoneNumber":"987654321",
        "receiverEmail":"receiver@example.com",
        "operatorName":"INPOST",
        "destinationCode":"KRA010",
        "postingCode":"KRA011",
        "additionalInformation": "Some additional information",
        "parcels":[{
          "dimensions":{
            "height":20,
            "length":20,
            "width":20,
            "weight":20
          },
          "insuranceValue":100
        }],
        "codValue":110,
        "codPayoutBankAccountNumber":"16102019120000910201486273"
      }'

    Example response:

    {
        "number": "000000001P-000000006",
        "senderFirstName": "Sender",
        "senderLastName": "Sender",
        "senderPhoneNumber": "123456789",
        "senderEmail": "sender@example.com",
        "senderStreet": "Rynek",
        "senderBuildingNumber": "1",
        "senderFlatNumber": "1",
        "senderPostCode": "00-000",
        "senderCity": "Wroclaw",
        "receiverFirstName": "Receiver",
        "receiverLastName": "Receiver",
        "receiverPhoneNumber": "987654321",
        "receiverEmail": "receiver@example.com",
        "receiverStreet": "Ulica",
        "receiverBuildingNumber": "1A",
        "receiverFlatNumber": "2B",
        "receiverPostCode": "99-999",
        "receiverCity": "Kraków",
        "receiverCountryCode": "PL",
        "operatorName": "INPOST",
        "destinationCode": "KRA010",
        "postingCode": "KRA011",
        "additionalInformation": null,
        "parcels": [{
            "dimensions": {
                "length": 20,
                "height": 20,
                "width": 20,
                "weight": 20
            },
            "insuranceValue": null
        }],
        "codValue":110,
        "codPayoutBankAccountNumber":"16102019120000910201486273",
        "status": "SAVED",
        "deliveryType": "TO_POINT",
        "creationDate": "2017-06-28T15:00:31.254",
        "adviceDate": null,
        "trackingNumber": null,
        "postingPostCode": "31-274",
        "postingCity": "Kraków",
        "postingStreet": "Opolska 9",
        "destinationPostCode": "30-624",
        "destinationCity": "Kraków",
        "destinationStreet": "Malborska 130",
        "orderItems": [],
        "price": null
    }

    An order created this way will be in state SAVED, which means that it is still available for modifications. It can be done via user interface on bliskapaczka.pl or by sending same request with modified values, and field number set to value received in response.

  2. To advise an order, first you need to gather information regarding posting/delivery points, sender, receiver. You can take them from widget callback or from any other source. Having all required informations, you can use API to advise order:

    curl -X POST https://api.sandbox-bliskapaczka.pl/{api-version}/order/advice \
      -H "Content-Type: application/json" \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
      -d '{
        "number":"000000000P-000000000",
        "senderFirstName":"Sender",
        "senderLastName":"Sender",
        "senderPhoneNumber":"123456789",
        "senderEmail":"sender@example.com",
        "senderStreet":"Rynek",
        "senderBuildingNumber":"1",
        "senderFlatNumber":"1",
        "senderPostCode":"00-000",
        "senderCity":"Wroclaw",
        "receiverFirstName":"Receiver",
        "receiverLastName":"Receiver",
        "receiverPhoneNumber":"987654321",
        "receiverEmail":"receiver@example.com",
        "operatorName":"INPOST",
        "destinationCode":"KRA010",
        "postingCode":"KRA011",
        "additionalInformation": "Some additional information",
        "parcels":[{
          "dimensions":{
            "height":20,
            "length":20,
            "width":20,
            "weight":20
          }
        }],
        "codValue":110,
        "codPayoutBankAccountNumber":"16102019120000910201486273"
      }'

    Example response:

    {
        "number": "000000001P-000000007",
        "senderFirstName": "Sender",
        "senderLastName": "Sender",
        "senderPhoneNumber": "123456789",
        "senderEmail": "sender@example.com",
        "senderStreet": "Rynek",
        "senderBuildingNumber": "1",
        "senderFlatNumber": "1",
        "senderPostCode": "00-000",
        "senderCity": "Wroclaw",
        "receiverFirstName": "Receiver",
        "receiverLastName": "Receiver",
        "receiverPhoneNumber": "987654321",
        "receiverEmail": "receiver@example.com",
        "receiverStreet": "Ulica",
        "receiverBuildingNumber": "1A",
        "receiverFlatNumber": "2B",
        "receiverPostCode": "99-999",
        "receiverCity": "Kraków",
        "receiverCountryCode": "PL",
        "operatorName": "INPOST",
        "destinationCode": "KRA010",
        "postingCode": "KRA011",
        "additionalInformation": null,
        "parcels": [{
            "dimensions": {
                "length": 20,
                "height": 20,
                "width": 20,
                "weight": 20
            },
            "insuranceValue": null
        }],
        "codValue":110,
        "codPayoutBankAccountNumber":"16102019120000910201486273",
        "status": "PROCESSING",
        "deliveryType": "TO_POINT",
        "creationDate": "2017-06-28T15:13:35.592",
        "adviceDate": null,
        "trackingNumber": null,
        "postingPostCode": "31-274",
        "postingCity": "Kraków",
        "postingStreet": "Opolska 9",
        "destinationPostCode": "30-624",
        "destinationCity": "Kraków",
        "destinationStreet": "Malborska 130",
        "orderItems": [{
            "pricelistItemType": "SHIPMENT",
            "serviceName": "Typ C",
            "price": {
                "net": 8.35,
                "vat": 1.92,
                "gross": 10.27
            }
        }],
        "price": null
    }

    An order is in state PROCESSING, which means that it is not available for modifications and advising process has been started.

  3. You can retrieve order information from API using order number provided in save/advice operation response:

    curl -X GET https://api.sandbox-bliskapaczka.pl/{api-version}/order/000000001P-000000007 \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

    Example response:

    {
        "number": "000000001P-000000007",
        "senderFirstName": "Sender",
        "senderLastName": "Sender",
        "senderPhoneNumber": "123456789",
        "senderEmail": "sender@example.com",
        "senderStreet": "Rynek",
        "senderBuildingNumber": "1",
        "senderFlatNumber": "1",
        "senderPostCode": "00-000",
        "senderCity": "Wroclaw",
        "receiverFirstName": "Receiver",
        "receiverLastName": "Receiver",
        "receiverPhoneNumber": "987654321",
        "receiverEmail": "receiver@example.com",
        "receiverStreet": "Ulica",
        "receiverBuildingNumber": "1A",
        "receiverFlatNumber": "2B",
        "receiverPostCode": "99-999",
        "receiverCity": "Kraków",
        "receiverCountryCode": "PL",
        "operatorName": "INPOST",
        "destinationCode": "KRA010",
        "postingCode": "KRA010",
        "additionalInformation": null,
        "parcels": [{
            "dimensions": {
                "length": 20,
                "height": 20,
                "width": 20,
                "weight": 20
            },
            "insuranceValue": null
        }],
        "codValue":110,
        "codPayoutBankAccountNumber":"16102019120000910201486273",
        "status": "READY_TO_SEND",
        "deliveryType": "TO_POINT",
        "creationDate": "2017-06-28T15:30:04.078",
        "adviceDate": "2017-06-28T15:30:10.39",
        "trackingNumber": "2065149336",
        "postingPostCode": "30-624",
        "postingCity": "Kraków",
        "postingStreet": "Malborska 130",
        "destinationPostCode": "30-624",
        "destinationCity": "Kraków",
        "destinationStreet": "Malborska 130",
        "orderItems": [{
            "pricelistItemType": "SHIPMENT",
            "serviceName": "Typ C",
            "price": {
                "net": 8.35,
                "vat": 1.92,
                "gross": 10.27
            }
        }],
        "price": {
            "net": 8.35,
            "vat": 1.92,
            "gross": 10.27
        }
    }
  4. You can retrieve order waybill document from api using order number provided in save/advice operation response:

    curl -X GET https://api.sandbox-bliskapaczka.pl/{api-version}/order/000000001P-000000007/waybill \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

    Example response:

    {
        "url": "https://storage.googleapis.com/test.cloud.senditstatic.pl/ppo/inpost/waybill/2017/06/26/000000001P-000000008.pdf?GoogleAccessId=storage@archiwum-140107.iam.gserviceaccount.com&Expires=1499299200&Signature=N50f96tIEP4RHsAvpFBRhjNp%2Fw8z5gS%2B0yzQnc8%2BTFOw9u9HLgulq6GZXpPPxQfzp1GxbeHIehNigYQYIOIi3juxbxTydhlLUGC0dwdpuoNrvJUrSH%2BKhNufo7LrGU3GNCG6cMUIv1XhnA%2BY3SKul1Ee4nfzGjHOD%2FMZJYJOkcZYJDO6krH%2FDB%2FL36ylE2cVJR53%2F4H%2FhajljMH8r80He8OFY8e8q7UZoZx9oQiyaDftaoJfqB5PItJewuNqd8Zyx8lOwFyactGkU9kVisnf%2FN%2Fz2fp6BnNVzhdXQCYCwKVURaVWyY5UJg4fG86qfyNczC60uOWo4e%2F08%2FQqLMQkFQ%3D%3D"
    }

    Response JSON contains signed URL to google storage, where waybill is available for download. URL has the lifetime of 7 days, after this time it is required to generate a new one. Waybill is stored in google storage in PDF format.

  5. You can retrieve order tracking from api using order number provided in save/advice operation response:

    curl -X GET https://api.sandbox-bliskapaczka.pl/{api-version}/order/000000001P-000000007/tracking \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

    Example response:

    {
        "changes": [{
                "dateTime": "2017-06-28T15:30:04.033",
                "status": "SAVED"
            },
            {
                "dateTime": "2017-06-28T15:30:04.11",
                "status": "PAYMENT_CONFIRMED"
            },
            {
                "dateTime": "2017-06-28T15:30:04.121",
                "status": "PROCESSING"
            },
            {
                "dateTime": "2017-06-28T15:30:04.161",
                "status": "ADVISING"
            },
            {
                "dateTime": "2017-06-28T15:30:10.39",
                "status": "READY_TO_SEND"
            }
        ]
    }

Order statuses

NEW

Unsaved order.

SAVED

Order is saved, but it is not validated. It still can be incomplete, any field can be modified and whole order saved again as many times as needed. No information has been sent to operator yet.

WAITING_FOR_PAYMENT

Waiting for confirmation from external payment service that user successfully paid for order.

PAYMENT_CONFIRMED

Payment was confirmed by external payment service.

PAYMENT_REJECTED

Payment was rejected by external payment service.

PAYMENT_CANCELLATION_ERROR

An error occurred when trying to cancel payment in external payment service.

PROCESSING

Order is preparing to send to an operator system.

ADVISING

Order is registering in an operator system.

ERROR

An error occurred when registering an order in an operator system.

READY_TO_SEND

Order was registered in an operator system and waybill was generated. Order can be delivered to a posting point.

POSTED

Order was delivered to a posting point.

ON_THE_WAY

Order was taken from a posting point and it is traveling to a destination point.

READY_TO_PICKUP

Order is waiting for pick up in a destination point.

OUT_FOR_DELIVERY

Order was handed to deliver it to a receiver.

DELIVERED

Order was delivered to a receiver.

REMINDER_SENT

Order is waiting at a destination point to be collected. A reminder has been sent to a receiver.

PICKUP_EXPIRED

Receiver did not collect order in given time.

AVIZO

Avizo left

CLAIMED

Order was claimed.

RETURNED

Order was not taken by a receiver and it was returned to a sender.

ARCHIVED

Order was not collected by a receiver and it was moved to archive.

OTHER

Order is in unknown status.

MARKED_FOR_CANCELLATION

Order was marked to be canceled. Waiting 24h to confirm cancellation.

CANCELED

Order was canceled.

WAITING_FOR_PAYOUT

Order has been delivered. Waiting for payout to be sent (only for orders with COD).

PAYOUT_SENT

Payout was sent (only for orders with COD).

Order operations

Save

Advice

Cancel

End state

SAVED

+

+

+

-

WAITING_FOR_PAYMENT

-

-

+

-

PAYMENT_CONFIRMED

-

-

+

-

PAYMENT_REJECTED

-

-

+

-

PAYMENT_CANCELLATION_ERROR

-

-

-

-

PROCESSING

-

-

+

-

ADVISING

-

-

-

-

ERROR

-

-

+

-

READY_TO_SEND

-

-

+

-

POSTED

-

-

-

-

ON_THE_WAY

-

-

-

-

READY_TO_PICKUP

-

-

-

-

OUT_FOR_DELIVERY

-

-

-

-

DELIVERED

-

-

-

+

REMINDER_SENT

-

-

-

-

PICKUP_EXPIRED

-

-

-

-

AVIZO

-

-

-

-

CLAIMED

-

-

-

+

RETURNED

-

-

-

-

ARCHIVED

-

-

-

+

OTHER

-

-

-

-

MARKED_FOR_CANCELLATION

-

-

-

-

CANCELED

-

-

-

-

API Description

This section contains detailed API description for all available endpoints.

v2

Common model:

Operator

RUCH

Ruch

POCZTA

Poczta Polska

INPOST

Inpost

DPD

DPD

UPS

UPS

FEDEX

FedEx

GLS

GLS

XPRESS

X-press Couriers

OperatorService

UPS

UPS

UPSAP

UPS Access Point

DPD

DPD

FEDEX

Fedex

INPOST

Inpost

INPOST_COURIER

Inpost Kurier

EKSPRES_24

Poczta Polska Ekspres 24

KURIER_48

Poczta Polska Kurier 48

RUCH

Ruch

GLS

GLS

XPRESS

Xpress Couriers

DHL

DHL

PricelistItemType

SHIPMENT

Shipment

INSURANCE

Insurance

COD

Cash on delivery

DeliveryType

P2P

Shipment from drop off to destination point.

D2P

Shipment from sender address to destination point.

P2D

Shipment from drop off point to receiver address.

D2D

Shipment from sender to receiver address.

ServiceType (XPRESS)

LOCAL

Local

COUNTRY

Country

INTERNATIONAL

International

VOIVODESHIP

Voivodeship

ECOMMERCE

E-commerce

AdditionalService

PICKUP_FROM_SENDER

GLS: Pickup from sender address instead of agreement address

AdditionalServiceType

INSURANCE

Insurance

COD

Cash on delivery

NON_STANDARD

Non standard

WeightType

REAL

Weight measured

VOLUMETRIC

Weight calculated by the formula provided by a operator

Error Reason

INVALID_DESTINATION_POINT

Chosen destination point is invalid

INVALID_POSTING_POINT

Chosen posting point is invalid

OPERATOR_VALIDATION_ERROR

Order was rejected by operator validation

GENERIC_ADVICE_ERROR

Something went wrong on the operator side and we were not able to distinguish what

AUTHORIZATION_ERROR

Wrong own agreement credentials were used for the order

LABEL_GENERATION_ERROR

Generating waybill failed

WAYBILL_PROCESS_ERROR

Processing of the waybill failed

BACKEND_ERROR

Something went terribly wrong on our side

Config

Configuration options declared in user panel.

Model:

Config
Name Type

configModel

OperatorConfig[]

OperatorConfig
Name Type

operator

Operator

cod

number

prices

Map<DeliveryType>,PriceLevel>

PriceLevel
Name Type

maxWeight

number

price

number

ReturnPoint
Name Type

operator

Operator

code

string

Get
GET /v2/config

Returns configuration options.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/config \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
	"configModel": [
		{
			"operator": "RUCH",
			"cod": null,
			"prices": {
				"TO_DOOR": null,
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		},
		{
			"operator": "POCZTA",
			"cod": null,
			"prices": {
				"TO_DOOR": null,
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		},
		{
			"operator": "DPD",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		},
		{
			"operator": "GLS",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": null
			}
		},
		{
			"operator": "FEDEX",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": null
			}
		},
		{
			"operator": "INPOST",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		}
	]
}
Get return config
GET /v2/config/returns

Returns configuration options for return orders.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/config/returns \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
	"returnPoints": [
		{
			"operator": "RUCH",
			"code": "WR-547950-72-59"
		},
		{
			"operator": "POCZTA",
			"code": "275425"
		},
		{
			"operator": "DPD",
			"code": "PL11776"
		},
		{
			"operator": "INPOST",
			"code": "POP-WRO46"
		}
	]
}

Health

Bliskapaczka.pl api health check.

GET /health

Returns service status

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/health

Example response:

{
    "status": "OK"
}

Order

Bliskapaczka.pl order api.

Model:

Order
Name Type Description

number

string

Optional order number. If left empty, will be generated. Otherwise existing order will be used.

senderFirstName

string

max length 30 Required when senderCompanyName is blank

senderLastName

string

max length 30 Required when senderCompanyName is blank

senderCompanyName

string

max length 50 Required when senderFirstName or senderLastName is blank

senderPhoneNumber

string

max length 30

senderEmail

string

max length 60, valid value: email address
e.g. john@example.com

senderStreet

string

max length 30

senderBuildingNumber

string

max length 10

senderFlatNumber

string

max length 10

senderPostCode

string

max length 10

senderCity

string

max length 30

countryCode

string

Optional ISO 3166-1 alfa-2 country code max lenght 2

receiverFirstName

string

max length 30 Required when receiverCompanyName is blank

receiverLastName

string

max length 30 Required when receiverCompanyName is blank

receiverCompanyName

string

max length 50 Required when receiverFirstName or receiverLastName is blank

receiverPhoneNumber

string

max length 30

receiverEmail

string

max length 60, valid value: email address
e.g. john@example.com

receiverStreet

string

required only for *_TO_DOOR parcels
max length 30

receiverBuildingNumber

string

required only for *_TO_DOOR parcels
max length 10

receiverFlatNumber

string

required only for *_TO_DOOR parcels
max length 10

receiverPostCode

string

required only for *_TO_DOOR parcels
max length 10

receiverCity

string

required only for *_TO_DOOR parcels
max length 30

receiverCountryCode

string

used only for *_TO_DOOR parcels
ISO 3166-1 alfa-2 country code
max lenght 2
default: "PL"

operatorName

Operator

available operator

destinationCode

string

required only for *_TO_POINT parcels
max length 50

postingCode

string

required only for POINT_TO_* parcels
max length 50

additionalInformation

string

max length 100

reference

string

unique in scope of user
max length 30

additionalReference

string

unique in scope of broker orders
max length 100

codValue

decimal(10,2)

nullable
min value 0.01

parcels

Parcel

 

codPayoutBankAccountNumber

string

nullable
bankAccountNumber needed when codValue given and not having own agreement for given operator

chooseDestinationPoint

boolean

used only for *_TO_POINT parcels

autoPickup

boolean

Optional. Automatically orders a pickup for D2D and D2P orders.

serviceType

ServiceType

optional service type

serviceId

string

optional service identifier
defined by operator

errorReason

string

advice error reason

Order model representation has changed. The new approach is to use a list of parcels instead of a single Parcel entity. The api will support the old concept only for so long. Please migrate as this backward compatibility will be removed in the future.

Parcel
Name Type Description

dimensions.height

decimal(10,2)

min value 0.01

dimensions.length

decimal(10,2)

min value 0.01

dimensions.width

decimal(10,2)

min value 0.01

dimensions.weight

decimal(10,2)

min value 0.01

insuranceValue

decimal(10,2)

nullable
min value 0.01

nonStandard

boolean

nullable
default value false

OrderStatusChanges
Name Type

number

string

changes

OrderStatusChange[]

OrderStatusChange
Name Type

dateTime

DateTime

status

OrderStatus

Pickup
Name Type Description

orderNumbers

String[]

Required
not empty

pickupWindow

PickupWindow

Optional

pickupAddress

PickupAddress

Required

firstAvailable

boolean

Optional

PickupWindow
Name Type Format

date

LocalDate

yyyy-MM-dd

timeRange

TimeRange

TimeRange
Name Type Format

from

String

hh-MM

to

String

hh-MM

PickupAddress
Name Type

street

String

buildingNumber

String

flatNumber

String

city

String

postCode

String

OrderPricing
Name Type

operatorService

OperatorService

serviceType

DeliveryType

price

Price

parcels

PricingItem[]

pallets

PricingItem[]

globalUnavailableReasons

EndpointApiError[]

unavailableReasons

UnavailableReason[]

additionalServices

AdditionalServicePricing[]

available

boolean

ownAgreement

boolean

Price
Name Type

net

decimal(10,2)

vat

decimal(10,2)

gross

decimal(10,2)

PricingItem
Name Type

ref

String

serviceName

string

weightType

WeightType

price

Price

additionalServices

AdditionalServicePricing[]

AdditionalServicePricing
Name Type

serviceName

AdditionalServiceType

price

Price

changed

boolean

EndpointApiError
Name Type

messageCode

string

message

string

field

string

value

string

UnavailableReason
Name Type

reference

string

reasons

EndpointApiError[]

Save
POST /v2/order

Save order. Updates existing when body parameter "number" is provided or creates new one.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "countryCode":"PL",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverCompanyName":"Receiver Company",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "receiverStreet":"Aleje Jerozolimskie",
    "receiverBuildingNumber":"2A",
    "receiverFlatNumber":"3",
    "receiverPostCode":"11-111",
    "receiverCity":"Warszawa",
    "receiverCountryCode":"PL",
    "operatorName":"INPOST",
    "destinationCode":"KRA010",
    "postingCode":"KRA011",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "additionalReference": "Some additional reference",
    "autoPickup": "true",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue":150
    }],
    "codValue":110.50,
    "additionalServices": [{
        "name": "PICKUP_FROM_SENDER"
    }],
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "deliveryType":"P2P"
  }'

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "INPOST",
    "destinationCode": "KRA010",
    "postingCode": "KRA011",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "additionalReference": "Some additional reference",
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": 150
    }],
    "codValue":110.50,
    "additionalServices": [{
        "name": "PICKUP_FROM_SENDER"
    }],
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "SAVED",
    "deliveryType": "P2P",
    "creationDate": "2017-11-28T13:04:32.071",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [],
    "price": null
}
Advice
POST /v2/order/advice

Advice order. Updates existing when body parameter "number" is provided or creates new one.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/advice \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderCompanyName":"Sender Company",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "countryCode":"PL",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverCompanyName":"Receiver Company",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "receiverStreet":"Aleje Jerozolimskie",
    "receiverBuildingNumber":"2A",
    "receiverFlatNumber":"3",
    "receiverPostCode":"11-111",
    "receiverCity":"Warszawa",
    "receiverCountryCode":"PL",
    "operatorName":"INPOST",
    "destinationCode":"KRA010",
    "postingCode":"KRA011",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "additionalReference": "Some additional reference",
    "autoPickup": "true",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue": 1200.00,
      "nonStandard": false
    }],
    "codValue":110,
    "additionalServices": [{
        "name": "PICKUP_FROM_SENDER"
    }],
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "deliveryType":"P2P",
    "serviceId": "SAME_DAY_18_22"
  }'

Example response:

{
    "number": "000000001P-000000073",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "INPOST",
    "destinationCode": "KRA010",
    "postingCode": "KRA011",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "additionalReference": "Some additional reference",
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": null,
        "nonStandard": false,
        "parcelItems": [
            {
                "itemType": "SHIPMENT",
                "serviceName": "5-10kg",
                "price": {
                    "net": 8.25,
                    "vat": 1.90,
                    "gross": 10.15
                }
            }
        ]
    }],
    "codValue":110,
    "additionalServices": [{
        "name": "PICKUP_FROM_SENDER"
    }],
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "PROCESSING",
    "deliveryType": "P2P",
    "creationDate": "2017-11-28T14:45:29.195",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 8.25,
            "vat": 1.90,
            "gross": 10.15
        }
    }],
    "price": {
        "net": 8.25,
        "vat": 1.90,
        "gross": 10.15
    }
}
Confirm
POST /v2/orders/confirm?operatorName=$operator

Confirms orders for given "operator". Currently supported only for POCZTA.
Sends the parcels buffer to Poczta Institution with PNI saved in own agreement configuration panel in bliskapaczka.pl

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/orders/confirm?operatorName=POCZTA \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: no body

Confirm multiple
POST /v2/orders/confirm/multiple

Confirms list of orders for any "operator".

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/orders/confirm/multiple \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"
  --header 'bp-source: some-source' \
  --header 'content-type: application/json' \
  --header 'bp-check-price: Validate orders price, boolean value. If true, Price object is required in request body. ' \
  --data '[{
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "countryCode": "PL",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet":"Aleje Jerozolimskie",
    "receiverBuildingNumber":"2A",
    "receiverFlatNumber":"3",
    "receiverPostCode":"11-111",
    "receiverCity":"Warszawa",
    "receiverCountryCode": "PL",
    "operatorName": "POCZTA",
    "destinationCode": "242132",
    "postingCode": "432082",
    "additionalInformation": "Some additional information",
    "autoPickup": "true",
    "parcels": [
        {
            "dimensions": {
                "height": 5,
                "length": 20,
                "width": 15,
                "weight": 20
            },
            "insuranceValue": 500
        }
    ],
    "codValue": 300,
    "codPayoutBankAccountNumber": "16102019120000910201486273",
    "deliveryType": "P2P",
    "price": {
      "net": 12.92,
      "vat": 2.97,
      "gross": 15.89
    }
}]'

Example response:

[
  {
    "number": "000000000P-000000001",
    "source": "API",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderCompanyName": null,
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverCompanyName": null,
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet":"Aleje Jerozolimskie",
    "receiverBuildingNumber":"2A",
    "receiverFlatNumber":"3",
    "receiverPostCode":"11-111",
    "receiverCity":"Warszawa",
    "receiverCountryCode": "PL",
    "operatorName": "POCZTA",
    "additionalInformation": "Some additional information",
    "parcels": [
      {
        "dimensions": {
          "length": 20,
          "height": 5,
          "width": 15,
          "weight": 20
        },
        "insuranceValue": 500
      }
    ],
    "codValue": 300,
    "insuranceValue": null,
    "additionalServices": [
    ],
    "codPayoutBankAccountNumber": "16102019120000910201486273",
    "destinationCode": "242132",
    "postingCode": "432082",
    "chooseDestinationPoint": false,
    "deliveryType": "P2P",
    "reference": null,
    "additionalReference": null,
    "allegroTransactionId": null,
    "allegroOffers": [
    ],
    "status": "PROCESSING",
    "creationDate": "2020-06-19T17:34:34.917",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "87-327",
    "postingCity": "Bobrowo",
    "postingStreet": "Bobrowo 20a",
    "destinationPostCode": "37-620",
    "destinationCity": "Horyniec-Zdrój",
    "destinationStreet": "Aleja Przyjaźni 5",
    "discount": null,
    "orderItems": [
      {
        "itemType": "COD",
        "serviceName": null,
        "price": {
          "net": 3.99,
          "vat": 0.92,
          "gross": 4.91
        },
        "value": null
      },
      {
        "itemType": "INSURANCE",
        "serviceName": null,
        "price": {
          "net": 0.00,
          "vat": 0.00,
          "gross": 0.00
        },
        "value": null
      },
      {
        "itemType": "SHIPMENT",
        "serviceName": "5-20kg",
        "price": {
          "net": 8.93,
          "vat": 2.05,
          "gross": 10.98
        },
        "value": null
      }
    ],
    "price": {
      "net": 12.92,
      "vat": 2.97,
      "gross": 15.89
    },
    "subsidizedPrice": null,
    "errorReason": null,
    "waybillNumber": null,
    "trackings": [
    ],
    "promoCode": null,
    "promoAmount": null,
    "notes": [
    ],
    "changes": [
      {
        "dateTime": "2020-06-19T17:34:34.892",
        "status": "SAVED",
        "reason": null,
        "operatorStatusChanges": [
        ]
      },
      {
        "dateTime": "2020-06-19T17:34:35.371",
        "status": "PAYMENT_CONFIRMED",
        "reason": null,
        "operatorStatusChanges": [
        ]
      },
      {
        "dateTime": "2020-06-19T17:34:35.371",
        "status": "PROCESSING",
        "reason": null,
        "operatorStatusChanges": [
        ]
      }
    ],
    "paymentType": "POST",
    "paymentUrl": null,
    "paymentSessionId": null,
    "internalPayuSessionId": null,
    "payoutPayuSessionId": null,
    "userId": 1828,
    "hasInvoice": false,
    "invoiceNumber": null,
    "invoiceId": null,
    "token": null,
    "pickups": [
    ],
    "brokerId": null,
    "adviceSource": "some-source",
    "creationSource": "some-source"
  }
]
Pickup

Bliskapaczka.pl pickup api.

Get available pickup windows
GET /v2/order/pickup

Query parameters:

Name Type Description

orderNumbers

String[]

Required

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order/pickup?orderNumbers=000000001P-000000001,000000001P-000000002 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

[
    {
        "orderNumber": "000000001P-000000001",
        "availablePickups": [
            {
                "date": "2020-07-15",
                "timeFrom": "10:00",
                "timeTo": "14:00"
            },
            {
                "date": "2020-07-15",
                "timeFrom": "12:00",
                "timeTo": "16:00"
            }
        ]
    },
    {
        "orderNumber": "000000001P-000000002",
        "availablePickups": null,
        "description": "pl.bliskapaczka.operator.order.availablePickups: This operator doesn't support fetching available pickup windows"
    }
]
Create pickup
POST /v2/order/pickup

Orders pickup for given data and returns pickup id

Available for orders in statuses
  • READY_TO_SEND

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/pickup \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
  "orderNumbers": [
    "000000001P-000000007"
  ],
  "pickupWindow": {
  	  "date": "2018-02-01",
	  "timeRange": {
	    "from": "14:00",
	    "to": "16:00"
	  }
  },
  "pickupAddress": {
    "street": "Wagonowa",
    "buildingNumber": "2b",
    "flatNumber": "",
    "city": "Wrocław",
    "postCode": "53-609"
  },
  "firstAvailable": false
}'

Example response:

{
  "id": 2,
  "number": "2929602E9CP",
  "pickupWindow": {
    "date": "2018-02-01",
    "timeFrom": "14:00",
    "timeTo": "16:00"
  },
  "address": {
    "street": "Bulwar Ikara",
    "buildingNumber": "1",
    "flatNumber": "1",
    "city": "Lwówek Śląski",
    "postCode": "59-600"
  }
}
Get order
GET /v2/order/$number

Returns order by given order number.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000002 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000002",
    "senderFirstName": "IamTest",
    "senderLastName": "IamTest",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "testuser@example.com",
    "senderStreet": "Testowa",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "2",
    "senderPostCode": "12-345",
    "senderCity": "Testowe",
    "receiverFirstName": "IamTest",
    "receiverLastName": "IamTest",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "696452246",
    "receiverEmail": "testuser@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "RUCH",
    "destinationCode": "BD-388553-45-18",
    "postingCode": "BD-619544-42-08",
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 10
        },
        "insuranceValue": null
    }],
    "codValue": null,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "READY_TO_SEND",
    "deliveryType": "P2P",
    "creationDate": "2017-01-19T09:34:28.37",
    "adviceDate": "2017-01-19T09:35:08.179",
    "trackingNumber": "3400013623451",
    "postingPostCode": null,
    "postingCity": null,
    "postingStreet": null,
    "destinationPostCode": null,
    "destinationCity": "Inowrocław",
    "destinationStreet": null,
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 10.00,
            "vat": 2.30,
            "gross": 12.30
        }
    }],
    "price": {
        "net": 10.00,
        "vat": 2.30,
        "gross": 12.30
    }
}
Get order list
GET /v2/order

Returns paged and filtered order list.

Query parameters:

Name Type Description

page

Number

Required
indexed from 0

size

Number

Required
minimum 1

numbers

String[]

Optional

status

OrderStatus

Optional

operatorName

Operator

Optional

trackingNumber

String

Optional

receiverFirstName

String

Optional

receiverLastName

String

Optional

receiverCompanyName

String

Optional

creationDateFrom

DateTime

Optional

creationDateTo

DateTime

Optional

isAllegro

boolean

Optional

allegroOfferId

String

Optional

allegroTransactionId

String

Optional

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order?size=10&page=0&numbers=000000000P-000000000,000000000P-000000001 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

  curl --request GET \
    --url 'https://api.sandbox-bliskapaczka.pl/v2/order?numbers=000000000P-000000000&size=10&page=0' \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
	"content": [
		{
			"status": "SAVED",
			"number": "000000001P-Z00000001",
			"creationDate": "2018-03-08T13:41:48.059",
			"adviceDate": null,
			"trackingNumber": null,
			"senderFirstName": "Jacek",
			"senderLastName": "Leszczynski",
			"senderCompanyName": null,
			"receiverFirstName": null,
			"receiverLastName": null,
			"receiverCompanyName": "Eastend",
			"operatorName": "INPOST",
			"destinationCode": "KRA010",
			"postingCode": null,
			"paymentType": "POST",
			"userId": 1
		},
		{
			"status": "SAVED",
			"number": "000000000P-000000000",
			"creationDate": "2016-07-21T16:10:53.72",
			"adviceDate": null,
			"trackingNumber": null,
			"senderFirstName": "Test",
			"senderLastName": "Test",
			"senderCompanyName": "Test",
			"receiverFirstName": null,
			"receiverLastName": null,
			"receiverCompanyName": null,
			"operatorName": null,
			"destinationCode": null,
			"postingCode": null,
			"paymentType": "POST",
			"userId": 1
		}
	],
	"totalElements": 2
}
Get waybill
GET /v2/order/$number/waybill

Returns url to waybill file of order with given order number.

Unavailable for orders in statuses
  • NEW

  • SAVED

  • WAITING_FOR_PAYMENT

  • PAYMENT_CONFIRMED

  • PAYMENT_REJECTED

  • PAYMENT_CANCELLATION_ERROR

  • PROCESSING

  • ADVISING

  • ERROR

  • CANCELED

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000002/waybill \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

[
  {
    "url" : "https://storage.googleapis.com/test.cloud.senditstatic.pl/ppo/ruch/waybill/2017/01/03/000000001P-000000002.pdf?GoogleAccessId=storage@archiwum-140107.iam.gserviceaccount.com&Expires=1512471128&Signature=k1aQ3MKqI37Kg8mnbMwxJ8danOGEKgwXFmUb2Lg6szxStoGl5OLmlDugCTVMA8YUNVR%2FTz"
  },
  {
    "url" : "https://storage.googleapis.com/test.cloud.senditstatic.pl/ppo/ruch/waybill/2017/01/03/000000001P-000000002.pdf?GoogleAccessId=storage@archiwum-140107.iam.gserviceaccount.com&Expires=1512471128&Signature=k1aQ3MKqI37Kg8mnbMwxJ8danOGEKgwXFmUb2Lg6szxStoGl5OLmlDugCTVMA8YUNVR%2FTz"
  }
]
Get waybill by reference number
GET /v2/order/waybills/reference/$reference?format=$[PDF|ZPL]

Returns url to waybill file of order with given order reference.

Unavailable for orders in statuses
  • NEW

  • SAVED

  • WAITING_FOR_PAYMENT

  • PAYMENT_CONFIRMED

  • PAYMENT_REJECTED

  • PAYMENT_CANCELLATION_ERROR

  • PROCESSING

  • ADVISING

  • ERROR

  • CANCELED

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order/waybills/reference/ref-123?format=PDF \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

["Base64 encoded waybill"]
Get tracking
GET /v2/order/$number/tracking

Returns order status changes by given order number.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000002/tracking \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000002",
    "changes": [{
        "dateTime": "2017-11-21T12:10:55.971",
        "status": "SAVED"
    }, {
        "dateTime": "2017-11-21T12:10:56.208",
        "status": "PAYMENT_CONFIRMED"
    }, {
        "dateTime": "2017-11-21T12:10:56.208",
        "status": "PROCESSING"
    }, {
        "dateTime": "2017-11-21T12:10:56.37",
        "status": "ADVISING"
    }, {
        "dateTime": "2017-11-21T12:11:40.233",
        "status": "READY_TO_SEND"
    }]
}
Cancel
POST /v2/order/$number/cancel

Cancel order. Triggers cancellation process. When orders is already advised its status is changed to MARKED_FOR_CANCELLATION for 24 hours, then operator status is checked whether the order was sent and if not its status is changed to CANCELLED

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000072/cancel \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "INPOST",
    "destinationCode": "KRA010",
    "postingCode": "KRA011",
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "MARKED_FOR_CANCELLATION",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T14:45:29.195",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 8.25,
            "vat": 1.90,
            "gross": 10.15
        }
    }],
    "price": {
        "net": 8.25,
        "vat": 1.90,
        "gross": 10.15
    }
}
Retry
POST /v2/order/$number/retry

Retry order advice. Used to trigger order processing when given order is in ERROR status and that error reason allows for this action.

Available for orders in status ERROR with reasons:
  • GENERIC_ADVICE_ERROR

  • AUTHORIZATION_ERROR

  • LABEL_GENERATION_ERROR

  • WAYBILL_PROCESS_ERROR

  • BACKEND_ERROR

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000072/retry \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: no body

GET /v2/order/$number/accessLink

It is possible to let end user choose parcel destination. This endpoint Returns order with access link that can be sent to end user to pick destination point. Bliskapaczka.pl post about the feature

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000002/accessLink \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000002",
    "senderFirstName": "IamTest",
    "senderLastName": "IamTest",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "testuser@example.com",
    "senderStreet": "Testowa",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "2",
    "senderPostCode": "12-345",
    "senderCity": "Testowe",
    "receiverFirstName": "IamTest",
    "receiverLastName": "IamTest",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "912345678",
    "receiverEmail": "testuser@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": null,
    "destinationCode": null,
    "postingCode": null,
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 10,
            "height": 10,
            "width": 10,
            "weight": 10
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": true,
    "status": "SAVED",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T12:52:02.441",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": null,
    "postingCity": null,
    "postingStreet": null,
    "destinationPostCode": null,
    "destinationCity": null,
    "destinationStreet": null,
    "orderItems": [],
    "price": null,
    "tokenLink": "https://sandbox-bliskapaczka.pl/wybierz-punkt/115b902709f34c1eb417fc22125dce84"
}
Notify
POST /v2/order/$number/notify

Sends email notification to end user to choose destination point.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/000000001P-000000072/notify \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "IamTest",
    "senderLastName": "IamTest",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "testuser@example.com",
    "senderStreet": "Testowa",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "2",
    "senderPostCode": "12-345",
    "senderCity": "Testowe",
    "receiverFirstName": "Marcin",
    "receiverLastName": "dfgfd",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "912345678",
    "receiverEmail": "marcin.architek@sendit.pl",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": null,
    "destinationCode": null,
    "postingCode": null,
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 10,
            "height": 10,
            "width": 10,
            "weight": 10
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": true,
    "status": "SAVED",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T15:14:13.761",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": null,
    "postingCity": null,
    "postingStreet": null,
    "destinationPostCode": null,
    "destinationCity": null,
    "destinationStreet": null,
    "orderItems": [],
    "price": null,
    "tokenLink": "https://sandbox-bliskapaczka.pl/wybierz-punkt/96b3e12da0704357a335e05beda47c8d"
}
Available services
POST /v2/order/services

Returns services available for posted order details.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/services \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
	"senderFirstName":"Sender",
	"senderLastName":"Sender",
	"senderCompanyName":"Sender Company",
	"senderPhoneNumber":"666777888",
	"senderEmail":"sender@example.com",
	"senderStreet":"Rynek",
	"senderBuildingNumber":"1",
	"senderFlatNumber":"1",
	"senderPostCode":"53-019",
	"senderCity":"Wrocław",
	"receiverFirstName":"Receiver",
	"receiverLastName":"Receiver",
	"receiverCompanyName":"Receiver Company",
	"receiverPhoneNumber":"987654321",
	"receiverEmail":"receiver@example.com",
	"receiverStreet":"Wagonowa",
	"receiverBuildingNumber":"2b",
	"receiverFlatNumber":null,
	"receiverPostCode":"53-019",
	"receiverCity":"Wrocław",
	"operatorName":"XPRESS",
	"parcels":[
		{
			"dimensions":{
				"height":20,
				"length":20,
				"width":20,
				"weight":20
			},
			"insuranceValue":150
		}
	],
	"codValue":11.1,
	"codPayoutBankAccountNumber":"61109010140000071219812874",
	"deliveryType": "D2D",
	"serviceType": "COUNTRY"
}'

Example response:

[
    "SAME_DAY_18_22"
]
Pricing

Bliskapaczka.pl order pricing api.

Calculate order price
POST /v2/order/pricing

Prices an order

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/pricing \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "countryCode":"PL",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverCompanyName":"Receiver Company",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "receiverStreet":"Aleje Jerozolimskie",
    "receiverBuildingNumber":"2A",
    "receiverFlatNumber":"3",
    "receiverPostCode":"11-111",
    "receiverCity":"Warszawa",
    "receiverCountryCode":"PL",
    "operatorName":"INPOST",
    "destinationCode":"KRA010",
    "postingCode":"KRA011",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "additionalReference": "Some additional reference",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue": 150
    }],
    "deliveryType":"P2P"
  }'

Example response:

[
  {
    "operatorService": "KURIER_48",
    "serviceType": "P2P",
    "price": {
      "net": 10.00,
      "vat": 2.30,
      "gross": 12.30
    },
    "parcels": [
      {
        "ref": "reference_number",
        "serviceName": "0-5",
        "weightType": "REAL",
        "price": {
          "net": 7.00,
          "vat": 1.61,
          "gross": 8.61
        },
        "additionalServices": [
          {
            "serviceName": "INSURANCE",
            "price": {
              "net": 2.00,
              "vat": 0.46,
              "gross": 2.46
            },
            "changed": false
          }
        ]
      }
    ],
    "pallets": [],
    "globalUnavailableResons": [],
    "unavailableReasons": [],
    "additionalServices": [
      {
        "serviceName": "COD",
        "price": {
          "net": 1.00,
          "vat": 0.23,
          "gross": 1.23
        },
        "changed": false
      }
    ],
    "available": true,
    "ownAgreement": false
  }
]
Validate

Bliskapaczka.pl order validation.

Validate order
POST /v2/order/validate

Validate an order data

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/validate \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderCompanyName":"Sender Company",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "countryCode":"PL",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverCompanyName":"Receiver Company",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "receiverStreet":"Aleje Jerozolimskie",
    "receiverBuildingNumber":"2A",
    "receiverFlatNumber":"3",
    "receiverPostCode":"11-111",
    "receiverCity":"Warszawa",
    "receiverCountryCode":"PL",
    "operatorName":"INPOST",
    "destinationCode":"KRA010",
    "postingCode":"KRA011",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "additionalReference": "Some additional reference",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue": 1200.00
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "deliveryType":"P2P",
    "serviceId": "SAME_DAY_18_22"
  }'

Example response:

{
  "senderFirstName":"Sender",
  "senderLastName":"Sender",
  "senderCompanyName":"Sender Company",
  "senderPhoneNumber":"123456789",
  "senderEmail":"sender@example.com",
  "senderStreet":"Rynek",
  "senderBuildingNumber":"1",
  "senderFlatNumber":"1",
  "senderPostCode":"00-000",
  "senderCity":"Wroclaw",
  "countryCode":"PL",
  "receiverFirstName":"Receiver",
  "receiverLastName":"Receiver",
  "receiverCompanyName":"Receiver Company",
  "receiverPhoneNumber":"987654321",
  "receiverEmail":"receiver@example.com",
  "receiverStreet":"Aleje Jerozolimskie",
  "receiverBuildingNumber":"2A",
  "receiverFlatNumber":"3",
  "receiverPostCode":"11-111",
  "receiverCity":"Warszawa",
  "receiverCountryCode":"PL",
  "operatorName":"INPOST",
  "destinationCode":"KRA010",
  "postingCode":"KRA011",
  "additionalInformation": "Some additional information",
  "reference": "Some reference",
  "additionalReference": "Some additional reference",
  "parcels":[{
      "dimensions":{
          "height":20,
          "length":20,
          "width":20,
          "weight":20
      },
      "insuranceValue": 1200.00
  }],
  "codValue":110,
  "codPayoutBankAccountNumber":"16102019120000910201486273",
  "deliveryType":"P2P",
  "serviceId": "SAME_DAY_18_22"
}

Pricing

Returns prices configured by customer in configuration panel (https://bliskapaczka.pl/panel/narzedzia/integracja), according to parcel dimensions.

By delivery type

Prices for given delivery type. Allowed delivery types: P2P, P2D, D2P, D2D. By default P2P will be used.

POST /v2/pricing/

Try it out:

  curl -X POST https://api.sandbox-bliskapaczka.pl/v2/pricing \
    -H 'authorization: Bearer xxxx-xxxx-xxxx-xxxx' \
    -H 'content-type: application/json' \
    -d '{
  	"parcel":{
  		"dimensions":{
  			"length":10,
  			"width":10,
  			"height":10,
  			"weight":1
  		},
  		"insuranceValue":10
  	},
  	"codValue":10,
  	"deliveryType":"P2P"
  }'

Example response:

[
	{
		"operatorName": "DPD",
		"operatorFullName": "DPD",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "RUCH",
		"operatorFullName": "Ruch",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "INPOST",
		"operatorFullName": "Inpost",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "POCZTA",
		"operatorFullName": "Poczta Polska",
		"availabilityStatus": false,
		"price": null,
		"unavailabilityReason": {
			"errors": [
				{
					"messageCode": "pl.bliskapaczka.pricing.unavailable.noShipmentOffer",
					"message": "No shipment offer available",
					"field": null,
					"value": null
				}
			]
		}
	}
]
To door

Prices for door to door (D2D) delivery type.

POST /v2/pricing/todoor

Try it out:

  curl -X POST https://api.sandbox-bliskapaczka.pl/v2/pricing/todoor \
    -H 'authorization: Bearer xxxx-xxxx-xxxx-xxxx' \
    -H 'content-type: application/json' \
    -d '{
  	"parcel":{
  		"dimensions":{
  			"length":10,
  			"width":10,
  			"height":10,
  			"weight":1
  		},
  		"insuranceValue":10
  	},
  	"codValue":10
  }'

Example response:

[
	{
		"operatorName": "DPD",
		"operatorFullName": "DPD",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "INPOST",
		"operatorFullName": "Inpost",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "GLS",
		"operatorFullName": "GLS",
		"availabilityStatus": false,
		"price": null,
		"unavailabilityReason": {
			"errors": [
				{
					"messageCode": "pl.bliskapaczka.pricing.unavailable.noShipmentOffer",
					"message": "No shipment offer available",
					"field": null,
					"value": null
				}
			]
		}
	}
]

Report

Bliskapaczka.pl reports utilities.

Pickup confirmation
GET /v2/report/pickupconfirmation

Query parameters:

Name Type Description

numbers

String[]

required
order numbers for pickup report

Returns pickup confirmation report for given order numbers

Given order numbers must:
  • have same operatorName

  • be in "READY_TO_SEND" status

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/report/pickupconfirmation?numbers=000000001P-0000000001,000000001P-0000000002 \
  -H "Accept: application/pdf" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: PDF

Pickup confirmation for operator
GET /v2/report/pickupconfirmation/$operator

Query parameters:

Name Type Description

startPeriod

DateTime

Optional

endPeriod

DateTime

Optional

Returns pickup confirmation report for given operator orders in status 'READY_TO_SEND'.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/report/pickupconfirmation/ruch?startPeriod=2017-10-23T12:00:00 \
  -H "Accept: application/pdf" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: PDF

Returns

Bliskapaczka.pl returns api.

Model:

Return order
Name Type Required Description

senderFirstName

string

Required when senderCompanyName is blank.

max length 30

senderLastName

string

Required when senderCompanyName is blank.

max length 30

senderCompanyName

string

Required when senderFirstName or senderLastName is blank.

max length 50

senderPhoneNumber

string

required

max length 30

senderEmail

string

required

max length 60, valid value: email address
e.g. john@example.com

senderStreet

string

required

max length 30

senderBuildingNumber

string

required

max length 10

senderFlatNumber

string

optional

max length 10

senderPostCode

string

required

max length 10

senderCity

string

required

max length 30

countryCode

string

optional

ISO 3166-1 alfa-2 country code max lenght 2

receiverFirstName

string

Required when receiverCompanyName is blank. When empty, authenticated user first name by default.

max length 30

receiverLastName

string

Required when receiverCompanyName is blank. When empty, authenticated user last name by default.

max length 30

receiverCompanyName

string

Required when senderFirstName or senderLastName is blank. When empty, authenticated user company name by default.

max length 50

receiverPhoneNumber

string

Required. When empty, authenticated user phone number by default.

max length 30

receiverEmail

string

Required. When empty, authenticated user email by default.

max length 60, valid value: email address
e.g. john@example.com

receiverStreet

string

Required. When empty, authenticated user street by default.

max length 30

receiverBuildingNumber

string

Required. When empty, authenticated user building number by default.

max length 10

receiverFlatNumber

string

Optional. When empty, authenticated user flat number by default.

max length 10

receiverPostCode

string

Required. When empty, authenticated user post code by default.

max length 10

receiverCity

string

Required. When empty, authenticated user city by default.

max length 30

additionalInformation

string

optional

max length 100

reference

string

optional

max length 30

parcels

Parcel

required

 

Parcel
Name Type required Description

dimensions.height

decimal(10,2)

required

min value 0.01

dimensions.length

decimal(10,2)

required

min value 0.01

dimensions.width

decimal(10,2)

required

min value 0.01

dimensions.weight

decimal(10,2)

required

min value 0.01

insuranceValue

decimal(10,2)

optional

min value 0.01

Save
POST /v2/order/return

Save return order. Return order is an order paid by the user but sent by the end user (customer).

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v2/order/return \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "parcel": {
        "dimensions": {
            "height": 20,
            "length": 20,
            "width": 20,
            "weight": 20
        }
    },
    "insuranceValue": 1000
}'

Example response:

{
	"number": "000000001P-000000001",
	"returnLink": "https://bliskapaczka.pl/zwrot/bacb02ceee564703abd84077ea21809c"
}

Tracking

Bliskapaczka.pl tracking api.

Model:

Tracking
Name Type Description

operator

Operator

available operator

trackingNumber

string

currentStatus

Status

status

changes

Status[]

List of statuses

Status
Name Type Description

updatedAt

DateTime

status

OrderStatus

orderStatus

operatorStatuses

OperatorStatus[]

operatorStatus

OperatorStatus
Name Type Description

updatedAt

DateTime

status

string

description

string

place

string

Get tracking
GET /v2/tracking/$number

Returns tracking by given tracking number.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/tracking/123456789 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "operator": "POCZTA",
    "trackingNumber": "123456789",
    "currentStatus": {
        "updatedAt": "2020-01-10T09:54:47",
        "status": "READY_TO_SEND",
        "trackingOperatorStatuses": [
            {
                "updatedAt": "2020-01-10T09:54:47",
                "status": "1",
                "description": "PRZESYŁKA ZAREJESTROWANA W SYSTEMIE",
                "place": null
            }
        ]
    },
    "changes": [
        {
            "updatedAt": "2020-01-10T09:54:47",
            "status": "READY_TO_SEND",
            "trackingOperatorStatuses": [
                {
                    "updatedAt": "2020-01-10T09:54:47",
                    "status": "1",
                    "description": "PRZESYŁKA ZAREJESTROWANA W SYSTEMIE",
                    "place": null
                }
            ]
        }
    ]
}
Get tracking with operator
GET /v2/tracking/$operator/$number

Returns tracking by given tracking number and operator.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v2/tracking/POCZTA/123456789 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "operator": "POCZTA",
    "trackingNumber": "123456789",
    "currentStatus": {
        "updatedAt": "2020-01-10T09:54:47",
        "status": "READY_TO_SEND",
        "trackingOperatorStatuses": [
            {
                "updatedAt": "2020-01-10T09:54:47",
                "status": "1",
                "description": "PRZESYŁKA ZAREJESTROWANA W SYSTEMIE",
                "place": null
            }
        ]
    },
    "changes": [
        {
            "updatedAt": "2020-01-10T09:54:47",
            "status": "READY_TO_SEND",
            "trackingOperatorStatuses": [
                {
                    "updatedAt": "2020-01-10T09:54:47",
                    "status": "1",
                    "description": "PRZESYŁKA ZAREJESTROWANA W SYSTEMIE",
                    "place": null
                }
            ]
        }
    ]
}

v1

Common model:

Operator

RUCH

Ruch

POCZTA

Poczta Polska

INPOST

Inpost

DPD

DPD

UPS

UPS

FEDEX

FedEx

GLS

GLS

XPRESS

X-press Couriers

PricelistItemType

SHIPMENT

Shipment

INSURANCE

Insurance

COD

Cash on delivery

DeliveryType

TO_POINT

Shipment to destination point.

TO_DOOR

Shipment to receiver address.

ServiceType

LOCAL

Local

COUNTRY

Country

INTERNATIONAL

International

VOIVODESHIP

Voivodeship

ECOMMERCE

E-commerce

Error Reason

INVALID_DESTINATION_POINT

Chosen destination point is invalid

INVALID_POSTING_POINT

Chosen posting point is invalid

OPERATOR_VALIDATION_ERROR

Order was rejected by operator validation

GENERIC_ADVICE_ERROR

Something went wrong on the operator side and we were not able to distinguish what

AUTHORIZATION_ERROR

Wrong own agreement credentials were used for the order

LABEL_GENERATION_ERROR

Generating waybill failed

WAYBILL_PROCESS_ERROR

Processing of the waybill failed

BACKEND_ERROR

Something went terribly wrong on our side

Config

Configuration options declared in user panel.

Model:

Config
Name Type

configModel

OperatorConfig[]

OperatorConfig
Name Type

operator

Operator

cod

number

prices

Map<DeliveryType>,PriceLevel>

PriceLevel
Name Type

maxWeight

number

price

number

ReturnPoint
Name Type

operator

Operator

code

string

Get
GET /v1/config

Returns configuration options.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/config \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
	"configModel": [
		{
			"operator": "RUCH",
			"cod": null,
			"prices": {
				"TO_DOOR": null,
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		},
		{
			"operator": "POCZTA",
			"cod": null,
			"prices": {
				"TO_DOOR": null,
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		},
		{
			"operator": "DPD",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		},
		{
			"operator": "GLS",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": null
			}
		},
		{
			"operator": "FEDEX",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": null
			}
		},
		{
			"operator": "INPOST",
			"cod": null,
			"prices": {
				"TO_DOOR": [
					{
						"maxWeight": 5,
						"price": 5
					}
				],
				"TO_POINT": [
					{
						"maxWeight": 5,
						"price": 5
					}
				]
			}
		}
	]
}
Get return config
GET /v1/config/returns

Returns configuration options for return orders.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/config/returns \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
	"returnPoints": [
		{
			"operator": "RUCH",
			"code": "WR-547950-72-59"
		},
		{
			"operator": "POCZTA",
			"code": "275425"
		},
		{
			"operator": "DPD",
			"code": "PL11776"
		},
		{
			"operator": "INPOST",
			"code": "POP-WRO46"
		}
	]
}

Health

Bliskapaczka.pl api health check.

GET /health

Returns service status

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/health

Example response:

{
    "status": "OK"
}

Order

Bliskapaczka.pl order api.

Model:

Order
Name Type Description

number

string

Optional order number. If left empty, will be generated. Otherwise existing order will be used.

senderFirstName

string

max length 30

senderLastName

string

max length 30

senderPhoneNumber

string

max length 30

senderEmail

string

max length 60, valid value: email address
e.g. john@example.com

senderStreet

string

max length 30

senderBuildingNumber

string

max length 10

senderFlatNumber

string

max length 10

senderPostCode

string

max length 10

senderCity

string

max length 30

receiverFirstName

string

max length 30

receiverLastName

string

max length 30

receiverPhoneNumber

string

max length 30

receiverEmail

string

max length 60, valid value: email address
e.g. john@example.com

receiverStreet

string

required only for TO_DOOR parcels
max length 30

receiverBuildingNumber

string

required only for TO_DOOR parcels
max length 10

receiverFlatNumber

string

required only for TO_DOOR parcels
max length 10

receiverPostCode

string

required only for TO_DOOR parcels
max length 10

receiverCity

string

required only for TO_DOOR parcels
max length 30

receiverCountryCode

string

used only for TO_DOOR parcels
ISO 3166-1 alfa-2 country code
max lenght 2
default: "PL"

operatorName

Operator

available operator

destinationCode

string

required only for TO_POINT parcels
max length 50

postingCode

string

required only for TO_POINT parcels
max length 50

additionalInformation

string

max length 100

codValue

decimal(10,2)

nullable
min value 0.01

parcels

Parcel

 

codPayoutBankAccountNumber

string

nullable
bankAccountNumber needed when codValue given and not having own agreement for given operator

chooseDestinationPoint

boolean

used only for TO_POINT parcels

serviceType

ServiceType

optional service type

serviceId

string

optional service identifier
defined by operator

errorReason

string

advice error reason

Order model representation has changed. The new approach is to use a list of parcels instead of a single Parcel entity. The api will support the old concept only for so long. Please migrate as this backward compatibility will be removed in the future.

Parcel
Name Type Description

dimensions.height

decimal(10,2)

min value 0.01

dimensions.length

decimal(10,2)

min value 0.01

dimensions.width

decimal(10,2)

min value 0.01

dimensions.weight

decimal(10,2)

min value 0.01

insuranceValue

decimal(10,2)

nullable
min value 0.01

OrderStatusChanges
Name Type

number

string

changes

OrderStatusChange[]

OrderStatusChange
Name Type

dateTime

DateTime

status

OrderStatus

Save
POST /v1/order

Save order. Updates existing when body parameter "number" is provided or creates new one.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "operatorName":"INPOST",
    "destinationCode":"KRA010",
    "postingCode":"KRA011",
    "additionalInformation": "Some additional information",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue":150
    }],
    "codValue":110.50,
    "codPayoutBankAccountNumber":"16102019120000910201486273"
  }'

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "INPOST",
    "destinationCode": "KRA010",
    "postingCode": "KRA011",
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": 150
    }],
    "codValue":110.50,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "SAVED",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T13:04:32.071",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [],
    "price": null
}
Advice
POST /v1/order/advice

Advice order. Updates existing when body parameter "number" is provided or creates new one.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/advice \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "operatorName":"INPOST",
    "destinationCode":"KRA010",
    "postingCode":"KRA011",
    "additionalInformation": "Some additional information",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue": 1200.00
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "serviceId": "SAME_DAY_18_22"
  }'

Example response:

{
    "number": "000000001P-000000073",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "INPOST",
    "destinationCode": "KRA010",
    "postingCode": "KRA011",
    "additionalInformation": "Some additional information",
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "PROCESSING",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T14:45:29.195",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 8.25,
            "vat": 1.90,
            "gross": 10.15
        }
    }],
    "price": {
        "net": 8.25,
        "vat": 1.90,
        "gross": 10.15
    }
}
Confirm
POST /v1/orders/confirm?operatorName=$operator

Confirms orders for given "operator". Currently supported only for POCZTA.
Sends the parcels buffer to Poczta Institution with PNI saved in own agreement configuration panel in bliskapaczka.pl

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/orders/confirm?operatorName=POCZTA \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: no body

Get order
GET /v1/order/$number

Returns order by given order number.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000002 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000002",
    "senderFirstName": "IamTest",
    "senderLastName": "IamTest",
    "senderPhoneNumber": "123456789",
    "senderEmail": "testuser@example.com",
    "senderStreet": "Testowa",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "2",
    "senderPostCode": "12-345",
    "senderCity": "Testowe",
    "receiverFirstName": "IamTest",
    "receiverLastName": "IamTest",
    "receiverPhoneNumber": "696452246",
    "receiverEmail": "testuser@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "RUCH",
    "destinationCode": "BD-388553-45-18",
    "postingCode": "BD-619544-42-08",
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 10
        },
        "insuranceValue": null
    }],
    "codValue": null,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "READY_TO_SEND",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-01-19T09:34:28.37",
    "adviceDate": "2017-01-19T09:35:08.179",
    "trackingNumber": "3400013623451",
    "postingPostCode": null,
    "postingCity": null,
    "postingStreet": null,
    "destinationPostCode": null,
    "destinationCity": "Inowrocław",
    "destinationStreet": null,
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 10.00,
            "vat": 2.30,
            "gross": 12.30
        }
    }],
    "price": {
        "net": 10.00,
        "vat": 2.30,
        "gross": 12.30
    }
}
Get order list
GET /v1/order

Returns paged and filtered order list.

Query parameters:

Name Type Description

page

Number

Required
indexed from 0

size

Number

Required
minimum 1

numbers

String[]

Optional

status

OrderStatus

Optional

operatorName

Operator

Optional

trackingNumber

String

Optional

receiverFirstName

String

Optional

receiverLastName

String

Optional

creationDateFrom

DateTime

Optional

creationDateTo

DateTime

Optional

isAllegro

boolean

Optional

allegroOfferId

String

Optional

allegroTransactionId

String

Optional

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/order?size=10&page=0&numbers=000000000P-000000000,000000000P-000000001 \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

  curl --request GET \
    --url 'http://https://api.sandbox-bliskapaczka.pl/v1/order?numbers=000000000P-000000000&size=10&page=0' \
      -H "Accept: application/json" \
      -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
	"content": [
		{
			"status": "SAVED",
			"number": "000000001P-Z00000001",
			"creationDate": "2018-03-08T13:41:48.059",
			"adviceDate": null,
			"trackingNumber": null,
			"senderFirstName": "Jacek",
			"senderLastName": "Leszczynski",
			"receiverFirstName": "Eastend",
			"receiverLastName": "Buty",
			"operatorName": "INPOST",
			"destinationCode": "KRA010",
			"postingCode": null,
			"paymentType": "POST",
			"userId": 1
		},
		{
			"status": "SAVED",
			"number": "000000000P-000000000",
			"creationDate": "2016-07-21T16:10:53.72",
			"adviceDate": null,
			"trackingNumber": null,
			"senderFirstName": "Test",
			"senderLastName": "Test",
			"receiverFirstName": null,
			"receiverLastName": null,
			"operatorName": null,
			"destinationCode": null,
			"postingCode": null,
			"paymentType": "POST",
			"userId": 1
		}
	],
	"totalElements": 2
}
Get waybill
GET /v1/order/$number/waybill

Returns url to waybill file of order with given order number.

Unavailable for orders in statuses
  • NEW

  • SAVED

  • WAITING_FOR_PAYMENT

  • PAYMENT_CONFIRMED

  • PAYMENT_REJECTED

  • PAYMENT_CANCELLATION_ERROR

  • PROCESSING

  • ADVISING

  • ERROR

  • CANCELED

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000002/waybill \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
  "url" : "https://storage.googleapis.com/test.cloud.senditstatic.pl/ppo/ruch/waybill/2017/01/03/000000001P-000000002.pdf?GoogleAccessId=storage@archiwum-140107.iam.gserviceaccount.com&Expires=1512471128&Signature=k1aQ3MKqI37Kg8mnbMwxJ8danOGEKgwXFmUb2Lg6szxStoGl5OLmlDugCTVMA8YUNVR%2FTz"
}
Get tracking
GET /v1/order/$number/tracking

Returns order status changes by given order number.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000002/tracking \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000002",
    "changes": [{
        "dateTime": "2017-11-21T12:10:55.971",
        "status": "SAVED"
    }, {
        "dateTime": "2017-11-21T12:10:56.208",
        "status": "PAYMENT_CONFIRMED"
    }, {
        "dateTime": "2017-11-21T12:10:56.208",
        "status": "PROCESSING"
    }, {
        "dateTime": "2017-11-21T12:10:56.37",
        "status": "ADVISING"
    }, {
        "dateTime": "2017-11-21T12:11:40.233",
        "status": "READY_TO_SEND"
    }]
}
Save (to door)
POST /v1/order/todoor

Save "to door" order. Updates existing when body parameter "number" is provided or creates new one.
This feature is experimental and disabled by default. To use it, please contact us on: wsparcie@sendit.pl.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/todoor \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "receiverStreet":"Testowa",
    "receiverBuildingNumber":"1",
    "receiverFlatNumber":null,
    "receiverPostCode":"12-345",
    "receiverCity":"Testowe",
    "receiverCountryCode":"PL",
    "additionalInformation":"Some additional information",
    "operatorName":"DPD",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue":110
    }],
    "codValue":150,
    "codPayoutBankAccountNumber":"16102019120000910201486273"
  }'

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet":"Testowa",
    "receiverBuildingNumber":"1",
    "receiverFlatNumber":null,
    "receiverPostCode":"12-345",
    "receiverCity":"Testowe",
    "operatorName": "DPD",
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": 110
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "SAVED",
    "deliveryType": "TO_DOOR",
    "creationDate": "2017-11-28T13:04:32.071",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [],
    "price": null
}
Advice (to door)
POST /v1/order/advice/todoor

Advice "to door" order. Updates existing order when body parameter "number" is provided or creates new one.
This feature is experimental and disabled by default. To use it, please contact us on: wsparcie@sendit.pl.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/advice/todoor \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName":"Sender",
    "senderLastName":"Sender",
    "senderPhoneNumber":"123456789",
    "senderEmail":"sender@example.com",
    "senderStreet":"Rynek",
    "senderBuildingNumber":"1",
    "senderFlatNumber":"1",
    "senderPostCode":"00-000",
    "senderCity":"Wroclaw",
    "receiverFirstName":"Receiver",
    "receiverLastName":"Receiver",
    "receiverPhoneNumber":"987654321",
    "receiverEmail":"receiver@example.com",
    "receiverStreet":"Testowa",
    "receiverBuildingNumber":"1",
    "receiverFlatNumber":null,
    "receiverPostCode":"12-345",
    "receiverCity":"Testowe",
    "receiverCountryCode":"PL",
    "operatorName":"DPD",
    "additionalInformation": "Some additional information",
    "parcels":[{
      "dimensions":{
        "height":20,
        "length":20,
        "width":20,
        "weight":20
      },
      "insuranceValue":1200.00
    }],
    "codValue":110,
    "serviceId": "SAME_DAY_18_22"
  }'

Example response:

{
    "number": "000000001P-000000073",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet":"Testowa",
    "receiverBuildingNumber":"1",
    "receiverFlatNumber":null,
    "receiverPostCode":"12-345",
    "receiverCity":"Testowe",
    "operatorName": "DPD",
    "additionalInformation": "Some additional information",
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "PROCESSING",
    "deliveryType": "TO_DOOR",
    "creationDate": "2017-11-28T14:45:29.195",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 8.25,
            "vat": 1.90,
            "gross": 10.15
        }
    }],
    "price": {
        "net": 8.25,
        "vat": 1.90,
        "gross": 10.15
    }
}
Cancel
POST /v1/order/$number/cancel

Cancel order. Triggers cancellation process. When orders is already advised its status is changed to MARKED_FOR_CANCELLATION for 24 hours, then operator status is checked whether the order was sent and if not its status is changed to CANCELLED

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000072/cancel \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": "INPOST",
    "destinationCode": "KRA010",
    "postingCode": "KRA011",
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 20,
            "height": 20,
            "width": 20,
            "weight": 20
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": false,
    "status": "MARKED_FOR_CANCELLATION",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T14:45:29.195",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": "31-274",
    "postingCity": "Kraków",
    "postingStreet": "Opolska 9",
    "destinationPostCode": "30-624",
    "destinationCity": "Kraków",
    "destinationStreet": "Malborska 130",
    "orderItems": [{
        "itemType": "SHIPMENT",
        "price": {
            "net": 8.25,
            "vat": 1.90,
            "gross": 10.15
        }
    }],
    "price": {
        "net": 8.25,
        "vat": 1.90,
        "gross": 10.15
    }
}
Retry
POST /v1/order/$number/retry

Retry order advice. Used to trigger order processing when given order is in ERROR status and that error reason allows for this action.

Available for orders in status ERROR with reasons:
  • GENERIC_ADVICE_ERROR

  • AUTHORIZATION_ERROR

  • LABEL_GENERATION_ERROR

  • WAYBILL_PROCESS_ERROR

  • BACKEND_ERROR

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000072/retry \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: no body

GET /v1/order/$number/accessLink

It is possible to let end user choose parcel destination. This endpoint Returns order with access link that can be sent to end user to pick destination point. Bliskapaczka.pl post about the feature

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000002/accessLink \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000002",
    "senderFirstName": "IamTest",
    "senderLastName": "IamTest",
    "senderPhoneNumber": "123456789",
    "senderEmail": "testuser@example.com",
    "senderStreet": "Testowa",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "2",
    "senderPostCode": "12-345",
    "senderCity": "Testowe",
    "receiverFirstName": "IamTest",
    "receiverLastName": "IamTest",
    "receiverPhoneNumber": "912345678",
    "receiverEmail": "testuser@example.com",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": null,
    "destinationCode": null,
    "postingCode": null,
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 10,
            "height": 10,
            "width": 10,
            "weight": 10
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": true,
    "status": "SAVED",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T12:52:02.441",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": null,
    "postingCity": null,
    "postingStreet": null,
    "destinationPostCode": null,
    "destinationCity": null,
    "destinationStreet": null,
    "orderItems": [],
    "price": null,
    "tokenLink": "https://sandbox-bliskapaczka.pl/wybierz-punkt/115b902709f34c1eb417fc22125dce84"
}
Notify
POST /v1/order/$number/notify

Sends email notification to end user to choose destination point.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/000000001P-000000072/notify \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Example response:

{
    "number": "000000001P-000000072",
    "senderFirstName": "IamTest",
    "senderLastName": "IamTest",
    "senderPhoneNumber": "123456789",
    "senderEmail": "testuser@example.com",
    "senderStreet": "Testowa",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "2",
    "senderPostCode": "12-345",
    "senderCity": "Testowe",
    "receiverFirstName": "Marcin",
    "receiverLastName": "dfgfd",
    "receiverPhoneNumber": "912345678",
    "receiverEmail": "marcin.architek@sendit.pl",
    "receiverStreet": "Ulica",
    "receiverBuildingNumber": "1A",
    "receiverFlatNumber": "2B",
    "receiverPostCode": "99-999",
    "receiverCity": "Kraków",
    "receiverCountryCode": "PL",
    "operatorName": null,
    "destinationCode": null,
    "postingCode": null,
    "additionalInformation": null,
    "parcels": [{
        "dimensions": {
            "length": 10,
            "height": 10,
            "width": 10,
            "weight": 10
        },
        "insuranceValue": null
    }],
    "codValue":110,
    "codPayoutBankAccountNumber":"16102019120000910201486273",
    "chooseDestinationPoint": true,
    "status": "SAVED",
    "deliveryType": "TO_POINT",
    "creationDate": "2017-11-28T15:14:13.761",
    "adviceDate": null,
    "trackingNumber": null,
    "postingPostCode": null,
    "postingCity": null,
    "postingStreet": null,
    "destinationPostCode": null,
    "destinationCity": null,
    "destinationStreet": null,
    "orderItems": [],
    "price": null,
    "tokenLink": "https://sandbox-bliskapaczka.pl/wybierz-punkt/96b3e12da0704357a335e05beda47c8d"
}
Available services
POST /v1/order/services

Returns services available for posted order details.

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/services \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
	"senderFirstName":"Sender",
	"senderLastName":"Sender",
	"senderPhoneNumber":"666777888",
	"senderEmail":"sender@example.com",
	"senderStreet":"Rynek",
	"senderBuildingNumber":"1",
	"senderFlatNumber":"1",
	"senderPostCode":"53-019",
	"senderCity":"Wrocław",
	"receiverFirstName":"Receiver",
	"receiverLastName":"Receiver",
	"receiverPhoneNumber":"987654321",
	"receiverEmail":"receiver@example.com",
	"receiverStreet":"Wagonowa",
	"receiverBuildingNumber":"2b",
	"receiverFlatNumber":null,
	"receiverPostCode":"53-019",
	"receiverCity":"Wrocław",
	"operatorName":"XPRESS",
	"parcels":[
		{
			"dimensions":{
				"height":20,
				"length":20,
				"width":20,
				"weight":20
			},
			"insuranceValue":150
		}
	],
	"codValue":11.1,
	"codPayoutBankAccountNumber":"61109010140000071219812874",
	"serviceType": "COUNTRY"
}'

Example response:

[
    "SAME_DAY_18_22"
]

Pricing

Bliskapaczka.pl pricing api.

To point

Bliskapaczka.pl to point pricing api.

POST /v1/pricing/

Returns pricing for given parcel according to the user configuration from https://bliskapaczka.pl/panel/narzedzia/integracja.

Try it out:

  curl -X POST https://api.sandbox-bliskapaczka.pl/v1/pricing \
    -H 'authorization: Bearer xxxx-xxxx-xxxx-xxxx' \
    -H 'content-type: application/json' \
    -d '{
  	"parcel":{
  		"dimensions":{
  			"length":10,
  			"width":10,
  			"height":10,
  			"weight":1
  		},
  		"insuranceValue":10
  	},
  	"codValue":10
  }'

Example response:

[
	{
		"operatorName": "DPD",
		"operatorFullName": "DPD",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "RUCH",
		"operatorFullName": "Ruch",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "INPOST",
		"operatorFullName": "Inpost",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "POCZTA",
		"operatorFullName": "Poczta Polska",
		"availabilityStatus": false,
		"price": null,
		"unavailabilityReason": {
			"errors": [
				{
					"messageCode": "pl.bliskapaczka.pricing.unavailable.noShipmentOffer",
					"message": "No shipment offer available",
					"field": null,
					"value": null
				}
			]
		}
	}
]
To door

Bliskapaczka.pl to door pricing api.

POST /v1/pricing/todoor

Returns pricing for given courier parcel according to the user configuration from https://bliskapaczka.pl/panel/narzedzia/integracja.

Try it out:

  curl -X POST https://api.sandbox-bliskapaczka.pl/v1/pricing/todoor \
    -H 'authorization: Bearer xxxx-xxxx-xxxx-xxxx' \
    -H 'content-type: application/json' \
    -d '{
  	"parcel":{
  		"dimensions":{
  			"length":10,
  			"width":10,
  			"height":10,
  			"weight":1
  		},
  		"insuranceValue":10,
  	},
  	"codValue":10
  }'

Example response:

[
	{
		"operatorName": "DPD",
		"operatorFullName": "DPD",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "INPOST",
		"operatorFullName": "Inpost",
		"availabilityStatus": true,
		"price": {
			"net": 4.07,
			"vat": 0.93,
			"gross": 5.00
		},
		"unavailabilityReason": null
	},
	{
		"operatorName": "GLS",
		"operatorFullName": "GLS",
		"availabilityStatus": false,
		"price": null,
		"unavailabilityReason": {
			"errors": [
				{
					"messageCode": "pl.bliskapaczka.pricing.unavailable.noShipmentOffer",
					"message": "No shipment offer available",
					"field": null,
					"value": null
				}
			]
		}
	}
]

Report

Bliskapaczka.pl reports utilities.

Pickup confirmation
GET /v1/report/pickupconfirmation

Query parameters:

Name Type Description

numbers

String[]

required
order numbers for pickup report

Returns pickup confirmation report for given order numbers

Given order numbers must:
  • have same operatorName

  • be in "READY_TO_SEND" status

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/report/pickupconfirmation?numbers=000000001P-0000000001,000000001P-0000000002 \
  -H "Accept: application/pdf" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: PDF

Pickup confirmation for operator
GET /v1/report/pickupconfirmation/$operator

Query parameters:

Name Type Description

startPeriod

DateTime

Optional

endPeriod

DateTime

Optional

Returns pickup confirmation report for given operator orders in status 'READY_TO_SEND'.

Try it out:

curl -X GET https://api.sandbox-bliskapaczka.pl/v1/report/pickupconfirmation/ruch?startPeriod=2017-10-23T12:00:00 \
  -H "Accept: application/pdf" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx"

Response: PDF

Returns

Bliskapaczka.pl returns api.

Model:

Return order
Name Type Required Description

senderFirstName

string

required

max length 30

senderLastName

string

required

max length 30

senderPhoneNumber

string

required

max length 30

senderEmail

string

required

max length 60, valid value: email address
e.g. john@example.com

senderStreet

string

required

max length 30

senderBuildingNumber

string

required

max length 10

senderFlatNumber

string

optional

max length 10

senderPostCode

string

required

max length 10

senderCity

string

required

max length 30

countryCode

string

optional

ISO 3166-1 alfa-2 country code max lenght 2

receiverFirstName

string

Required. When empty, authenticated user first name by default.

max length 30

receiverLastName

string

Required. When empty, authenticated user last name by default.

max length 30

receiverPhoneNumber

string

Required. When empty, authenticated user phone number by default.

max length 30

receiverEmail

string

Required. When empty, authenticated user email by default.

max length 60, valid value: email address
e.g. john@example.com

receiverStreet

string

Required. When empty, authenticated user street by default.

max length 30

receiverBuildingNumber

string

Required. When empty, authenticated user building number by default.

max length 10

receiverFlatNumber

string

Optional. When empty, authenticated user flat number by default.

max length 10

receiverPostCode

string

Required. When empty, authenticated user post code by default.

max length 10

receiverCity

string

Required. When empty, authenticated user city by default.

max length 30

additionalInformation

string

optional

max length 100

reference

string

optional

max length 30

parcels

Parcel

required

 

Parcel
Name Type required Description

dimensions.height

decimal(10,2)

required

min value 0.01

dimensions.length

decimal(10,2)

required

min value 0.01

dimensions.width

decimal(10,2)

required

min value 0.01

dimensions.weight

decimal(10,2)

required

min value 0.01

insuranceValue

decimal(10,2)

optional

min value 0.01

Save
POST /v1/order/return

Save return order. Return order is an order paid by the user but sent by the end user (customer).

Try it out:

curl -X POST https://api.sandbox-bliskapaczka.pl/v1/order/return \
  -H "Accept: application/json" \
  -H "Authorization: Bearer xxxx-xxxx-xxxx-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "senderFirstName": "Sender",
    "senderLastName": "Sender",
    "senderCompanyName": "Sender Company",
    "senderPhoneNumber": "123456789",
    "senderEmail": "sender@example.com",
    "senderStreet": "Rynek",
    "senderBuildingNumber": "1",
    "senderFlatNumber": "1",
    "senderPostCode": "00-000",
    "senderCity": "Wroclaw",
    "receiverFirstName": "Receiver",
    "receiverLastName": "Receiver",
    "receiverCompanyName": "Receiver Company",
    "receiverPhoneNumber": "987654321",
    "receiverEmail": "receiver@example.com",
    "additionalInformation": "Some additional information",
    "reference": "Some reference",
    "parcel": {
        "dimensions": {
            "height": 20,
            "length": 20,
            "width": 20,
            "weight": 20
        }
    },
    "insuranceValue": 1000
}'

Example response:

{
	"number": "000000001P-000000001",
	"returnLink": "https://bliskapaczka.pl/zwrot/bacb02ceee564703abd84077ea21809c"
}

Points API Overview

Bliskapaczka.pl points API provides an easy and convenient way to show and filter points on your website.
This documentation describes integration protocols of pos.bliskapaczka.pl based on REST API.

Environments:

Look here for detailed API documentation.

Contact with technical support regarding integration process wsparcie@sendit.pl

Points API Description

This section contains detailed Points API description for all available endpoints.

v1

Common model:

Point
Name Type Description

operator

Operator

Enum value for point operator

operatorPretty

String

Pretty printed operator name

brand

Brand

Enum value for point brand

brandPretty

String

Pretty printed brand name

postingPoint

Boolean

Is point available as posting place

deliveryPoint

Boolean

Is point available as destination place

cod

Boolean

Does point offer cash on delivery service

code

String

Unique point code

street

String

Point street address

city

String

Point city

postalCode

String

Point postal code

longitude

number

Point location longitude

latitude

number

Point location latitude

openingHoursMap

Map<String, {from, to}>

Point opening hours map

description

String

Point description

available

boolean

Point availability

pointTypes

List<String>

Point types

Operator
Enum value Pretty printed

RUCH

Ruch

POCZTA

Poczta Polska

INPOST

InPost

DPD

DPD

UPS

UPS

FEDEX

FedEx

Brand
Enum value Pretty printed

INPOST

Punkt sieci InPost

ONEMINUTE

Sklep 1 Minut

MALPKA

Sklep Małpka Express

POCZTA_POLSKA

Punkt Poczty Polskiej

ORLEN

Stacja benzynowa Orlen

ZABKA

Sklep Żabka

RUCH

Punkt Paczka w RUCHu

DPD

Punkt DPD Pickup

UPS

Punkt UPS Access Point

KOLPORTER

Salonik Kolportera

PointType
Value Operator

PSD

RUCH

PSP

RUCH

APM

RUCH

PKN

RUCH

PARCEL_LOCKER

INPOST

POP

INPOST

PARCEL_LOCKER_ONLY

INPOST

PARCEL_LOCKER_SUPERPOP

INPOST

List

GET /api/v1/pos

Get available point list

Query parameters:

Name Type Description

operators

List<Operator>

Required
List of operator whose points should be returned

posType

all | delivery | posting

Optional
What type of services should be returned

cod

Boolean

Optional
Flag informing whether returned points should only include points with COD service available

fields

List<String>

Optional
List of string values of columns that will be shown in response

pointTypes

List<String>

Optional
List of point types which should be returned

Try it out:

curl --request GET \
  --url 'https://pos.bliskapaczka.pl/api/v1/pos?operators=INPOST,POCZTA,RUCH&fields=operator,code,latitude,longitude,brand,brandPretty,operatorPretty,cod,pointTypes&posType=delivery&cod=false'

Example response:

[
    {
        "code": "WS-741478-15-03",
        "brandPretty": "Punkt Paczka w RUCHu",
        "latitude": 52.3385,
        "pointTypes": [
            "PSP"
        ],
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 21.2354
    },
    {
        "code": "GD-604645-76-65",
        "brandPretty": "Punkt Paczka w RUCHu",
        "latitude": 54.0542,
        "pointTypes": [
            "PSP"
        ],
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 19.2046
    },
    {
        "code": "MYS226",
        "brandPretty": "InPost Paczkomaty 24/7 ",
        "latitude": 50.24268,
        "pointTypes": [
            "PARCEL_LOCKER"
        ],
        "operatorPretty": "InPost",
        "cod": true,
        "brand": "INPOST",
        "operator": "INPOST",
        "longitude": 19.13285
    }
]

Details

GET /api/v1/pos/{operator}/{code}

Get important point details

Try it out:

curl --request GET \
  --url 'https://pos.bliskapaczka.pl/api/v1/pos/inpost/KRA01A'

Example response:

{
    "operator": "INPOST",
    "operatorPretty": "InPost",
    "brand": "INPOST",
    "brandPretty": "Punkt sieci InPost",
    "postingPoint": true,
    "deliveryPoint": true,
    "cod": true,
    "code": "KRA01A",
    "street": "Władysława Broniewskiego 1",
    "city": "Kraków",
    "postalCode": "31-801",
    "district": null,
    "province": "małopolskie",
    "longitude": 20.01884,
    "latitude": 50.08593,
    "openingHoursMap": {},
    "description": "Przy DH Wanda",
    "available": true,
    "pointTypes": [
        "PARCEL_LOCKER"
    ]
}

Filter

GET /api/v1/pos/filter

Get filters point list

Query parameters:

Name Type Description

operators

List<Operator>

Required
List of operator whose points should be returned

posType

all | delivery | posting

Optional
What type of points should be returned

cod

Boolean

Optional
Flag informing whether returned points should only include points with COD service available

fields

List<String>

Optional
List of string values of columns that will be shown in response

searchText

String

Optional
Text for full text search in points (could be operator, point code, city, street etc.)

distance

number

Optional
Limits result to those in given distance of point described by lat, lon fields

distanceUnit

KM | M

Optional
Unit of distance given in field "distance"

lat

number

Optional
Latitude of point from which distance is measured

lon

number

Optional
Longitude of point from which distance is measured

size

number

Optional
Limits result to given number of points

Try it out:

curl --request GET \
  --url 'https://pos.bliskapaczka.pl/api/v1/pos/filter?distance=5&distanceUnit=km&lat=49.97605&lon=20.44091&operators=RUCH&fields=operator,code,city,latitude,longitude,brand,brandPretty,operatorPretty,cod&size=5'

Example response:

[
    {
        "code": "3505-7003-70-88",
        "brandPretty": "Punkt Paczka w RUCHu",
        "city": "Bochnia",
        "latitude": 49.9796,
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 20.4398
    },
    {
        "code": "3505-7588-70-80",
        "brandPretty": "Punkt Paczka w RUCHu",
        "city": "Bochnia",
        "latitude": 49.9712,
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 20.4326
    },
    {
        "code": "3505-7379-70-82",
        "brandPretty": "Punkt Paczka w RUCHu",
        "city": "Bochnia",
        "latitude": 49.9671,
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 20.4266
    },
    {
        "code": "3505-7598-70-73",
        "brandPretty": "Punkt Paczka w RUCHu",
        "city": "Bochnia",
        "latitude": 49.9699,
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 20.4325
    },
    {
        "code": "3505-7259-70-75",
        "brandPretty": "Punkt Paczka w RUCHu",
        "city": "Bochnia",
        "latitude": 49.9697,
        "operatorPretty": "RUCH",
        "cod": false,
        "brand": "RUCH",
        "operator": "RUCH",
        "longitude": 20.4327
    }
]

Release notes

v2

Non-standard additional service

A parcel can be marked as non-standard when it has unusual packing method or dimensions. Additional payment will be added in this case.

New delivery types

Delivery types P2P, D2P, P2D and D2D are now available. TO_POINT and TO_DOOR are no longer available.

"todoor" endpoints removed

Dedicated endpoints to save or advice shipments to door were removed. Generic save and advice endpoints should be used instead. A proper delivery type is required in the request body. Delivery type can be also used to get pricing.

Waybills collection returned instead of single waybill

When asking for a waybill for a shipment, the collection is returned instead of a single object. It allows to handle shipments with multiple parcels.

"Reference" field in order

When saving or advising an order, a reference can be added to it. This reference is passed on to operators and can be used to link Bliska Paczka order with an external order.

Company name for a sender and receiver

When a sender or receiver is not a private person, a company name can be used instead of first and last name.