6.5

Chat API

GET /api/messaging/debaters

Získání seznamu diskutujících (uživatelé, kteří mohou debatovat přes chat).

Odpověď (application/json)

200 OK

JSON pole se seznamem diskutujících.

[
  {
    "nick": "admin",  /* Přihlašovací jméno uživatele */
    "name": "Administrátor",  /* Jméno uživatele */
    "state": "OFFLINE", /* Stav (ONLINE|OFFLINE|AWAY|DO_NOT_DISTURB|HIDDEN|UNAVAILABLE) */
    "avatarUrl": "https://crm.mycompany.com/avatar/admin" /* URL obrázku s avatarem */
  },
  {
    "nick": "mrkvicka",
    "name": "Daniel Mrkvička",
    "state": "OFFLINE",
    "avatarUrl": "https://crm.mycompany.com/avatar/mrkvicka"
  },
  {
    "nick": "kunesova",
    "name": "Gabriela Kunešová",
    "state": "OFFLINE",
    "avatarUrl": "https://crm.mycompany.com/avatar/kunesova"
  },
  /* ... */
]

GET /api/messaging/debaters/{nick}

Získání informací o jednom diskutujícím.

Požadavek

Příklad: /api/messaging/debaters/admin

Odpověď (application/json)

200 OK

JSON objekt s informacemi o diskutujícím.

{
    "nick": "admin",  /* Přihlašovací jméno uživatele */
    "name": "Administrátor",  /* Jméno uživatele */
    "state": "OFFLINE", /* Stav (ONLINE|OFFLINE|AWAY|DO_NOT_DISTURB|HIDDEN|UNAVAILABLE) */
    "avatarUrl": "https://crm.mycompany.com/avatar/admin" /* URL obrázku s avatarem */
}

GET /api/messaging/chats

Získání seznamu otevřených chatů.

Odpověď (application/json)

200 OK

JSON objekt s informacemi o diskutujícím.

[
  {
    "id": "1",  /* Kód chatu */
    "avatarUrl": "https://crm.mycompany.com/avatar/mrkvicka",
    "closed": false,  /* true pro chat, který už není dostupný pro postování zpráv */
    "debaters": [ /* účastníci chatu */
      {
        "nick": "gregor",
        "name": "Karel Gregor",
        "state": "ONLINE",
        "avatarUrl": "https://crm.mycompany.com/avatar/gregor"
      },
      {
        "nick": "mrkvicka",
        "name": "Daniel Mrkvička",
        "state": "OFFLINE",
        "avatarUrl": "https://crm.mycompany.com/avatar/mrkvicka"
      }
    ],
    "unseen": 0   /* Počet nepřečtených příspěvků uživatelem, který prováděl dotaz */
  },
  /* ... */
]

GET /api/messaging/chats/create

Založení nového chatu. Pokud se nejedná o skupinový chat na určité téma (zaslán parametr topic), CRM se pokusí zjistit, jestli už chat pro danou skupinu diskutujících neexistuje. Pokud ano, vrátí info o existujícím chatu a nový chat založen nebude.

Požadavek

Query parametrTypPopisPříklad
topicstringPokud se jedná o skupinový chat na určité téma, můžete název tématu poslat v tomto parametruRedesign drtičky
debatersstringČárkou oddělený seznam kódů debatujících, kteří budou v chatu (musí být minimálně 2)5,25,11

Příklad: /api/messaging/chats/create?topic=Pokec&debaters=1,2,5

Odpověď (application/json)

{
  "created" : true, /* byl nový chat založen (true) nebo byl nalezen existující (false) */
  "id" : "24",  /* kód chatu */
  /* ... */
}

GET /api/messaging/chats/{id}

Získání informaci o chatu s kódem {id}. Vrácený JSON obsahuje navíc posledních několik zpráv v chatu.

POST /api/messaging/chats/{id}

Zaslání nové zprávy do chatu.

GET /api/messaging/chats/{id}/seen

Označení chatu, že všechny zprávy byly zhlédnuty.