Skip to content

Κινήσεις υπολοίπου ​

Η κλήση GET /balance/transactions επιστρέφει τις κινήσεις του υπολοίπου του λογαριασμού σας (πληρωμές, χρεώσεις voucher, SMS / Viber, συνδρομές), από τις νεότερες προς τις παλαιότερες, με φίλτρα και cursor pagination. Είναι οι ίδιες κινήσεις με το Ιστορικό Υπολοίπου του περιβάλλοντος πελάτη. Το τρέχον υπόλοιπο το δίνει το GET /account.

WARNING

Θα πρέπει να συμπεριλάβετε το API Token σας σε κάθε αίτημα ως Bearer Token. Αντικαταστήστε το YOUR_TOKEN με το API Token του καταστήματος (chub_...). Δείτε το Overview.

MethodURIHeaders
GET/api/v2/balance/transactionsAuthorization: Bearer YOUR_TOKEN

Μεταβλητές αποστολής ​

Όλες οι παράμετροι είναι προαιρετικές και στέλνονται στο query string. Τα φίλτρα συνδυάζονται με AND.

Variable NameTypeUsageRequired
typeStringcredit (πιστώσεις) ή debit (χρεώσεις).
transaction_typeStringΤο είδος της κίνησης, δείτε Είδη κινήσεων. Μέγιστο 50 χαρακτήρες. Άγνωστη τιμή δίνει κενό αποτέλεσμα.
fromDate (Y-m-d)Κινήσεις από αυτή την ημερομηνία και μετά (συμπεριλαμβάνεται, από τα μεσάνυχτα).
toDate (Y-m-d)Κινήσεις μέχρι αυτή την ημερομηνία (συμπεριλαμβάνεται ολόκληρη η ημέρα). Πρέπει να είναι ίση ή μεταγενέστερη της from.
per_pageInteger1 έως 100. Προεπιλογή 50.
cursorStringΤο meta.next_cursor / meta.prev_cursor προηγούμενης σελίδας.

Ημερομηνίες

Οι ημερομηνίες from / to ερμηνεύονται στη ζώνη ώρας της εφαρμογής (Europe/Athens), ενώ οι ώρες στην απάντηση είναι σε UTC. Π.χ. μια κίνηση με created_at 2026-09-30T21:05:00Z είναι στις 01/10/2026 00:05 ώρα Ελλάδας και επιστρέφεται με from=2026-10-01.

Είδη κινήσεων (transaction_type) ​

transaction_typetypeΠεριγραφή
voucherdebitΧρέωση έκδοσης voucher. Έχει voucher_number.
sms_premiumdebitΧρέωση SMS Premium. Έχει voucher_number όταν το μήνυμα αφορά αποστολή.
sms_economydebitΧρέωση SMS Economy. Έχει voucher_number όταν το μήνυμα αφορά αποστολή.
viber_messagedebitΧρέωση μηνύματος Viber. Έχει voucher_number όταν το μήνυμα αφορά αποστολή.
monthly_feedebitΜηνιαία συνδρομή.
annual_feedebitΕτήσια συνδρομή.
viva_paymentcreditΠληρωμή μέσω Viva.
viva_recurringcreditΠληρωμή από πάγια εντολή Viva.
viva_auto_chargecreditΑυτόματη χρέωση κάρτας μέσω Viva.
manual_creditcreditΠίστωση από το CourierHub.

Σε παλαιότερες κινήσεις μπορεί να υπάρχουν και οι τιμές payment, credit (πιστώσεις) και sms_reserved, sms_settle_refund, sms_settle_charge (δέσμευση και εκκαθάριση SMS με το παλιό σύστημα χρέωσης). Μην βασίζεστε σε κλειστή λίστα: για την κατεύθυνση της κίνησης χρησιμοποιήστε το type.

Απάντηση αιτήματος ​

Η εφαρμογή σας επιστρέφει δεδομένα σε μορφή JSON με τη μορφή {data, links, meta}, ταξινομημένα από τη νεότερη κίνηση.

Variable NameTypeDescription
idIntegerΤο ID της κίνησης.
typeStringcredit (πίστωση) ή debit (χρέωση).
transaction_typeString ή nullΤο είδος της κίνησης.
amountStringΤο ποσό με πρόσημο και 4 δεκαδικά: οι χρεώσεις είναι αρνητικές (π.χ. "-0.0450"), οι πιστώσεις θετικές (π.χ. "20.0000"). Τα 4 δεκαδικά χρειάζονται γιατί οι τιμές SMS και voucher μπορεί να είναι κάτω από ένα λεπτό.
balance_afterStringΤο υπόλοιπο μετά την κίνηση, στρογγυλεμένο σε 2 δεκαδικά.
currencyStringΤο νόμισμα, πάντα EUR.
descriptionString ή nullΗ περιγραφή της κίνησης στα Ελληνικά, όπως στο Ιστορικό Υπολοίπου. Προορίζεται για ανθρώπους: η μορφή της μπορεί να αλλάξει.
voucher_numberString ή nullΟ αριθμός voucher της αποστολής που αφορά η κίνηση (χρέωση voucher, SMS / Viber για αποστολή). Παραμένει και μετά την ακύρωση της αποστολής. null για κινήσεις χωρίς αποστολή (πληρωμές, συνδρομές).
created_atStringΠότε έγινε η κίνηση (ISO 8601, UTC).

