안녕하세요 저는 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] 삭제
몇 마디 만하겠습니다