API: időpontok
Időpontok létrehozása, módosítása, állapotának váltása, lekérése, listázása és törlése az API-val.
Az időpontok végpontjaival külső rendszerből (például CRM-ből vagy saját admin felületről) hozhatsz létre, módosíthatsz, kérdezhetsz le, listázhatsz és törölhetsz időpontokat, valamint válthatsz az állapotukon.
Az API az Elite licenchez tartozik, használatához programozási ismeret kell, a szokásos támogatás nem terjed ki rá. A hitelesítés az Amelia fejlécben küldött API-kulccsal történik (részletek). Minden időponti végpont ugyanazt az alap útvonalat használja, csak a végpont része változik:
{{az_oldalad_URL-je}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1| Művelet | Metódus | Útvonal |
|---|---|---|
| Időpont létrehozása | POST |
/appointments |
| Időpont módosítása | POST |
/appointments/{{idopont_id}} |
| Állapot módosítása | POST |
/appointments/status/{{idopont_id}} |
| Egy időpont lekérése | GET |
/appointments/{{idopont_id}} |
| Időpontok listázása | GET |
/appointments |
| Időpont törlése | POST |
/appointments/delete/{{idopont_id}} |
Időpont létrehozása
Szekció neve “Időpont létrehozása”Az időpont kezdő dátumával és a foglalások tömbjével küldött POST kérés hozza létre.
Kötelező tulajdonságok:
| Tulajdonság | Típus | Leírás |
|---|---|---|
bookingStart |
szöveg | Az időpont kezdete, ÉÉÉÉ-HH-NN ÓÓ:PP formában. |
bookings |
tömb | A foglalások. Mindegyikben szerepelnie kell egy meglévő vásárló customerId-jének. Új vásárló egyidejű létrehozásához a /bookings végpontot használd. |
locationId |
egész | A helyszín azonosítója. |
providerId |
egész | A munkavállaló azonosítója. |
serviceId |
egész | A szolgáltatás azonosítója. |
recurring |
tömb | Az ismétlődő időpontok. Csak akkor kötelező, ha az időpont ismétlődő. |
Nem kötelező tulajdonságok:
| Tulajdonság | Típus | Leírás |
|---|---|---|
internalNotes |
szöveg | Belső megjegyzés. |
notifyParticipants |
logikai | Értesítést kapjanak-e a vásárlók. Alapértelmezés: false. |
timeZone |
szöveg | A vásárló időzónája, például Europe/Budapest. |
lessonSpace |
szöveg | A Lesson Space azonosítója. Ha kihagyod, újat hozhat létre a rendszer. |
utc |
logikai | UTC-ben küldöd-e a dátumot és időt. Alapértelmezés: false. |
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/appointments' \--header 'Content-Type: application/json' \--header 'Amelia: AZ_API_KULCSOD' \--data '{ "bookingStart": "2026-01-14 13:00", "bookings": [ { "customFields": "{\"1\":{\"label\":\"text\",\"value\":\"\",\"type\":\"text\"}}", "customerId": 10, "duration": 1800, "extras": [], "packageCustomerId": null, "persons": 1, "status": "approved" } ], "internalNotes": "", "lessonSpace": "", "locationId": 2, "notifyParticipants": 1, "providerId": 1, "recurring": [], "serviceId": 1, "timeZone": "Europe/Budapest", "utc": false}'A válasz az appointment objektumban adja vissza a létrehozott időpontot: az azonosítóját, a foglalásokat (vásárló, állapot, ár, személyek száma, fizetések), a szolgáltatás, a munkavállaló és a helyszín azonosítóját, a kezdő és a záró időpontot, valamint az esetleges Google Naptár-, Outlook-, Zoom- vagy Lesson Space-adatokat. A recurring tömbben az ismétlődő időpontok szerepelnek.
Időpont módosítása
Szekció neve “Időpont módosítása”A módosításhoz csak azokat a mezőket küldd, amelyeket változtatni akarsz. Az útvonalban az időpont azonosítója áll.
| Tulajdonság | Típus | Leírás |
|---|---|---|
bookingStart |
szöveg | Az új kezdés, ÉÉÉÉ-HH-NN ÓÓ:PP formában. |
bookings |
tömb | A módosítandó foglalások (az id-jükkel). |
notifyParticipants |
logikai | Értesítést kapjanak-e a vásárlók. |
locationId |
egész | A helyszín azonosítója. |
providerId |
egész | A munkavállaló azonosítója. |
serviceId |
egész | A szolgáltatás azonosítója. |
internalNotes |
szöveg | Belső megjegyzés. |
lessonSpace |
szöveg | A Lesson Space azonosítója. |
removedBookings |
tömb | Az eltávolítandó foglalások. |
recurring |
tömb | Az ismétlődő időpontok, ha az időpont ismétlődő. |
Az állapotot ezzel a végponttal nem lehet módosítani, ahhoz a /appointments/status/{{idopont_id}} való.
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/appointments/742' \--header 'Content-Type: application/json' \--header 'Amelia: AZ_API_KULCSOD' \--data '{ "bookingStart": "2026-02-06 11:00", "bookings": [ { "id": 979, "customerId": 10, "duration": 1800, "extras": [], "packageCustomerId": null, "persons": 2, "status": "approved" } ], "internalNotes": "", "locationId": 2, "notifyParticipants": 1, "providerId": 1, "removedBookings": [], "serviceId": 1}'A válasz az appointment mellett jelzi, hogy változott-e az állapot (appointmentStatusChanged), átütemezték-e az időpontot (appointmentRescheduled), mi volt az eredeti kezdés és záró időpont (initialAppointmentDateTime), melyik foglalásnak változott az állapota (bookingsWithChangedStatus), cserélődött-e a munkavállaló, és hozzáadtak-e foglalást (bookingAdded).
Állapot módosítása
Szekció neve “Állapot módosítása”Az új állapotot tartalmazó POST kérés váltja az időpont állapotát.
| Tulajdonság | Típus | Kötelező | Leírás |
|---|---|---|---|
status |
szöveg | igen | Az új állapot: approved (jóváhagyott), pending (függőben), canceled (lemondott), rejected (elutasított) vagy no-show (nem jelent meg). |
packageCustomerId |
egész | igen | A csomagvásárló azonosítója, ha az időpont csomaghoz tartozik, különben null. |
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/appointments/status/742' \--header 'Content-Type: application/json' \--header 'Amelia: AZ_API_KULCSOD' \--data '{ "status": "pending", "packageCustomerId": null}'A válasz tartalmazza a módosított időpontot, az új (status) és a korábbi (oldStatus) állapotot, a változott állapotú foglalásokat és egy üzenetet az állapotváltásról.
Egy időpont lekérése
Szekció neve “Egy időpont lekérése”Az azonosító alapján adja vissza az időpontot. A kérésnek nincs törzse.
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/appointments/742' \--header 'Amelia: AZ_API_KULCSOD'A válasz az appointment objektumban adja az időpontot, a recurring tömbben az ismétlődő társait.
Időpontok listázása dátumtartományra
Szekció neve “Időpontok listázása dátumtartományra”Dátumtartományra és lapozásra szűrt listát ad vissza.
| Paraméter | Típus | Leírás |
|---|---|---|
dates |
szöveg | A kezdő és záró dátum vesszővel elválasztva, például 2026-03-10,2026-03-11. |
page |
egész | Oldalszám. Az oldalankénti darabszámot a beállítások határozzák meg. |
skipServices |
logikai | Kihagyja a szolgáltatások részleteit. |
skipProviders |
logikai | Kihagyja a munkavállalók részleteit. |
asArray |
logikai | false esetén dátumokkal kulcsolt objektumot, true esetén tömböt ad vissza. |
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/appointments&dates=2026-03-10,2026-03-11&page=1&skipServices=1&skipProviders=1' \--header 'Amelia: AZ_API_KULCSOD'A válasz az appointments objektumban napok szerint csoportosítva adja az időpontokat. Minden időpontnál szerepel a foglalások listája a vásárlók adataival és a fizetésekkel, valamint az, hogy lemondható (cancelable), átütemezhető (reschedulable), múltbeli (past) vagy csoportos (isGroup) az időpont. A válasz végén az összesítők: az összes időpont (total), a jóváhagyottak (totalApproved) és a függőben lévők (totalPending) száma.
Időpont törlése
Szekció neve “Időpont törlése”Az azonosító alapján töröl egy időpontot. A kérésnek nincs törzse.
curl --location --request POST 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/appointments/delete/173' \--header 'Amelia: AZ_API_KULCSOD'A válasz a törölt időpontot adja vissza (a foglalások állapota rejected), és a bookingsWithChangedStatus tömbben azokat a foglalásokat, amelyeknek a törléskor változott az állapotuk.
Tudnivalók éles használat előtt
Szekció neve “Tudnivalók éles használat előtt”- Először tesztelj egy próbaoldalon, és az integráció építésekor naplózd a kéréseket és a válaszokat is.
- Az időpont adatait a
/appointments/{{idopont_id}}, az állapotát a/appointments/status/{{idopont_id}}végponton módosítsd. - A módosításkor elég azt küldeni, amit változtatsz.
- Ha a
timeZoneés azutcértékét is megadod, az egész integrációban következetesen használd. - Ismétlődő időpontnál add meg a
recurringtömböt. - Az API-kulcsot tárold biztonságosan, és soha ne add át a weboldal felületének (front end).
Készült: