Skip to content
Changelog API

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:

HTTP návratové kódy

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:

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.

Pomohol vám tento článok? Aktualizované: 12.05.2026