Tovább a tartalomhoz

API: helyszínek és egyéni mezők

Helyszínek és a foglalási űrlap egyéni mezőinek létrehozása, módosítása, lekérése és törlése az API-val.

Ez a fejezet a helyszínek és az egyéni mezők végpontjait írja le.

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). Az alap útvonal: {{az_oldalad_URL-je}}/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1.

Művelet Metódus Útvonal
Helyszín létrehozása POST /locations
Helyszín módosítása POST /locations/{{helyszin_id}}
Egy helyszín lekérése GET /locations/{{helyszin_id}}
Törölhetőség ellenőrzése GET /locations/effect/{{helyszin_id}}
Helyszínek listázása GET /locations
Helyszín törlése POST /locations/delete/{{helyszin_id}}
Egyéni mező létrehozása POST /fields
Egyéni mező módosítása POST /fields/{{mezo_id}}
Sorrend módosítása POST /fields/positions
Egyéni mezők listázása GET /fields
Egyéni mező törlése POST /fields/delete/{{mezo_id}}

Csak a name (szöveg, a helyszín neve) kötelező.

Tulajdonság Típus Leírás
status szöveg visible, hidden vagy disabled. Alapérték: visible.
description szöveg Leírás.
address szöveg Cím.
phone szöveg Telefonszám.
latitude tizedes szám Szélességi fok. Alapérték: 40.7484405.
longitude tizedes szám Hosszúsági fok. Alapérték: -73.9878531.
pictureFullPath, pictureThumbPath szöveg A kép és a bélyegkép útvonala.
pin szöveg A térképjelölő ikon útvonala. Az alapértelmezett ikonok a bővítmény /public/img/pins/ mappájában vannak (orange.png, green.png, purple.png, red.png).
translations szöveg JSON-ként kódolt fordítás a névhez és a leíráshoz.
Terminál
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/locations' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{
"status": "visible",
"name": "Belvárosi stúdió",
"description": "A személyes időpontok fő helyszíne.",
"address": "Budapest, Váci utca 1.",
"phone": "+3612345678",
"latitude": 47.4925,
"longitude": 19.0513,
"pictureFullPath": "",
"pictureThumbPath": ""
}'

Módosítás, lekérés, törölhetőség, listázás és törlés

Szekció neve “Módosítás, lekérés, törölhetőség, listázás és törlés”
  • Módosítás: a /locations/{{helyszin_id}} végpontra csak a változtatni kívánt mezőket küldd (name, status, description, address, phone, latitude, longitude, pictureFullPath, pictureThumbPath, pin, translations).
  • Lekérés: a GET /locations/{{helyszin_id}} egy helyszín adatait adja vissza.
  • Törölhetőség ellenőrzése: a GET /locations/effect/{{helyszin_id}} megmutatja, van-e a helyszínnek jövőbeli időpontja, amely akadályozná a biztonságos törlést.
  • Listázás: a GET /locations a helyszínek listáját adja. Opcionális paraméterek: page (oldalszám), sort (name, -name, address, -address), search (keresőszöveg), services (szolgáltatásazonosítók vesszővel elválasztva).
  • Törlés: a POST /locations/delete/{{helyszin_id}} törli a helyszínt, ha ez biztonságosan megtehető.
Terminál
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/locations&page=1&sort=name' \
--header 'Amelia: AZ_API_KULCSOD'

Az egyéni mezők további kitöltendő mezőket adnak a szolgáltatások és események foglalási űrlapjához. A végpontokkal a mezők sorrendjét és azt is szabályozhatod, mely szolgáltatásoknál és eseményeknél jelennek meg.

A type kötelező, értéke text, text-area, select, checkbox, radio, content, file, datepicker vagy address.

Tulajdonság Típus Leírás
label szöveg A mező címkéje.
options tömb A select és radio típus választási lehetőségei.
position egész A megjelenítési sorrend. Alapérték: 1.
required logikai Kötelező-e kitölteni. Alapérték: false.
services tömb Azok a szolgáltatások, amelyeknél a mező megjelenik.
events tömb Azok az események, amelyeknél a mező megjelenik.
useAsLocation logikai A mező értéke legyen a naptáresemény helyszíne; csak address típusnál.
width egész A mező szélessége a foglalási űrlapon: 50 vagy 100.
saveType szöveg A mező mentésének típusa: bookings vagy customer.
saveFirstChoice logikai Az első választási lehetőség mentése.
includeInInvoice logikai Szerepeljen-e a számlán. Alapérték: false.
Terminál
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/fields' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{
"label": "Választó mező",
"options": [],
"position": 3,
"required": false,
"services": [ { "id": 1 } ],
"events": [ { "id": 120 } ],
"type": "select",
"useAsLocation": false
}'

A /fields/{{mezo_id}} végpontra csak a változtatni kívánt mezőket küldd. A létrehozásnál felsorolt mezők mellett használható még a translations (JSON-ként kódolt címkefordítás), az allServices (minden szolgáltatásra érvényes) és az allEvents (minden eseményre érvényes) logikai mező.

Terminál
curl --location 'https://pelda.hu/wp-admin/admin-ajax.php?action=wpamelia_api&call=/api/v1/fields/11' \
--header 'Content-Type: application/json' \
--header 'Amelia: AZ_API_KULCSOD' \
--data '{
"label": "Választó mező",
"type": "select",
"required": false,
"position": 3,
"options": [ { "label": "Lehetőség", "position": 1, "new": true } ],
"services": [ { "id": 1 } ],
"events": [],
"allServices": false,
"allEvents": false,
"useAsLocation": false
}'
  • Sorrend módosítása: a POST /fields/positions kötelező customFields tömbje a mezők azonosítóit és új helyüket tartalmazza, például { "customFields": [ { "id": 1, "position": 1 }, { "id": 3, "position": 2 } ] }.
  • Listázás: a GET /fields az összes egyéni mezőt visszaadja.
  • Törlés: a POST /fields/delete/{{mezo_id}} törli az egyéni mezőt.

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások