【问题标题】:Sending multiple messages to FB messenger with one being a template向 FB messenger 发送多条消息,其中一条是模板
【发布时间】:2018-03-08 07:21:59
【问题描述】:

我正在尝试使用对话流通过 facebook 机器人从 webhook 发送多条消息。我想发送一条只有文字的消息,然后是 airline template,然后是快速回复。我可以只发送一条文本然后快速回复,我可以单独发送一个航空公司模板,但我无法弄清楚如何按顺序发送它们。

我可以通过这种方式发送短信和快速回复消息:

       return ({
         "speech": "",
         "messages": [
             {
                 "type": 0,
                 "speech": copy1
             },
             {
                 "type": 2,
                 "title": obj.QRtitle,
                 "replies":[
                     qR1 = obj.qR1 || '',
                     qR2 = obj.qR2 || '',
                     qR3 = obj.qR3 || '',
                     qR4 = obj.qR4 || '',
                     qR5 = obj.qR5 || '',
                     qR6 = obj.qR6 || '',
                     qR7 = obj.qR7 || '',
                     qR8 = obj.qR8 || '',
                     qR9 = obj.qR9 || '',
                     qR10 = obj.qR10 || '',
                 ]
             },
         ],
         "source": "facebook"
     });
   },

然后我可以通过这种方式发送航空公司模板:

     return ({
           "data" : {
               "facebook" : {
                   "attachment" : {
                       "type" : "template",
                       "payload" : {

                   "template_type": "airline_boardingpass",
                   "intro_message": object.intro_message|| '',
                   "locale": "en_US",
                   "boarding_pass": [
                     {
                       "passenger_name": object.passenger_name,
                       "pnr_number": "ABCDEF",
                       "seat": object.seat|| '',
                       "logo_image_url": object.logo_image_url|| '',
                       "header_image_url": object.header_image_url|| '',
                       "qr_code": object.qrcode_data,
                       "above_bar_code_image_url": object.above_bar_code_image_url|| '',
                       "auxiliary_fields": [
                         {
                           "label": "Terminal",
                           "value": object.terminal
                         },
                         {
                           "label": "Departure",
                           "value": object.departure_date_time|| '',
                         }
                       ],
                       "secondary_fields": [
                         {
                           "label": "Boarding",
                           "value": object.boarding_time|| '',
                         },
                         {
                           "label": "Gate",
                           "value": object.departure_gate
                         },
                         {
                           "label": "Seat",
                           "value": object.seat
                         },
                       ],
                       "flight_info": {
                         "flight_number": object.flight_number,
                         "departure_airport": {
                           "airport_code": object.departure_airport_code,
                           "city": object.departure_city,
                           "terminal": object.departure_term,
                           "gate": object.departure_gate
                         },
                         "arrival_airport": {
                           "airport_code": object.arrival_airport_code,
                           "city": object.arrival_city
                         },
                         "flight_schedule": {
                           "departure_time": object.departure_time|| '',
                           "arrival_time": object.arrival_time|| '',
                         }
                       }
                     }
                   ]
                 },
               },
             },
           },
               "source": "facebook"
         });

我无法弄清楚如何将两者合并以成功发送 - 任何建议都会有所帮助。

【问题讨论】:

    标签: facebook facebook-messenger dialogflow-es


    【解决方案1】:

    Dialogflow 支持自定义负载消息对象。以下是您的回复的修改版本,应该可以使用。它的工作原理是将您的自定义负载从顶级 Dialogflow 响应中的自定义负载移动到与其他文本和快速回复消息处于 Dialogflow webhook 响应相同级别的自定义负载消息对象:

    {
      "messages": [
        {
          "speech": "copy1",
          "type": 0
        },
        {
          "replies": [
            "replies..."
          ],
          "title": "obj.QRtitle",
          "type": 2
        },
        {
          "platform": "facebook",
          "type": 4,
          "payload": {
            "attachment": {
              "type": "template",
              "payload": {
                "template_type": "airline_boardingpass",
                "intro_message": "object.intro_message",
                "locale": "en_US",
                "boarding_pass": [
                  {
                    "passenger_name": "object.passenger_name",
                    "pnr_number": "ABCDEF",
                    "seat": "object.seat",
                    "logo_image_url": "object.logo_image_url",
                    "header_image_url": "object.header_image_url",
                    "qr_code": "object.qrcode_data",
                "above_bar_code_image_url": "    object.above_bar_code_image_url",
                    "auxiliary_fields": [
                      {
                        "label": "Terminal",
                        "value": "object.terminal"
                      },
                      {
                        "label": "Departure",
                        "value": "object.departure_date_time"
                      }
                    ],
                    "secondary_fields": [
                      {
                        "label": "Boarding",
                        "value": "object.boarding_time"
                      },
                      {
                        "label": "Gate",
                        "value": "object.departure_gate"
                      },
                      {
                        "label": "Seat",
                        "value": "object.seat"
                      }
                    ],
                    "flight_info": {
                      "flight_number": "object.flight_number",
                      "departure_airport": {
                        "airport_code": "object.departure_airport_code",
                        "city": "object.departure_city",
                        "terminal": "object.departure_term",
                        "gate": "object.departure_gate"
                      },
                      "arrival_airport": {
                        "airport_code": "object.arrival_airport_code",
                        "city": "object.arrival_city"
                      },
                      "flight_schedule": {
                        "departure_time": "object.departure_time",
                        "arrival_time": "object.arrival_time"
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      ],
      "source": "facebook",
      "speech": ""
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      相关资源
      最近更新 更多