Για να στείλετε webhook notifications, πρέπει να κάνετε μία κλήση POST στο endpoint https://app.sebastien.gr/project/:id/webhook.
Το :id είναι το ID του project που θα σας δοθεί.
Το body της κλήσης πρέπει να είναι σε μορφή application/x-www-form-urlencoded ή application/json.
Τα headers πρέπει να περιλαμβάνουν το Authorization header.
Το authentication scheme είναι Basic και τα credentials αποτελούνται από ένα username και ένα password χωρισμένα με άνω και κάτω τελεία (:), κωδικοποιημένα σε base64.
Το πεδίο type πρέπει να έχει μία από τις αποδεκτές τιμές products, prices, stocks, order.updated.
Το πεδίο payload είναι ένα αντικείμενο που περιέχει ζευγάρια ονομάτων/τιμών ανάλογα με το πεδίο type:
| products | Δείτε τις προδιαγραφές εισαγωγής προϊόντων. |
|---|---|
| prices | Δείτε τις προδιαγραφές εισαγωγής τιμών. |
| stocks | Δείτε τις προδιαγραφές εισαγωγής αποθεμάτων. |
| order.updated |
Το πεδίο id της παραγγελίας. Το πεδίο status της παραγγελίας, το οποίο είναι απαραίτητο. Οι αποδεκτές τιμές είναι completed και cancelled. Ένα προαιρετικό αντικείμενο meta_data. Έναν προαιρετικό πίνακα shipping_lines, ο οποίος περιέχει αντικείμενα με τα ακόλουθα κλειδιά: method_id και method_title. |
Οι απαντήσεις είναι πάντα σε μορφή application/json.
| 200 | Το webhook έγινε δεκτό και μπαίνει σε ουρά (queue) για επεξεργασία. Το body είναι {}. Η απάντηση δεν σημαίνει ότι η ενημέρωση ολοκληρώθηκε, καθώς το αποτέλεσμα καταγράφεται στα Activity logs του Sébastien. |
|---|---|
| 401 | Το Authorization header λείπει ή τα credentials είναι λανθασμένα. |
| 403 | Ο λογαριασμός είναι μπλοκαρισμένος ή τα webhooks δεν είναι ενεργοποιημένα για το project. |
| 404 | Το project δεν βρέθηκε, ή η παραγγελία δεν βρέθηκε στα events order.*. |
| 422 | Τα δεδομένα δεν είναι έγκυρα, π.χ. μη αποδεκτή τιμή στο πεδίο type, λείπει το πεδίο payload, ή λείπει το πεδίο status στο order.updated. Το body περιέχει τα πεδία message και errors με την περιγραφή των σφαλμάτων. |
{
"type": "products",
"payload": {
"code": "CHAMP",
"sku": "CHAMP-S"
}
}
{
"type": "prices",
"payload": {
"regular_price": 25.00,
"sku": "CHAMP-S"
}
}
{
"type": "stocks",
"payload": {
"stock_quantity": 100,
"sku": "CHAMP-S"
}
}
{
"type": "order.updated",
"payload": {
"id": 123456,
"status": "completed",
"meta_data": {
"tracking_number": "123456"
},
"shipping_lines": [
{"method_id": "acs", "method_title": "ACS"}
]
}
}
{
"type": "order.updated",
"payload": {
"id": 123456,
"status": "cancelled"
}
}
{
"message": "The selected type is invalid.",
"errors": {
"type": ["The selected type is invalid."]
}
}