Skype 봇이 웹훅의 응답을 표시하지 않지만 API AI에 포함 된 사용자 지정 페이로드에 대한 올바른 결과를 표시합니다.

제이콥 셀레 스틴

안녕하세요 저는 api.ai 또는 dialogflow를 사용하여 skype에서 봇을 만들고 있습니다. 어쨌든 이것은 내 사용자 지정 페이로드입니다.

{
"skype": {
"type": "",
"attachmentLayout": "",
"text": "",
"attachments": [
  {
    "contentType": "",
    "content": {
      "title": "",
      "images": [
        {
          "url": ""
        }
      ],
      "buttons": [
        {
          "type": "",
          "title": "",
          "value": ""
        }
      ]
    }
  }
]
}
}

그리고 여기 내 웹훅 응답이 있습니다.

"data": {
    "skype": {
      "type": "message",
      "attachmentLayout": "carousel",
      "text": "Here you go!",
      "attachments": [
        {
          "contentType": "application/vnd.microsoft.card.hero",
          "content": {
            "title": "Italian Cassoulet (Italian Chili)",
            "images": [
              {
                "url": "http://img.food.boxspace.in/image/rbk_57139479f2705/hdpi.jpg"
              }
            ],
            "buttons": [
              {
                "type": "openUrl",
                "title": "View Recipe",
                "value": "http://recipebk.com/Share.html#url=rbk_57139479f2705"
              }
            ]
          }
        }
      ]
    }
  }
}

이제이 응답을 삽입하면 스카이프에서 카드 회전 목마로 결과를 얻습니다. 하지만 내 웹훅으로 똑같이 시도하면 메시지가 표시되지 않습니다. 누군가 내가 뭘 잘못하고 있는지 말해 줄 수 있습니까? 이미이 Stackoverflow 질문 과이 api.ai 링크 를 확인했지만 지금까지는 아무 소용이 없었습니다.

변칙

좋아, 그래서 내가 이것을 올바르게 얻으면 API.ai 온라인 콘솔에서 응답을 만드는 것이 작동하지만 웹훅에서 json을 생성하면 실패합니까?

참고로 테스트하기가 약간 어려울 수 있지만 온라인 콘솔에서 "skype"에 대한 의도를 테스트 할 오른쪽의 "기본 응답"을 클릭 할 수 있습니다. 이렇게하면 하단의 오류 메시지를보고 오류가 있는지 그리고 그 이유를 확인할 수 있습니다.

이제 문서에서 웹 후크의 사용자 지정 페이로드를 데이터 필드에 포함해야한다고 문서에 나와 있더라도 그렇게하지 않습니다. API.ai가 웹훅 응답의 메시지 필드를 재정 의하여 응답을 생성하는 것과 똑같은 방식으로 간단히 따릅니다. 예에서 말보다 더 많은 것을 말했듯이, 내 챗봇 인 텐트 중 하나에 대해 몇 개의 리치 카드 목록을 생성하는 전체 웹훅 응답을 제공하겠습니다. 아시다시피 Json의 메시지 필드에 모든 것을 넣었습니다.

{
  "speech": "",
  "displayText": "",
  "data": {

  },
  "contextOut": [

  ],
  "source": "Webhook",
  "messages": [
    {
      "type": 4,
      "platform": "skype",
      "speech": "",
      "payload": {
        "skype": {
          "attachmentLayout": "list",
          "attachments": [
            {
              "contentType": "application\/vnd.microsoft.card.hero",
              "content": {
                "title": "Unit 2A",
                "subtitle": "",
                "text": "These timeslots are available for 2017-10-16",
                "images": [

                ],
                "buttons": [
                  {
                    "type": "imBack",
                    "title": "from 13:00 until 14:00 Unit 2A",
                    "value": "from 13:00 until 14:00 Unit 2A"
                  },
                  {
                    "type": "imBack",
                    "title": "from 14:00 until 15:00 Unit 2A",
                    "value": "from 14:00 until 15:00 Unit 2A"
                  },
                  {
                    "type": "imBack",
                    "title": "from 15:00 until 16:00 Unit 2A",
                    "value": "from 15:00 until 16:00 Unit 2A"
                  }
                ]
              }
            },
            {
              "contentType": "application\/vnd.microsoft.card.hero",
              "content": {
                "title": "Unit 1",
                "subtitle": "",
                "text": "These timeslots are available for 2017-10-16",
                "images": [

                ],
                "buttons": [
                  {
                    "type": "imBack",
                    "title": "from 13:00 until 14:00 Unit 1",
                    "value": "from 13:00 until 14:00 Unit 1"
                  },
                  {
                    "type": "imBack",
                    "title": "from 14:00 until 15:00 Unit 1",
                    "value": "from 14:00 until 15:00 Unit 1"
                  },
                  {
                    "type": "imBack",
                    "title": "from 15:00 until 16:00 Unit 1",
                    "value": "from 15:00 until 16:00 Unit 1"
                  },
                  {
                    "type": "imBack",
                    "title": "from 16:00 until 17:00 Unit 1",
                    "value": "from 16:00 until 17:00 Unit 1"
                  }
                ]
              }
            }
          ]
        }
      }
    }
  ]
}

그러나 API.ai는 단순히 이런 방식으로 메시지를 재정의하고이를 skype에 전달합니다. 리치 카드에 대한 자세한 내용은 https://docs.microsoft.com/en-us/bot-framework/rest-api/bot-framework-rest-connector-add-rich-cards를 읽고 다음 에서 Json 구조를 사용하십시오. 귀하의 api.ai webhook.

질문을 제공 한 방식으로 설정을 테스트하기가 매우 어렵 기 때문에 전체 예제를 제공했습니다. 또한 API.ai는 문서화되지 않은 기능이있는 경우에 따라 블랙 박스입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관