Εμφάνιση
Λίστα αποστολών
Η κλήση GET /shipments επιστρέφει τις αποστολές (vouchers) του λογαριασμού σας, με φίλτρα και cursor pagination. Δεν περιλαμβάνονται διαγραμμένες αποστολές ούτε vouchers που βρίσκονται ακόμα σε διαδικασία έκδοσης (οι ακυρωμένες περιλαμβάνονται, με status cancelled).
WARNING
Θα πρέπει να συμπεριλάβετε το API Token σας σε κάθε αίτημα ως Bearer Token. Αντικαταστήστε το YOUR_TOKEN με το API Token του καταστήματος (chub_...). Δείτε το Overview.
| Method | URI | Headers |
|---|---|---|
| GET | /api/v2/shipments | Authorization: Bearer YOUR_TOKEN |
Μεταβλητές αποστολής
Όλες οι παράμετροι είναι προαιρετικές και στέλνονται στο query string. Τα φίλτρα συνδυάζονται με AND.
| Variable Name | Type | Usage | Required |
|---|---|---|---|
order_number | String | Αριθμός παραγγελίας, με ή χωρίς # (#12345 ή 12345), ή το εσωτερικό ID της παραγγελίας του e-shop (order.order_id, π.χ. 5012345678901). Μέγιστο 100 χαρακτήρες. | |
status | String | Μία από τις καταστάσεις: cancelled, returned, delivered, lost, problem, stalled, in_transit, created. | |
courier_id | Integer | Το ID της courier, από το GET /couriers (ίδιο με το courier.id της αποστολής). | |
created_from | Date (Y-m-d) | Αποστολές που δημιουργήθηκαν από αυτή την ημερομηνία και μετά (συμπεριλαμβάνεται, από τα μεσάνυχτα). | |
created_to | Date (Y-m-d) | Αποστολές που δημιουργήθηκαν μέχρι αυτή την ημερομηνία (συμπεριλαμβάνεται ολόκληρη η ημέρα). Πρέπει να είναι ίση ή μεταγενέστερη της created_from. | |
sort | String | -created_at (προεπιλογή, νεότερες πρώτα) ή created_at (παλαιότερες πρώτα). | |
per_page | Integer | 1 έως 100. Προεπιλογή 50. | |
cursor | String | Το meta.next_cursor / meta.prev_cursor προηγούμενης σελίδας. |
Αναζήτηση με αριθμό παραγγελίας
Το order_number ταιριάζει είτε με τον αριθμό παραγγελίας (#12345 και 12345 δίνουν το ίδιο αποτέλεσμα) είτε με το ID της παραγγελίας στο e-shop. Για παραγγελίες Shopify παλαιότερες των 60 ημερών, ο αριθμός #12345 μπορεί να μην είναι διαθέσιμος: χρησιμοποιήστε το εσωτερικό ID της Shopify. Δείτε το Overview.
Ημερομηνίες
Οι ημερομηνίες created_from / created_to ερμηνεύονται στη ζώνη ώρας της εφαρμογής (Europe/Athens), ενώ οι ώρες στην απάντηση είναι σε UTC.
Απάντηση αιτήματος
Η εφαρμογή σας επιστρέφει δεδομένα σε μορφή JSON με τη μορφή {data, links, meta}. Κάθε στοιχείο του data έχει τα πεδία που περιγράφονται στο GET /shipments/{voucher}.
| Variable Name | Type | Description |
|---|---|---|
data | Array | Οι αποστολές της σελίδας (αντικείμενα shipment). Κενός πίνακας αν δεν υπάρχουν αποτελέσματα. |
links.next, links.prev | String ή null | URL επόμενης / προηγούμενης σελίδας. |
meta.per_page | Integer | Το μέγεθος σελίδας. |
meta.next_cursor, meta.prev_cursor | String ή null | Cursors επόμενης / προηγούμενης σελίδας. |
Παράδειγμα επιτυχημένης αναζήτησης (per_page=1, πρώτη σελίδα).
json
{
"data": [
{
"voucher_number": "2200991234",
"courier": {
"id": 9,
"name": "ELTA"
},
"status": "created",
"status_label": "Δημιουργήθηκε",
"delivered_at": null,
"returned_at": null,
"cod_amount": "0.00",
"cod_paid": false,
"last_event": null,
"tracking_url": "https://courierhub.gr/t/Xk3Pq9Zr",
"created_at": "2026-10-14T08:00:00Z",
"order": {
"id": 2,
"order_id": "5012345678902",
"order_number": "#12346",
"store": {
"id": 1,
"name": "Το Κατάστημά μου"
}
}
}
],
"links": {
"next": "https://courierhub.gr/api/v2/shipments?per_page=1&cursor=eyJjcmVhdGVkX2F0IjoiMjAy...",
"prev": null
},
"meta": {
"per_page": 1,
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAy...",
"prev_cursor": null
}
}Δεύτερη σελίδα (με cursor) - τελευταία, άρα links.next: null.
GET /api/v2/shipments?per_page=1&cursor=eyJjcmVhdGVkX2F0Ijoi...
json
{
"data": [
{
"voucher_number": "7012345678",
"courier": {
"id": 8,
"name": "ACS"
},
"status": "delivered",
"status_label": "Παραδόθηκε",
"delivered_at": "2026-10-15T05:40:00Z",
"returned_at": null,
"cod_amount": "49.90",
"cod_paid": true,
"last_event": {
"description": "Παραδόθηκε",
"code": 7,
"occurred_at": "2026-10-15T05:40:00Z"
},
"tracking_url": "https://courierhub.gr/t/mQ7CdcKy",
"created_at": "2026-10-14T07:05:00Z",
"order": {
"id": 1,
"order_id": "5012345678901",
"order_number": "#12345",
"store": {
"id": 1,
"name": "Το Κατάστημά μου"
}
}
}
],
"links": {
"next": null,
"prev": "https://courierhub.gr/api/v2/shipments?per_page=1&cursor=eyJjcmVhdGVkX2F0IjoiMjAy..."
},
"meta": {
"per_page": 1,
"next_cursor": null,
"prev_cursor": "eyJjcmVhdGVkX2F0IjoiMjAy..."
}
}Χωρίς αποτελέσματα (?order_number=99999)
json
{
"data": [],
"links": {
"next": null,
"prev": null
},
"meta": {
"per_page": 50,
"next_cursor": null,
"prev_cursor": null
}
}Παράδειγμα σφάλματος (μη έγκυρες παράμετροι).
json
{
"message": "The given data was invalid.",
"code": "validation_failed",
"errors": {
"per_page": [
"The per page field must not be greater than 100."
],
"status": [
"The selected status is invalid."
],
"created_from": [
"The created from field must match the format Y-m-d."
],
"sort": [
"The selected sort is invalid."
]
}
}Παραδείγματα κλήσεων
Όλες οι παραδομένες αποστολές της ACS τον Οκτώβριο του 2026, παλαιότερες πρώτα:
bash
curl -G https://courierhub.gr/api/v2/shipments \
-H "Authorization: Bearer chub_YOUR_API_TOKEN" \
-H "Accept: application/json" \
--data-urlencode "status=delivered" \
--data-urlencode "courier_id=8" \
--data-urlencode "created_from=2026-10-01" \
--data-urlencode "created_to=2026-10-31" \
--data-urlencode "sort=created_at" \
--data-urlencode "per_page=100"Αναζήτηση με αριθμό παραγγελίας (το # πρέπει να γίνει %23 στο URL, γι' αυτό χρησιμοποιούμε --data-urlencode):
bash
curl -G https://courierhub.gr/api/v2/shipments \
-H "Authorization: Bearer chub_YOUR_API_TOKEN" \
--data-urlencode "order_number=#12345"Η ίδια αναζήτηση με το εσωτερικό ID της παραγγελίας (για παραγγελίες Shopify παλαιότερες των 60 ημερών):
bash
curl -G https://courierhub.gr/api/v2/shipments \
-H "Authorization: Bearer chub_YOUR_API_TOKEN" \
--data-urlencode "order_number=5012345678901"Για φόρτωση όλου του ιστορικού δείτε το παράδειγμα στο Overview.