Τα links και meta περιγράφονται στη σελιδοποίηση.

Παράδειγμα επιτυχημένης αναζήτησης.

json
{
    "data": [
        {
            "id": 5,
            "type": "debit",
            "transaction_type": "sms_premium",
            "amount": "-0.0450",
            "balance_after": "30.89",
            "currency": "EUR",
            "description": "SMS • 7012345679 • → 306912345678 • 1 τμχ. • Χρέωση 0.0450 EUR (δέσμευση 0.0450 EUR)",
            "voucher_number": "7012345679",
            "created_at": "2026-10-19T07:16:00Z"
        },
        {
            "id": 4,
            "type": "debit",
            "transaction_type": "voucher",
            "amount": "-0.0700",
            "balance_after": "30.93",
            "currency": "EUR",
            "description": "Χρέωση αποστολής 1 voucher (περίοδος από 01/10/2026)",
            "voucher_number": "7012345679",
            "created_at": "2026-10-19T07:15:00Z"
        },
        {
            "id": 3,
            "type": "credit",
            "transaction_type": "viva_payment",
            "amount": "20.0000",
            "balance_after": "31.00",
            "currency": "EUR",
            "description": "Πληρωμή μέσω Viva",
            "voucher_number": null,
            "created_at": "2026-10-19T06:00:00Z"
        },
        {
            "id": 2,
            "type": "debit",
            "transaction_type": "monthly_fee",
            "amount": "-19.0000",
            "balance_after": "11.00",
            "currency": "EUR",
            "description": "Μηνιαία συνδρομή October 2026",
            "voucher_number": null,
            "created_at": "2026-09-30T21:05:00Z"
        },
        {
            "id": 1,
            "type": "credit",
            "transaction_type": "viva_payment",
            "amount": "30.0000",
            "balance_after": "30.00",
            "currency": "EUR",
            "description": "Πληρωμή μέσω Viva",
            "voucher_number": null,
            "created_at": "2026-09-30T21:05:00Z"
        }
    ],
    "links": {
        "next": null,
        "prev": null
    },
    "meta": {
        "per_page": 50,
        "next_cursor": null,
        "prev_cursor": null
    }
}

Το balance_after δίνεται στρογγυλεμένο σε 2 δεκαδικά, ενώ το CourierHub κρατά το υπόλοιπο με 4: μετά τη χρέωση SMS το υπόλοιπο είναι 30.8850 και εμφανίζεται "30.89". Γι' αυτό η διαφορά δύο διαδοχικών balance_after μπορεί να μην είναι ακριβώς ίση με το amount.

Χρεώσεις voucher του Οκτωβρίου 2026 (?type=debit&transaction_type=voucher&from=2026-10-01&to=2026-10-31)

json
{
    "data": [
        {
            "id": 4,
            "type": "debit",
            "transaction_type": "voucher",
            "amount": "-0.0700",
            "balance_after": "30.93",
            "currency": "EUR",
            "description": "Χρέωση αποστολής 1 voucher (περίοδος από 01/10/2026)",
            "voucher_number": "7012345679",
            "created_at": "2026-10-19T07:15:00Z"
        }
    ],
    "links": {
        "next": null,
        "prev": null
    },
    "meta": {
        "per_page": 50,
        "next_cursor": null,
        "prev_cursor": null
    }
}

Παράδειγμα σφάλματος (μη έγκυρες παράμετροι).

GET /api/v2/balance/transactions?type=refund&from=19/10/2026&to=2026-10-01

json
{
    "message": "The given data was invalid.",
    "code": "validation_failed",
    "errors": {
        "type": [
            "The selected type is invalid."
        ],
        "from": [
            "The from field must match the format Y-m-d."
        ],
        "to": [
            "The to field must be a date after or equal to from."
        ]
    }
}

Παραδείγματα κλήσεων ​

Όλες οι χρεώσεις του Οκτωβρίου 2026, 100 ανά σελίδα:

bash
curl -G https://courierhub.gr/api/v2/balance/transactions \
  -H "Authorization: Bearer chub_YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  --data-urlencode "type=debit" \
  --data-urlencode "from=2026-10-01" \
  --data-urlencode "to=2026-10-31" \
  --data-urlencode "per_page=100"

Για τις επόμενες σελίδες ακολουθήστε το links.next, όπως στο παράδειγμα του Overview.

Released under the MIT License.