Facebook Messenger Platform发送API意外的内部错误

时间:2016-08-25 13:29:59

标签: facebook facebook-messenger facebook-send-api

我正在研究我的Facebook Messenger平台发送API框架,我在尝试创建航空公司行程模板时遇到此错误(https://developers.facebook.com/docs/messenger-platform/send-api-reference/airline-itinerary-template):

{
 "error": {
   "message": "(#-1) Send API unexpected internal error",
   "type": "OAuthException",
   "code": -1,
   "fbtrace_id": "DBWbw/pHJGv"
 }
}

这是触发它的请求:

{  
   "message":{  
      "attachment":{  
         "type":"template",
         "payload":{  
            "flight_info":[  
               {  
                  "connection_id":"123",
                  "segment_id":"123",
                  "aircraft_type":"Boeing",
                  "travel_class":"business",
                  "flight_number":"123",
                  "departure_airport":{  
                     "airport_code":"CT",
                     "city":"Catania",
                     "terminal":"F",
                     "gate":"54"
                  },
                  "arrival_airport":{  
                     "airport_code":"BG",
                     "city":"Bergamo",
                     "terminal":"C",
                     "gate":"12"
                  },
                  "flight_schedule":{  
                     "boarding_time":"2016-8-25T15:8",
                     "departure_time":"2016-8-25T15:8",
                     "arrival_time":"2016-8-25T15:8"
                  }
               }
            ],
            "passenger_info":[  
               {  
                  "passenger_id":"1",
                  "ticket_number":"215",
                  "name":"Sarah Hum"
               },
               {  
                  "passenger_id":"2",
                  "name":"Jeremy Goldberg"
               }
            ],
            "passenger_segment_info":[  
               {  
                  "segment_id":"241",
                  "passenger_id":"251",
                  "seat":"14A",
                  "seat_type":"Economy",
                  "product_info":[  
                     {  
                        "title":"Cabin",
                        "value":"Coach"
                     }
                  ]
               }
            ],
            "price_info":[  
               {  
                  "title":"Cabin",
                  "amount":100.0,
                  "currency":"USD"
               },
               {  
                  "title":"Ticket",
                  "amount":200.0
               }
            ],
            "base_price":200.71,
            "tax":200.0,
            "total_price":4032.54,
            "currency":"USD",
            "pnr_number":"D0FQTK",
            "intro_message":"Here\u0027s your itinerary",
            "locale":"en_US",
            "template_type":"airline_itinerary"
         }
      }
   },
   "recipient":{  
      "id":"************"
   }
}

在此网址:https://graph.facebook.com/v2.7/me/messages?access_token= *******

我只是使用此特定模板才遇到此问题。另一个工作得很好。有人知道它可能是什么原因吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

我遇到同样的问题,您是否尝试使用2.6 API版本?

https://graph.facebook.com/v2.6/me/messages?access_token=*******

我刚刚尝试使用CURL请求,并且可以使用facebook docs示例

curl -X POST -H "Content-Type: application/json" -d '{
"recipient": {
    "id": "XXXX"
},
"message": {
    "attachment": {
        "type": "template",
        "payload": {
            "template_type": "airline_itinerary",
            "intro_message": "Heres your flight itinerary.",
            "locale": "en_US",
            "pnr_number": "ABCDEF",
            "passenger_info": [
            {
                "name": "Farbound Smith Jr",
                "ticket_number": "0741234567890",
                "passenger_id": "p001"
            },
            {
                "name": "Nick Jones",
                "ticket_number": "0741234567891",
                "passenger_id": "p002"
            }
        ],
            "flight_info": [
            {
                "connection_id": "c001",
                "segment_id": "s001",
                "flight_number": "KL9123",
                "aircraft_type": "Boeing 737",
                "departure_airport": {
                    "airport_code": "SFO",
                    "city": "San Francisco",
                    "terminal": "T4",
                    "gate": "G8"
                },
                "arrival_airport": {
                    "airport_code": "SLC",
                    "city": "Salt Lake City",
                    "terminal": "T4",
                    "gate": "G8"
                },
                "flight_schedule": {
                    "departure_time": "2016-01-02T19:45",
                    "arrival_time": "2016-01-02T21:20"
                },
                "travel_class": "business"
            },
            {
                "connection_id": "c002",
                "segment_id": "s002",
                "flight_number": "KL321",
                "aircraft_type": "Boeing 747-200",
                "travel_class": "business",
                "departure_airport": {
                    "airport_code": "SLC",
                    "city": "Salt Lake City",
                    "terminal": "T1",
                    "gate": "G33"
                },
                "arrival_airport": {
                    "airport_code": "AMS",
                    "city": "Amsterdam",
                    "terminal": "T1",
                    "gate": "G33"
                },
                "flight_schedule": {
                    "departure_time": "2016-01-02T22:45",
                    "arrival_time": "2016-01-03T17:20"
                }
            }
        ],
            "passenger_segment_info": [
            {
                "segment_id": "s001",
                "passenger_id": "p001",
                "seat": "12A",
                "seat_type": "Business"
            },
            {
                "segment_id": "s001",
                "passenger_id": "p002",
                "seat": "12B",
                "seat_type": "Business"
            },
            {
                "segment_id": "s002",
                "passenger_id": "p001",
                "seat": "73A",
                "seat_type": "World Business",
                "product_info": [
                    {
                        "title": "Lounge",
                        "value": "Complimentary lounge access"
                    },
                    {
                        "title": "Baggage",
                        "value": "1 extra bag 50lbs"
                    }
                ]
            },
            {
                "segment_id": "s002",
                "passenger_id": "p002",
                "seat": "73B",
                "seat_type": "World Business",
                "product_info": [
                    {
                        "title": "Lounge",
                        "value": "Complimentary lounge access"
                    },
                    {
                        "title": "Baggage",
                        "value": "1 extra bag 50lbs"
                    }
                ]
            }
        ],
            "price_info": [
            {
                "title": "Fuel surcharge",
                "amount": "1597",
                "currency": "USD"
            }
        ],
            "base_price": "12206",
            "tax": "200",
            "total_price": "14003",
            "currency": "USD"
    }
}
}
}' 'https://graph.facebook.com/v2.6/me/messages?access_token=xxxxx'

答案 1 :(得分:1)

我在你的留言json中看到了以下问题。

  1. flight_info部分中的segment_id与passenger_segment_info部分中的segment_id不匹配
  2. 与passenger_id字段相同的问题。
  3. 登机,到达和离开日期格式错误。如果月,日,小时或分钟是单个数字,则需要前缀0.
  4. 我测试了上述修复程序并且运行正常。这是更新的示例。

    {
         "attachment":{  
         "type":"template",
         "payload":{  
            "flight_info":[  
               {  
                  "connection_id":"123",
                  "segment_id":"241",
                  "aircraft_type":"Boeing",
                  "travel_class":"business",
                  "flight_number":"123",
                  "departure_airport":{  
                     "airport_code":"CT",
                     "city":"Catania",
                     "terminal":"F",
                     "gate":"54"
                  },
                  "arrival_airport":{  
                     "airport_code":"BG",
                     "city":"Bergamo",
                     "terminal":"C",
                     "gate":"12"
                  },
                  "flight_schedule":{  
                     "boarding_time":"2016-08-25T15:08",
                     "departure_time":"2016-08-25T15:08",
                     "arrival_time":"2016-08-25T15:08"
                  }
               }
            ],
            "passenger_info":[  
               {  
                  "passenger_id":"1",
                  "ticket_number":"215",
                  "name":"Sarah Hum"
               },
               {  
                  "passenger_id":"2",
                  "name":"Jeremy Goldberg"
               }
            ],
            "passenger_segment_info":[  
               {  
                  "segment_id":"241",
                  "passenger_id":"1",
                  "seat":"14A",
                  "seat_type":"Economy",
                  "product_info":[  
                     {  
                        "title":"Cabin",
                        "value":"Coach"
                     }
                  ]
               }
            ],
            "price_info":[  
               {  
                  "title":"Cabin",
                  "amount":100.0,
                  "currency":"USD"
               },
               {  
                  "title":"Ticket",
                  "amount":200.0
               }
            ],
            "base_price":200.71,
            "tax":200.0,
            "total_price":4032.54,
            "currency":"USD",
            "pnr_number":"D0FQTK",
            "intro_message":"Here\u0027s your itinerary",
            "locale":"en_US",
            "template_type":"airline_itinerary"
         }
      }
    },
    

    我希望Facebook有朝一日能够通过这些限制的细节来更新文档。请在此处分享您的错误机票链接,以便我们订阅。