Webhooky

Kategorie Eventů

Sezení

Níže uvedený diagram popisuje veškeré události v rámci životního cyklu sezení od jeho vzniku až po ukončení. K přesměrování sezení na jiného operátora nemusí dojít a je uvedeno pouze pro úplnost.

SessionCreated

V tenantu byla vytvořeno nové sezení a událost se zaloguje ještě před přijetím sezení ze strany operátora či chatbota.

Ukázkový JSON:
{
  "eventType": "SessionCreated",
  "data": {
    "id": 7371450,
    "tenantId": 62,
    "channel": "Phone",
    "source": "OutgoingCall"
  }
}

SessionStarted

Sezení začalo (např. klient vstoupil do fronty a hledá se pro něho volný operátor). Toto se týká všech kanálů v mluvii. S klientem může v sezení také komunikovat chatbot.

Ukázkový JSON:
{
  "eventType": "SessionStarted",
  "data": {
    "id": 7371450,
    "tenantId": 62,
    "channel": "Phone",
    "source": "OutgoingCall",
    "started": "2024-05-02T16:05:24.454661+02:00"
  }
}

SessionOperatorJoined

Děje se v momentě připojení operátora do sezení. Např. hned na začátku (po SessionCreated). Platí, že pro každého operátora v sezení se zaloguje vlastní událost.

Ukázkový JSON:
{
  "eventType": "SessionOperatorJoined",
  "data": {
    "id": 7371450,
    "tenantId": 62,
    "userId": 4,
    "channel": "Phone",
    "source": "OutgoingCall",
    "time": "2024-05-02T16:05:24.454661+02:00"
  }
}

SessionForwarded

Sezení bylo přesměrováno. V tomto případě nejsou k dispozici žádné detaily jako je tomu v případě SessionActivitySessionForwarded.

V odpovědi se může objevit "userId", "operatorGroupId", nebo "chatbotId" podle toho, na jaký cíl operátor přepojuje.

Ukázkový JSON
{
  "eventType": "SessionForwarded",
  "data": {
    "id": 7373420,
    "tenantId": 62,
    "channel": "Chat",
    "source": "Default",
    "time": "2024-05-03T09:41:31.257306+02:00",
    "userId": null,
    "operatorGroupId": 7299,
    "chatbotId": null
  }
}

SessionEnded

Sezení bylo ukončeno.

Ukázkový JSON:
{
  "eventType": "SessionEnded",
  "data": {
    "id": 7363963,
    "tenantId": 62,
    "channel": "Chat",
    "source": "Default",
    "started": "2024-04-30T13:32:31.105138+02:00",
    "ended": "2024-05-02T15:34:12.871976+02:00"
  }
}

SessionOperatorLeft

Jakmile operátor ukončí sezení (klikne na tlačítko "Ukončit"). Následně se dostane do ACW stavu.

Pokud je v sezení aktivních více operátorů, pouze u jednoho z nich se zaloguje SessionOperatorLeft. Pro ostatní se zaloguje event SessionOperatorConcluded.

Ukázkový JSON:
{
  "eventType": "SessionOperatorLeft",
  "data": {
    "id": 7371193,
    "tenantId": 62,
    "userId": 4301,
    "channel": "AV",
    "source": "Invitation",
    "time": "2024-05-02T15:32:52.539588+02:00"
  }
}

SessionOperatorConcluded

Děje se v momentě, kdy je automaticky/manuálně ukončeno ACW. Pak také v případě, kdy je sezení přesměrováno z operátora na další cíl (operátora/skupinu/chatbota/externí tel. číslo).

Ukázkový JSON:
{
  "eventType": "SessionOperatorConcluded",
  "data": {
    "id": 7429963,
    "tenantId": 62,
    "userId": 2710,
    "channel": "Chat",
    "source": "Default",
    "time": "2024-05-20T14:46:29.969234+02:00"
  }
}

Aktivity v Sezení

SessionActivityAutoActivity

Událost se loguje s každou automatickou zprávou v sezení. Může se jednat např. o automatickou zprávu zaslanou z důvodu neaktivity klienta či zaneprázdněním operátora, který odbavuje více interakcí najednou.

