Podporované aktivity a události

Společné aktivity napříč kanály

  1. Text
  2. GetAvailableOperators
  3. GetAvailableGroups
  4. GetCallParams
  5. SetCallParams
  6. SendGuestOfflineEmail
  7. GetGuestIdentity
  8. Forward
  9. EndConversation

Specifické aktivity pro mluvii chat

  1. Typing
  2. DisableGuestInput
  3. EnableGuestInput
  4. GetHeroCards
  5. SendHeroCard
  6. ChatbotOpenFileUploadPrompt
  7. EnableGuestUpload
  8. DisableGuestUpload
  9. Adaptive Cards
  10. Buttons

Specifické aktivity pro Facebook

  1. Adaptive Cards
  2. Buttons

Události

  1. Příchozí zpráva
  2. Příchozí soubor

Aktivity

Text

Pošle textovou zprávu s časovou stopou. Pro mluvii chat, Facebook a WhatsApp lze použít formátování textu - vzhledem k tomu, že různé kanály používají různé druhy formátování, zavedli jsme automatickou konverzi u nás v aplikaci a do mluvii stačí poslat vždy html elementy. Povolené jsou následující: strong, em a a.

Jednoduchá textová zpráva:
{
  "sessionId": 1,
  "type": "mluvii",
  "timestamp": "2020-09-09T10:03:53.4976861+02:00",
  "text": "Simple sample"
}
Formátovaná textová zpráva:
{
  "sessionId": 1,
  "type": "mluvii",
  "timestamp": "2020-09-09T10:03:53.4976861+02:00",
  "text": "<em>Italic part</em>, <strong>Bold part</strong>"
}

GetAvailableOperators

Získá seznam přihlášených operátorů. Vrací pouze operátory ze skupin definovaných v routingu, které splňují routingové podmínky.

Request JSON:

{
  "sessionId": 1,
  "activity": "GetAvailableOperators"
}

Odpověď Activity:

{
  "sessionId": 1,
  "activity": "GetAvailableOperatorsResponse",
  "availableOperators": [
    {
        "displayName":"Katka",
        "userId":1
    },
    {
        "displayName":"Tomáš",
        "userId":2
    }
  ]
}

GetAvailableGroups

Získá seznam skupin operátorů. Vrací pouze skupiny definované v routingu, které splňují routingové podmínky.

Request JSON:

{
  "sessionId": 1,
  "activity": "GetAvailableGroups"
}

Odpověď Activity:

{
  "sessionId": 1,
  "activity": "GetAvailableGroupsResponse",
  "availableGroups":[
    {
        "displayName":"Group one",
        "groupId":1
    },
    {
        "displayName":"Group two",
        "groupId":2
    }
  ]
}

GetCallParams

Získá CallParams spojené s aktivním sezením.

Request JSON:

{
  "sessionId": 1,
  "activity": "GetCallParams"
}

Odpověď Activity:

{
  "sessionId": 1,
  "activity": "GetCallParamsResponse",
  "callParams": <dictionary>
}

SetCallParams

Nastaví CallParams k aktivnímu sezení.

Request JSON:

{
  "sessionId": 1,
  "activity": "SetCallParams",
  "callParams": <dictionary>
}

Response Activity:

{
  "sessionId": 1,
  "activity": "SetCallParamsResponse",
  "success": <boolean>,
  "errorMessage": <string>
}

SendGuestOfflineEmail

Odešle email na adresu pro zprávy z offline formuláře. Offline formulář musí být nastaven na balíčku.

Request JSON:

{
  "sessionId": 1,
  "activity": "SendGuestOfflineEmail",
  "subject": <string>,
  "message": <string>,
  "location": <string> (zdroj zprávy pro rozlišení, např: "Chatbot Mluviik")
}

GetGuestIdentity

Vratí všechny známé identifikátory uživatele.

Request JSON:

{
  "sessionId": 1,
  "activity": "GetGuestIdentity"
}

Odpověď Activity:

{
  "sessionId": 1,
  "activity": "GetGuestIdentityResponse",
  "trackedGuestGuid": <Guid>, (unikátní identifikátor z cookie)
  "phoneCallerId": <string>, (telefonní číslo)
  "facebookPSID": <string>, (facebook identifikátor)
  "facebookPageId": <string>, (facebook identifikátor)
  "whatsAppContactId": <string>, (whatsapp identifikátor)
  "vkContactId": <string>, (vk identifikátor)
}

Forward

Přesměruje interakci na živého operátora. Pokud není definován cílový operátor ani skupina, vybere se skupina automaticky podle nastavení routingového pravidla.

Request:

{
  "sessionId": 1,
  "activity": "Forward",
  "operatorGroupId": <integer:optional>,
  "userId": <integer:optional>
}

EndConversation

Ukončí sezení.

Request:

{
  "sessionId": 1,
  "activity": "EndConversation",
}

Typing

Zobrazí/skryje zda chatbot má "rozepsanou" zprávu.

Request:

{
  "sessionId": 1,
  "activity": "typing",
  "show": true
}

DisableGuestInput

Zakáže uživateli psát do chatu.

Request:

{
  "sessionId": 1,
  "activity": "DisableGuestInput"
}

EnableGuestInput

Povolí uživateli psát do chatu.

Request:

{
  "sessionId": 1,
  "activity": "EnableGuestInput"
}

GetHeroCards

Vrátí existující Hero cards.

Request:

{
  "activity": "GetHeroCards"
}

Response:

{
  "activity": "GetHeroCardsResponse",
  "heroCards": [
    {
        "displayName":"Hero card one",
        "heroCardId":1
    },
    {
        "displayName":"Hero card two",
        "heroCardId":2
    }
  ]
}

SendHeroCard

Posílá vybrany hero card do chatu klienta.

Request JSON:

{
  "activity": "SendHeroCard",
  "heroCardId": <integer:required>
}

Response Activity:

{
  "activity": "SendHeroCardResponse",
  "success": <boolean>,
  "errorMessage": <string>
}

ChatbotOpenFileUploadPrompt

Otevře dialog, který umožní uživateli nahrát soubor.

Request JSON:

{
  "sessionId": 1,
  "activity": "ChatbotOpenFileUploadPrompt"
}

Odpověď Activity:

{
  "activity": "ChatbotOpenFileUploadPromptResponse",
  "fileUrl": <string>, (URL souboru nahraného uživatelem)
}

EnableGuestUpload

Povolit funkce, které umožňují nahrávání uživatelských souborů.

Request JSON:

{
  "activity": "EnableGuestUpload"
}

Odpověď Activity:

{
  "activity": "EnableGuestUploadResponse",
  "success": <boolean>,
  "errorMessage": <string>
}

DisableGuestUpload

Zakázat funkce, které umožňují nahrávání uživatelských souborů.

Request JSON:

{
  "activity": "DisableGuestUpload"
}

Odpověď Activity:

{
  "activity": "DisableGuestUploadResponse",
  "success": <boolean>,
  "errorMessage": <string>
}

Adaptive cards

Api podporuje formátování zpráv podle standardu https://adaptivecards.io.

Příklad použití adaptive card carousel:

{
  "sessionId": 1,
  "type": "message",
  "timestamp": "2020-06-12T12:13:39.7593384+02:00",
  "attachmentLayout": "carousel",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.hero",
      "content": {
        "title": "Street #1",
        "subtitle": "1. Street Foo 254 Czechia",
        "images": [
          {
            "url": "https://dev.virtualearth.net/REST/V1/Imagery/Map/Road?form=BTCTRL&mapArea=49.7463607788086,13.1083498001099,49.7932815551758,13.1951398849487&mapSize=500,280&pp=49.7616882324219,13.1491804122925;1;1&dpi=1&logo=always&key=ApBn8xoItlENbFx-rr1kzt_JakWdFTH24taCasYxQCgit15NtDeYrztO4chDtrg5"
          }
        ],
        "buttons": [
          {
            "type": "imBack",
            "title": "Street Foo 254",
            "value": 1
          }
        ]
      }
    },
    {
      "contentType": "application/vnd.microsoft.card.hero",
      "content": {
        "title": "Street #2",
        "subtitle": "1. Úlice, Plzeň, Czechia",
        "images": [
          {
            "url": "https://dev.virtualearth.net/REST/V1/Imagery/Map/Road?form=BTCTRL&mapArea=49.7463607788086,13.1083498001099,49.7932815551758,13.1951398849487&mapSize=500,280&pp=49.7616882324219,13.1491804122925;1;1&dpi=1&logo=always&key=ApBn8xoItlENbFx-rr1kzt_JakWdFTH24taCasYxQCgit15NtDeYrztO4chDtrg5"
          }
        ],
        "buttons": [
          {
            "type": "imBack",
            "title": "Úlice, Plzeň, Czechia",
            "value": 1
          }
        ]
      }
    },
    {
      "contentType": "application/vnd.microsoft.card.hero",
      "content": {
        "title": "Street #2 again",
        "subtitle": "1. Úlice, Plzeň, Czechia",
        "images": [
          {
            "url": "https://dev.virtualearth.net/REST/V1/Imagery/Map/Road?form=BTCTRL&mapArea=49.7463607788086,13.1083498001099,49.7932815551758,13.1951398849487&mapSize=500,280&pp=49.7616882324219,13.1491804122925;1;1&dpi=1&logo=always&key=ApBn8xoItlENbFx-rr1kzt_JakWdFTH24taCasYxQCgit15NtDeYrztO4chDtrg5"
          }
        ],
        "buttons": [
          {
            "type": "imBack",
            "title": "Úlice, Plzeň, Czechia",
            "value": 1
          }
        ]
      }
    }
  ]
}

Buttons

Tlačítka lze poslat pomocí adaptive cards.

Request JSON:

{
  "type": "message",
  "timestamp": "2020-09-09T10:03:53.4976861+02:00",
  "attachments": [
    {
      "contentType": "application/vnd.microsoft.card.hero",
      "content": {
        "title": "Test buttons",
        "buttons": [
          {
            "type": "imBack",
            "title": "Title of first button",
            "value": "Value of first button"
          },
          {
            "type": "imBack",
            "title": "Title of second button",
            "value": "Value of second button"
          }
        ]
      }
    }
  ]
}

Odpověď na vybrané tlačítko (Button 2) je pak aktivita typu Text v následujícím formátu:

{
  "activity": "Text",
  "timestamp": "2020-12-04T16:12:57.172",
  "text": "Button 2",
  "sessionId": 13,
  "language": "cs",
  "source": "Facebook"
}

Události

Příchozí zpráva

Když klient odešle textovou zprávu do chatu, na callback url přijde následující aktivita:

{
  "sessionId": 1,
  "activity": "Text",
  "text": "Hello world"
}

Příchozí soubor

Pokud klient nahraje soubor pomocí sponky v inputu chatu, přijde na bota Activita v následujícím formátu.

{
  "activity": "GuestFileUpload",
  "fileUrl": <string>, (URL souboru nahraného uživatelem)
}

results matching ""

    No results matching ""