Channel Output
説明
Code Node内では、以下のactions関数を使用して、データオブジェクトとともにテキストメッセージを出力することができます:
actions.output("<YOUR_TEXT>", {"key": "value" });
// OR
actions.say("<YOUR_TEXT>", {"key": "value" });
dataパラメータには、カスタムチャネルメッセージを定義する JSONペイロードを指定します:
const jsonPayload = {
"_cognigy":{
// Channel Specific Payload
}
}
actions.say("<YOUR_TEXT", jsonPayload);
必要な形式については、次のセクションをご覧ください。
AI デフォルトチャネル
Cognigy AIデフォルトチャネルには特定のチャネル形式があり、詳細はAI Default Channel Formatをご覧ください。
Alexa
例
次のスニペットを使って、コンタクトに簡単なカードを出力します:
{
"_cognigy": {
"_alexa": {
"response": {
"shouldEndSession": false,
"card": {
"type": "Standard",
"title": "Title of the card",
"content": "Content of a simple card",
"text": "Text content for a standard card",
"image": {
"smallImageUrl": "https://url-to-small-card-image",
"largeImageUrl": "https://url-to-large-card-image"
}
}
}
}
}
}
Messenger
jsonオブジェクトを作成するか、facebook-bot-messengerモジュールを使用することで、Messengerに複数のテンプレートを送信することができます。詳しくはGitHubページをご覧ください。
例
以下のスニペットは、シンプルなテキストメッセージとクイック返信をコンタクトに送信します:
{
"_cognigy": {
"_facebook": {
"message": {
"text": "Hello World",
"quick_replies": [
{
"content_type": "text",
"condition": "",
"title": "Hi",
"image_url": "",
"payload": "Hi"
}
]
}
}
}
}
また、facebook-bot-messengerモジュールを使ってカスタムjsonを作成することもできます。ここでは、コンタクトにクイック返信を送信します:
// use facebook-bot-messenger to compile reply
const builder = new MessengerPlatform.QuickRepliesMessageBuilder('Pick a color:');
builder.addImageOption('Red', 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_RED', 'http://petersfantastichats.com/img/red.png')
.addImageOption('Green', 'DEVELOPER_DEFINED_PAYLOAD_FOR_PICKING_GREEN', 'http://petersfantastichats.com/img/green.png');
// output the reply
actions.output("test", { "_cognigy": { "_facebook": {"message": builder.buildMessage() }}});
Webchat
WebchatはMessengerと同じ形式を使用しますが、_facebookプロパティを追加する代わりに、_webchatを追加する必要があります。
例
以下の例では、テキストメッセージとクイック返信をコンタクトに送信します:
{
"_cognigy": {
"_webchat": {
"message": {
"text": "Hello World",
"quick_replies": [
{
"content_type": "text",
"condition": "",
"title": "Hi",
"image_url": "",
"payload": "Hi"
}
]
}
}
}
}
AI
デフォルトから常に選択されているAIチャンネルは、上記のWebchatとほぼ同じ形式を使用します。唯一の違いは、_webchatの代わりに_defaultと入力することです。
例
以下の例では、テキストメッセージとクイック返信をコンタクトに送信します:
{
"_cognigy": {
"_default": {
"message": {
"text": "Hello World",
"quick_replies": [
{
"content_type": "text",
"condition": "",
"title": "Hi",
"image_url": "",
"payload": "Hi"
}
]
}
}
}
}
LINE
例
以下は、単純な確認プロンプトをコンタクトに出力します:
{
"_cognigy": {
"_line": {
"type": "template",
"altText": "this is a confirm template",
"template": {
"type": "confirm",
"text": "Are you sure?",
"actions": [
{
"type": "message",
"label": "Yes",
"text": "yes"
},
{
"type": "message",
"label": "No",
"text": "no"
}
]
}
}
}
}
Smooch
例
以下はエンドユーザーに単純な画像を出力します:
{
"role": "appMaker",
"type": "image",
"text": "Hello!",
"mediaUrl": "http://example.org/image.jpg",
"actions": [{
"text": "More info",
"type": "link",
"uri": "http://example.org"
}]
}
RingCentral Engage
例
以下は、エンドユーザーに画像を含むギャラリーを出力します。RingCentral Engage APIを使用して各画像の添付ファイルを作成する必要があるため、この例は非常に便利です。返された attachmentIdsは、以下のカスタム JSONに挿入されます:
{
"command": "structured-content",
"body": "",
"structuredContent": {
"type": "carousel",
"items": [
{
"attachment_id": "5f73470a0e69dc",
"title": "This is the title",
"url": "https://url-to-image.com",
"subtitle": "This is the first subtitle",
"items": [
{
"type": "url",
"url": "https://www.cognigy.com/",
"title": "Visit Website"
},
{
"type": "reply",
"payload": "I want to select this one",
"title": "Select"
}
]
},
"...": "..."
]
}
}