Εμφάνιση
Λίστα παραγγελιών
Η κλήση GET /orders επιστρέφει τις παραγγελίες του λογαριασμού σας, με φίλτρα και cursor pagination. Περιλαμβάνει τις παραγγελίες όλων των καταστημάτων του λογαριασμού, είτε δημιουργήθηκαν από το API, είτε χειροκίνητα στο CourierHub, είτε ήρθαν από e-shop. Δεν περιλαμβάνονται οι διαγραμμένες παραγγελίες.
WARNING
Θα πρέπει να συμπεριλάβετε το API Token σας σε κάθε αίτημα ως Bearer Token. Αντικαταστήστε το YOUR_TOKEN με το API Token του καταστήματος (chub_...). Δείτε το Overview.
| Method | URI | Headers |
|---|---|---|
| GET | /api/v2/orders | Authorization: Bearer YOUR_TOKEN |
Μεταβλητές αποστολής
Όλες οι παράμετροι είναι προαιρετικές και στέλνονται στο query string. Τα φίλτρα συνδυάζονται με AND.
| Variable Name | Type | Usage | Required |
|---|---|---|---|
order_number | String | Ο αριθμός παραγγελίας, με ή χωρίς # (#1001 και 1001 δίνουν το ίδιο αποτέλεσμα), ή το order_id της παραγγελίας (π.χ. 20261015101200482). Ακριβής αντιστοίχιση, όχι αναζήτηση μέρους του αριθμού. Μέγιστο 100 χαρακτήρες. | |
status | String | Μία από τις καταστάσεις παραγγελίας: pending, processing, shipped, delivered, cancelled, refunded, store_pickup, store_pickup_ready, store_pickup_completed. | |
ordered_from | Date (Y-m-d) | Παραγγελίες με order_date από αυτή την ημερομηνία και μετά (συμπεριλαμβάνεται, από τα μεσάνυχτα). | |
ordered_to | Date (Y-m-d) | Παραγγελίες με order_date μέχρι αυτή την ημερομηνία (συμπεριλαμβάνεται ολόκληρη η ημέρα). Πρέπει να είναι ίση ή μεταγενέστερη της ordered_from. | |
has_shipment | String | true / 1: μόνο παραγγελίες με εκδοθέν voucher. false / 0: μόνο παραγγελίες χωρίς voucher. | |
sort | String | -created_at (προεπιλογή, νεότερες πρώτα) ή created_at (παλαιότερες πρώτα). Η ταξινόμηση γίνεται με την ημερομηνία δημιουργίας στο CourierHub (created_at), όχι με το order_date. | |
per_page | Integer | 1 έως 100. Προεπιλογή 50. | |
cursor | String | Το meta.next_cursor / meta.prev_cursor προηγούμενης σελίδας. |
Ημερομηνίες
Οι ημερομηνίες ordered_from / ordered_to ερμηνεύονται στη ζώνη ώρας της εφαρμογής (Europe/Athens), ενώ οι ώρες στην απάντηση είναι σε UTC. Μια παραγγελία με order_date 2026-10-14T22:30:00Z (01:30 ώρα Ελλάδας στις 15/10) επιστρέφεται με ordered_from=2026-10-15.
Αριθμός παραγγελίας
Ο αριθμός παραγγελίας (order_number) είναι ο δικός σας, ενώ το order_id είναι αριθμός που παράγει το CourierHub (ή το ID του e-shop). Το φίλτρο δέχεται και τα δύο. Επειδή η λίστα καλύπτει όλα τα καταστήματα, ο ίδιος αριθμός μπορεί να επιστρέψει μία παραγγελία ανά κατάστημα. Δείτε order_id και order_number.
Απάντηση αιτήματος
Η εφαρμογή σας επιστρέφει δεδομένα σε μορφή JSON με τη μορφή {data, links, meta}. Κάθε στοιχείο του data έχει τα πεδία που περιγράφονται στο GET /orders/{id}, χωρίς τα products και shipments. Για αυτά καλέστε το GET /orders/{id}.
| Variable Name | Type | Description |
|---|---|---|
data | Array | Οι παραγγελίες της σελίδας (αντικείμενα order χωρίς products / shipments). Κενός πίνακας αν δεν υπάρχουν αποτελέσματα. |
links.next, links.prev | String ή null | URL επόμενης / προηγούμενης σελίδας. |
meta.per_page | Integer | Το μέγεθος σελίδας. |
meta.next_cursor, meta.prev_cursor | String ή null | Cursors επόμενης / προηγούμενης σελίδας. |
Παράδειγμα επιτυχημένης αναζήτησης (per_page=2, πρώτη σελίδα).
json
{
"data": [
{
"id": 4,
"order_id": "20261015102700316",
"order_number": "1004",
"status": "store_pickup",
"status_label": "Παραλαβή από Κατάστημα",
"order_date": "2026-10-15T07:27:00Z",
"recipient": {
"name": "Νίκος Ιωάννου",
"phone": "6900000000",
"email": "nikos@example.com",
"address": "Ερμού 1",
"city": "Αθήνα",
"postal_code": "10563",
"country": "GR"
},
"receive_from_reception": true,
"courier": null,
"services": [],
"locker_id": null,
"payment_method": "other",
"subtotal": "12.90",
"shipping_cost": "0.00",
"cod_cost": "0.00",
"total_amount": "12.90",
"weight": null,
"notes": null,
"has_shipment": false,
"store": {
"id": 1,
"name": "Το Κατάστημά μου"
},
"created_at": "2026-10-15T07:27:00Z",
"updated_at": "2026-10-15T07:27:00Z"
},
{
"id": 3,
"order_id": "20261015102200731",
"order_number": "1003",
"status": "pending",
"status_label": "Εκκρεμής",
"order_date": "2026-10-15T07:22:00Z",
"recipient": {
"name": "Ελένη Γεωργίου",
"phone": "6977000111",
"email": "eleni@example.com",
"address": "Αγίου Δημητρίου 12",
"city": "Πάτρα",
"postal_code": "26221",
"country": "GR"
},
"receive_from_reception": false,
"courier": {
"id": 10,
"name": "Box Now"
},
"services": [],
"locker_id": "4-123",
"payment_method": "paypal",
"subtotal": "18.00",
"shipping_cost": "2.90",
"cod_cost": "0.00",
"total_amount": "20.90",
"weight": null,
"notes": null,
"has_shipment": false,
"store": {
"id": 1,
"name": "Το Κατάστημά μου"
},
"created_at": "2026-10-15T07:22:00Z",
"updated_at": "2026-10-15T07:22:00Z"
}
],
"links": {
"next": "https://courierhub.gr/api/v2/orders?per_page=2&cursor=eyJjcmVhdGVkX2F0IjoiMjAy...",
"prev": null
},
"meta": {
"per_page": 2,
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAy...",
"prev_cursor": null
}
}Αναζήτηση με αριθμό παραγγελίας (?order_number=1001, η παραγγελία έχει αποθηκευτεί ως #1001).
json
{
"data": [
{
"id": 1,
"order_id": "20261015101200482",
"order_number": "#1001",
"status": "pending",
"status_label": "Εκκρεμής",
"order_date": "2026-10-15T07:05:00Z",
"recipient": {
"name": "Μαρία Παπαδοπούλου",
"phone": "6941234567",
"email": "maria@example.com",
"address": "Ερμού 25",
"city": "Αθήνα",
"postal_code": "10563",
"country": "GR"
},
"receive_from_reception": false,
"courier": {
"id": 8,
"name": "ACS"
},
"services": [],
"locker_id": null,
"payment_method": "cod",
"subtotal": "31.80",
"shipping_cost": "3.50",
"cod_cost": "1.50",
"total_amount": "36.80",
"weight": "1.200",
"notes": "Κουδούνι: Παπαδοπούλου",
"has_shipment": false,
"store": {
"id": 1,
"name": "Το Κατάστημά μου"
},
"created_at": "2026-10-15T07:12:00Z",
"updated_at": "2026-10-15T07:12:00Z"
}
],
"links": {
"next": null,
"prev": null
},
"meta": {
"per_page": 50,
"next_cursor": null,
"prev_cursor": null
}
}Χωρίς αποτελέσματα (?order_number=99999)
json
{
"data": [],
"links": {
"next": null,
"prev": null
},
"meta": {
"per_page": 50,
"next_cursor": null,
"prev_cursor": null
}
}Παράδειγμα σφάλματος (μη έγκυρες παράμετροι).
GET /api/v2/orders?status=lost&ordered_from=15-10-2026&has_shipment=yes&sort=order_date&per_page=500
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."
],
"ordered_from": [
"The ordered from field must match the format Y-m-d."
],
"has_shipment": [
"The selected has shipment is invalid."
],
"sort": [
"The selected sort is invalid."
]
}
}Καταστάσεις παραγγελίας (status)
Η κατάσταση της παραγγελίας είναι διαφορετική από την κατάσταση της αποστολής (voucher).
status | status_label | Σημασία |
|---|---|---|
pending | Εκκρεμής | Νέα παραγγελία. Προεπιλογή στη δημιουργία. |
processing | Επεξεργασία | Σε επεξεργασία. |
shipped | Αποστολή με Courier | Έχει εκδοθεί voucher. |
delivered | Παραδόθηκε | Παραδόθηκε. |
cancelled | Ακυρώθηκε | Ακυρώθηκε. |
refunded | Επιστράφηκε | Επιστράφηκαν τα χρήματα. |
store_pickup | Παραλαβή από Κατάστημα | Παραλαβή από το δικό σας κατάστημα (receive_from_reception: true). |
store_pickup_ready | Έτοιμο προς Παραλαβή | Έτοιμη για παραλαβή από το κατάστημα. |
store_pickup_completed | Παραλαβή Ολοκληρώθηκε | Ο πελάτης την παρέλαβε. |
Από το API μπορείτε να ορίσετε μόνο τα pending και processing (δείτε POST /orders). Οι υπόλοιπες καταστάσεις ορίζονται από το CourierHub (έκδοση voucher, παραλαβή από κατάστημα) ή έρχονται από το e-shop.
Παραδείγματα κλήσεων
Οι παραγγελίες του Οκτωβρίου 2026 που δεν έχουν ακόμα voucher, παλαιότερες πρώτα:
bash
curl -G https://courierhub.gr/api/v2/orders \
-H "Authorization: Bearer chub_YOUR_API_TOKEN" \
-H "Accept: application/json" \
--data-urlencode "has_shipment=false" \
--data-urlencode "ordered_from=2026-10-01" \
--data-urlencode "ordered_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/orders \
-H "Authorization: Bearer chub_YOUR_API_TOKEN" \
--data-urlencode "order_number=#1001"