Ukázkový JSON:
{
  "eventType": "SessionActivityAutoActivity",
  "data": {
    "sessionId": 7380342,
    "activityId": 50878507,
    "time": "2024-05-06T08:31:13.722852+02:00",
    "type": "AutoActivity",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "<p>zpráva</p>",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityAvResponse

Spustí se při reakci uživatele na pokus o AV spojení.

Pokud klient přijme pozvánku do A/V hovoru, vrátí Public API hodnotu "Accepted" a v opačném případě "RejectedUser".

Ukázkový JSON:
{
  "eventType": "SessionActivityAvResponse",
  "data": {
    "sessionId": 7404708,
    "operatorId": 2710,
    "response": "Accepted",
    "time": "2024-05-13T11:22:23.653014+02:00"
  }
}

SessionActivityAvRequest

Událost zachycuje okamžik, kdy operátor povyšuje webchat na Audio/Video hovor. Operátor v rozhraní kliká na záložku "Volat", vstupuje do A/V místnosti a přizve klienta.

Ukázkový JSON:
{
  "eventType": "SessionActivityAvRequest",
  "data": {
    "sessionId": 7375793,
    "operatorId": 2710,
    "time": "2024-05-03T13:54:49.450758+02:00"
  }
}

SessionActivityAvTerminated

Děje se v případě, že operátor ukončí A/V hovor a dále pokračuje jen v textové komunikaci. Operátor kliká na tlačítko "Odpojit klienta" nebo křížkem v rohu A/V bladu.

Ukázkový JSON:
{
  "eventType": "SessionActivityAvTerminated",
  "data": {
    "sessionId": 7375793,
    "operatorId": 2710,
    "time": "2024-05-03T13:57:03.140972+02:00"
  }
}

SessionActivityCallScript

Děje se vždy při navolávání každého kontaktu v rámci kampaně, kde je CallScript nastaven. CallScript nemusí být potvrzen operátorem.

Webhook je doručen v okamžiku přijetí kampaňového sezení klientem.

Struktura formuláře:

[

{"inputType": "RichText",

"label": "<p>byt</p>", "ordinal": 1

},

{"inputType": "Text",

"label": "dispozice",

"key": "Dispozice",

"required": true,

"ordinal": 2

},

{"InputType": "Radio",

"label": "centrum", "key": "somethingelse",

"required": true, "ordinal": 3,

"choiceOptions":[

{"value": "ano",

"label": "ano"},

{"value": "ne",

"label": "ne"}]

}

Ukázkový JSON:
{
  "eventType": "SessionActivityCallScript",
  "data": {
    "sessionId": 7383104,
    "activityId": 50894607,
    "time": "2024-05-06T13:46:07.605708+02:00",
    "type": "CallScript",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": [
      {
        "inputType": "RichText",
        "label": "<p>Dobrý den, pane XXX</p>",
        "ordinal": 1
      },
      {
        "inputType": "Text",
        "label": "Dispozice",
        "key": "dispozice",
        "required": true,
        "ordinal": 2
      },
      {
        "inputType": "Radio",
        "label": "zvíře",
        "key": "somethingelse",
        "required": true,
        "ordinal": 3,
        "choiceOptions": [
          {
            "value": "kočka",
            "label": "kočka"
          }
        ]
      },
      {
        "inputType": "Radio",
        "label": "dfdfdfdfsdf",
        "key": "ujasnění",
        "required": true,
        "ordinal": 4,
        "choiceOptions": [
          {
            "value": "ano",
            "label": "ano"
          }
        ]
      }
    ],
    "client": null,
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": "afebe607-a007-489d-ba03-dd9deaa17f8d",
    "terminationReason": null
  }
}

SessionActivityCallScriptSubmission

V sezení je operátorem potvrzen nastavený CallScript. CallScript se využívá pouze u telefonních kampaní.

Webhook je doručen, jakmile skončí ACW sezení.

Ukázkový JSON:
{
  "eventType": "SessionActivityCallScriptSubmission",
  "data": {
    "sessionId": 7383014,
    "activityId": 50894089,
    "time": "2024-05-06T13:37:57.649363+02:00",
    "type": "CallScriptSubmission",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityCobrowsingStarted

V sezení byl zahájen cobrowsing a klient odsouhlasil žádost od operátora.

Ukázkový JSON:
{
  "eventType": "SessionActivityCobrowsingStarted",
  "data": {
    "sessionId": 7383263,
    "activityId": 50895810,
    "time": "2024-05-06T14:10:19.928721+02:00",
    "type": "CobrowsingStarted",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityExternalMessage

Může se jednat o úvodní zprávu nastavenou na úrovni Facebook stránky, nebo o zprávy odesílané klientovi mimo aplikaci mluvii (přes Facebook Messenger).

Ukázkový JSON:
{
  "eventType": "SessionActivityExternalMessage",
  "data": {
    "sessionId": 7369378,
    "activityId": 50896981,
    "time": "2024-05-06T14:33:06.262+02:00",
    "type": "ExternalMessage",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "Dobrý den",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityHeroCard

Během sezení byla odeslána HeroCard.

Struktura HeroCard

[

{"inputType": "RichText",

"label": "<p>byt</p>", "ordinal": 1

},

{"inputType": "Text",

"label": "dispozice",

"key": "Dispozice",

"required": true,

"ordinal": 2

},

{"InputType": "Radio",

"label": "centrum", "key": "somethingelse",

"required": true, "ordinal": 3,

"choiceOptions":[

{"value": "ano",

"label": "ano"},

{"value": "ne",

"label": "ne"}]

}

Parametr "client" může nabývat hodnot (User, Chatbot). V závislosti na tom je vyplněna také hodnota parametru "userId", nebo "chatbotId".

Ukázkový JSON:
{
  "eventType": "SessionActivityHeroCard",
  "data": {
    "sessionId": 7383497,
    "activityId": 50897242,
    "time": "2024-05-06T14:37:20.236594+02:00",
    "type": "HeroCard",
    "heroCard": [
      {
        "inputType": "RichText",
        "label": "<p>Prosím, zadejte své kontaktní údaje.</p>",
        "ordinal": 1
      },
      {
        "inputType": "Text",
        "label": "Jméno",
        "key": "oo1_guest_ident",
        "required": true,
        "ordinal": 2
      },
      {
        "inputType": "Text",
        "label": "E-mail",
        "key": "oo1_guest_email",
        "required": true,
        "ordinal": 3
      },
      {
        "inputType": "Text",
        "label": "Telefon",
        "key": "oo1_guest_phone",
        "required": false,
        "ordinal": 4
      },
      {
        "inputType": "Confirmation",
        "label": "Confirm label",
        "ordinal": 5
      }
    ],
    "heroCardParams": null,
    "callScript": null,
    "client": "Chatbot",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": 329,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": "e5e7d280-9d29-4668-ae92-2dd27a8902cf",
    "terminationReason": null
  }
}

SessionActivityHeroCardSubmission

Zaloguje se při potvrzení/zrušení (submitted/cancelled) HeroCard.

Parametr originalFormID označuje id existující HeroCard v mluvii.

V params jsou uloženy parametry použité v dané HeroCard společně se zadanými hodnotami (např. "oo1_guest_email", "oo1_guest_ident", "oo1_guest_phone").

Existují i případy, kdy HeroCard potvrdí operátor místo klienta. V takovém případě se uloží do parametru "submittedByClient" hodnota false.

Ukázkový JSON:
{
  "eventType": "SessionActivityHeroCardSubmission",
  "data": {
    "sessionId": 7383497,
    "result": "Submitted",
    "originalFormID": 2273,
    "submittedByClient": false,
    "params": {
      "barva": "Červená",
      "model": "Focus",
      "palivo": "Benzín",
      "oo1_guest_ident": "Zbyněk Hostaš",
      "značka": "Volkswagen",
      "číslo ŘP": "ddd"
    },
    "time": "2024-05-06T14:44:07.799984+02:00"
  }
}

SessionActivityChatToMail

Vyskytuje se v momentě, kdy klient zadá ve Výstupním formuláři e-mail a zašle si přepis, případně zašle přepis operátor.

Do parametru "client" se uloží hodnota Guest, pokud si přepis sezení pošle sám klient. Nebo se použíje hodnota User a parametr „userID", které je vyplněné pouze v případě, že iniciátorem akce je operátor.

Ukázkový JSON:
{
  "eventType": "SessionActivityChatToMail",
  "data": {
    "sessionId": 7383497,
    "activityId": 50897938,
    "time": "2024-05-06T14:49:23.808642+02:00",
    "type": "ChatToMail",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityLastFarewellMessage

Zaloguje se v případě, že je sezení automaticky ukončeno po 24 hodinách čekání ve frontě. Toto se týká zejména WhatsAppu. Můžete tuto událost sledovat i u Facebook Messenger sezení.

Ukázkový JSON:
{
  "eventType": "SessionActivityLastFarewellMessage",
  "data": {
    "sessionId": 7404414,
    "activityId": 51135367,
    "time": "2024-05-15T15:32:58.045333+02:00",
    "type": "LastFarewellMessage",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": null,
    "text": "We’re sorry, but your request was automatically closed due to exceeding the 24-hour response time set by WhatsApp and Facebook. If your question is still up to date, please contact us again. Thank you.",
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityPreviewUrl

V sezení se objeví zpráva obsahující URL link.

V závislosti na tom, která strana link odeslala se u parametru "Client" zaloguje hodnota "guest", "user" nebo "chatbot"., který se vykreslí (v obou případech se mění akorát parametry „Client“ (guest, user)). Pokud URL pošle operátor, vyplní se navíc userId.

Ukázkový JSON:
{
  "eventType": "SessionActivityPreviewUrl",
  "data": {
    "sessionId": 7383741,
    "activityId": 50899088,
    "time": "2024-05-06T15:10:16.12969+02:00",
    "type": "PreviewUrl",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "Guest",
    "text": null,
    "previewUrl": {
      "title": "Seznam – najdu tam, co neznám",
      "imageUrl": "http://www.seznam.cz/media/img/logo-share-square_v2.png",
      "contentType": 1,
      "originalUrl": "http://www.seznam.cz/",
      "originalActivityId": 50899086
    },
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": null,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOnHold

Operátor v průběhu tel. hovoru přidrží probíhající hovor (tlačítko "Přidržet hovor").

Ukázkový JSON:
{
  "eventType": "SessionActivityOnHold",
  "data": {
    "sessionId": 7383730,
    "activityId": 50898864,
    "time": "2024-05-06T15:05:29.719899+02:00",
    "type": "OnHold",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOperatorInviteCanceled

Operátor přizval jiného operátora do sezení a ještě před jeho připojením pozvánku zrušil. UserId označuje operátora, který pozvánku zrušil.

Ukázkový JSON:
{
  "eventType": "SessionActivityOperatorInviteCanceled",
  "data": {
    "sessionId": 7383741,
    "activityId": 50899127,
    "time": "2024-05-06T15:11:36.541724+02:00",
    "type": "OperatorInviteCanceled",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": null,
    "toOperatorFullName": null,
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": null,
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOperatorInvited

Operátor přizval jiného operátora do sezení. UserId označuje operátora, který poslal pozvánku.

Ukázkový JSON:
{
  "eventType": "SessionActivityOperatorInvited",
  "data": {
    "sessionId": 7383741,
    "activityId": 50899168,
    "time": "2024-05-06T15:12:44.604+02:00",
    "type": "OperatorInvited",
    "heroCard": null,
    "heroCardParams": null,
    "callScript": null,
    "client": "User",
    "text": null,
    "previewUrl": null,
    "file": null,
    "associatedSharedFileUrl": null,
    "toOperatorUserId": 4254,
    "toOperatorFullName": "Štěpán Bazala",
    "toGroupId": null,
    "toGroupName": null,
    "toPhoneNumber": null,
    "note": "",
    "chatbotMessageContent": null,
    "submissionIdentification": null,
    "userId": 2710,
    "chatbotId": null,
    "chatbotHeroCardSubmissionKey": null,
    "chatbotHeroCardSubmissionValue": null,
    "formFieldSetUUID": null,
    "terminationReason": null
  }
}

SessionActivityOperatorInviteRejected

Operátor přizval jiného operátora do sezení a ten pozvání odmítl. UserId označuje operátora, který pozvánku odmítl.

Ukázkový JSON:
{
  "eventType": "SessionActivityOperatorInviteRejected",
  "data": {
    "sessionId": 7383936,
    "activityId": 50900431,
    "time": "2024-05-06T15:45:46.295607+02:00",
    "type": "OperatorInviteRejected",
    "heroCard": null,
    "heroCardParams": null,