Vernostný systém CRM
Overenie spojenia
Pre čítanie a zápis údajov CRM sa používa HTTP Basic Authentication. Prihlasovacie meno a heslo nastavuje používateľ systému Ellipse v administrácii v časti Nastavenia → Pripojenia. Pri konkrétnom API spojení je potrebné v časti Detail API povoliť Povoliť CRM API a jednotlivé operácie podľa typu volania.
Pre produkčné prostredie je potrebné v administrácii povoliť IP adresu pre vzdialený dopyt (prázdne pole IP znamená prístup bez obmedzenia podľa adresy). Podpora je dostupná na [email protected].
Hlavička požiadavky:
Authorization: Basic base64(username:password)
Základná adresa a formát odpovede
Všetky odpovede sú JSON (Content-Type: application/json; charset=utf-8). Operácia sa vyberá query parametrom type.
https://demo.ellipsecloud.com/?pa=api&pb=crm&type={operácia}&…
Oprávnenia podľa parametru type
Okrem zapnutého CRM API musí byť pri spojení povolená aj konkrétna operácia:
- users — zoznam kontaktov
- profile — detail profilu kontaktu
- insight — kredit, tagy, úroveň, obraty (pobyty / služby / podujatia), posledný pohyb na kredite
- credit_add — pripísanie kreditu (POST)
- credit_sub — odpočet kreditu (POST)
- user_add — pridanie kontaktu do CRM (POST)
- user_remove — odobratie kontaktu z CRM (POST)
HTTP návratové kódy
- 200 — úspech
- 201 — vytvorený kontakt (
user_add) - 400 — neplatné parametre alebo telo
- 401 — chýba alebo nie je platná autentifikácia
- 403 — zakázaná IP, nedostatočné oprávnenie alebo blokovaný e-mail
- 404 — kontakt sa nenašiel
- 405 — nesprávna HTTP metóda
- 409 — konflikt (napr. duplicitný e-mail pri
user_add) - 500 — chyba servera
Zoznam používateľov CRM — users
Metóda: GET. Povinný parameter: type (= users). Voliteľné: limit (predvolene 100, max. 500), offset (predvolene 0).
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=users&limit=50&offset=0
Vzorová úspešná odpoveď:
{
"ok": true,
"users": [
{
"id": 757,
"name": "Ján",
"surname": "Novák",
"email": "[email protected]",
"phone": "+421900111222",
"crm_tags": { "3": "Rodina" },
"registered_at": "2025-06-01 12:34:56"
}
],
"limit": 50,
"offset": 0
}
Detail profilu — profile
Metóda: GET. Povinné parametre: type (= profile), idcrm (číslo kontaktu).
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=profile&idcrm=757
Odpoveď obsahuje kompletnú kartu kontaktu (meno, e-mail, telefón, adresa, kategórie CRM, poznámky a ďalšie polia podľa nastavenia).
Vzorová odpoveď (skrátená):
{
"ok": true,
"profile": {
"id": 757,
"email": "[email protected]",
"residence": { "street": "…", "city": "…", "zip": "…" },
"categories": [{ "id": 2, "name": "Hotelový hosť" }]
}
}
Kredit, tagy a obraty — insight
Metóda: GET. Povinné parametre: type (= insight), idcrm.
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=insight&idcrm=757
V objekte turnover sú položky stays (pobyty), services (služby), events (podujatia) a total. Pole last_credit_movement obsahuje posledný pohyb na účte kreditu alebo hodnotu null.
Vzorová úspešná odpoveď:
{
"ok": true,
"insight": {
"idcrm": 757,
"credit": 125.5,
"currency": "EUR",
"crm_level_hint": "standard",
"turnover": {
"stays": 980,
"services": 120.5,
"events": 0,
"total": 1100.5
},
"last_credit_movement": {
"amount": 50,
"balance_after": 125.5,
"datetime": "2026-05-10 14:22:01"
}
}
}
Pripísanie kreditu — credit_add
Metóda: POST. Obsah: application/json. Telo požiadavky je JSON objekt s poľami idcrm (číslo kontaktu) a amount (kladná suma).
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=credit_add
Vzorová úspešná odpoveď:
{
"ok": true,
"idcrm": 757,
"amount": 25.5,
"credit": 151
}
Odpočet kreditu — credit_sub
Metóda: POST, rovnaká štruktúra JSON ako pri credit_add; v tele zadávate kladnú hodnotu amount, systém vykoná odpočet. Pri nedostatku kreditu vráti HTTP 400 s popisom chyby.
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=credit_sub
Vzorová úspešná odpoveď:
{
"ok": true,
"idcrm": 757,
"amount": -10,
"credit": 141
}
Pridanie kontaktu — user_add
Metóda: POST. JSON telo:
- email (povinné) — platný a v systéme zatiaľ nepoužitý e-mail
- name, surname (voliteľné)
- lang (voliteľné)
- send_registration_mail (voliteľné, boolean) — ak je
true, zaradí sa odoslanie registračného e-mailu
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=user_add
Vzorová úspešná odpoveď (HTTP 201):
{
"ok": true,
"idcrm": 12041,
"email": "[email protected]",
"registration_mail_enqueued": false
}
Odobratie kontaktu — user_remove
Metóda: POST. JSON telo musí obsahovať idcrm. Ide o nevratné zmazanie kontaktu z CRM a súvisiacich záznamov v rozsahu ako pri mazaní v administrácii.
https://demo.ellipsecloud.com/?pa=api&pb=crm&type=user_remove
Vzorová úspešná odpoveď:
{
"ok": true,
"idcrm": 12041,
"message": "CRM contact removed"
}
Poznámky
Názvy vernostných skupín a CRM tagov závisia od konfigurácie hotela. Obraty v insight používajú rovnakú logiku ako manažérska časť CRM. Pre vlastné nasadenie nahraďte v adresách doménu demo.ellipsecloud.com doménou vášho hotela.
Súvis s cenami a rezerváciami pobytov je popísaný samostatne v časti dokumentácie Ceny, dostupnosť a rezervácie.