microsoft / BotBuilder-V3

Microsoft Bot Builder V3 SDK for Microsoft Bot Framework
MIT License
51 stars 61 forks source link

POST to 'https://facebook.botframework.com/v3/conversations/9838851111469094-906008411166152/activities/lOdKu9yrLed5iyVk3vbBaQJ5mCJPyp12345678fd2Ta0xQ3R_I12345678pmlNxrQ' failed: [400] Bad Request #167

Closed DevSharkOne closed 5 years ago

DevSharkOne commented 5 years ago

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.

Version

V3

Describe the bug

We are working with bot framework and bot channel registration in azure about 1 year ago and everything was fine, but yesterday some functionalities leave to working without any change to our chatbot solution, the specific controls that are firing bad request to "https://facebook.botframework.com/v3/conversations" are, quick_replies content_type location, list of cards, paging. We do not understand why suddenly not working that controls if we have not done any change neither a publish to the appservice where the solutions is deployed.

To Reproduce

Quick_replies content_type location:

const message = new Message(session)
    .text(dialogData.texts.AskForSalesOffice);

message.sourceEvent({
    facebook: {
        quick_replies: [
            {
                content_type: 'location',
            }
        ],
    },
});

List of cards:

facebook: {
    attachment: {
        payload: {
            buttons: null,
            elements: currentPage,
            template_type: 'list',
            top_element_style: 'compact',
        },
        type: 'template',
    },
    notification_type: 'REGULAR',
},

Expected behavior

The expected behavior is that the controls quick_replies content_type location, list of cards and paging works as they were working until before yesterday, this is for facebook using bot framework V3.

Screenshots

Expected image image

Issue image image

The bot does not answer because: POST to 'https://facebook.botframework.com/v3/conversations/9838851111469094-906008411166152/activities/lOdKu9yrLed5iyVk3vbBaQJ5mCJPyp12345678fd2Ta0xQ3R_I12345678pmlNxrQ' failed: [400] Bad Request

Additional context

Help please!

[bug] [javascript]

congysu commented 5 years ago

@v-kydela can you please repro this? thanks.

DevSharkOne commented 5 years ago

How do you need i show you what is happening? print screen or anything else?

v-kydela commented 5 years ago

I can reproduce it. I'm investigating now.

v-kydela commented 5 years ago

Using the REST API, I was able to receive the following JSON:

{
  "error": {
    "code": "ServiceError",
    "message": "Facebook API error",
    "innerHttpError": {
      "statusCode": 400,
      "body": {
        "message": "(#100) Location Quick Reply is now deprecated on API 4.0. Please refer to our Developer Documentation for more info.",
        "type": "OAuthException",
        "code": 100,
        "error_subcode": 2018286,
        "fbtrace_id": "A_7d_-NKtxMVtfLyaYKG8t8"
      }
    }
  }
}

That led me to this:

On July 29, 2019 we deprecated the location button type for V4.0 and will be removing it for all versions on October 29, 2019

During F8 2019, we announced our plans to launch a lighter, better and simpler Messenger designed to build closer connections between people and businesses.

Starting August 15, 2019, updated versions of the Messenger app will no longer render Location quick reply. We recommend businesses ask for zip code and address information within the thread. While we are sunsetting the existing version of Share Location, in the coming months we will be introducing new ways for people to communicate their location to businesses in more valuable ways. Refer to June 10, 2019 Announcement.

I'm afraid the problem is on the Facebook side and not the Bot Framework side so there's nothing we can do about it here.

DevSharkOne commented 5 years ago

We have one version of our chatbot that does not use botframework instead call the facebook apis directly, and that version is working yet, but when call through botframework does not works, for that reason we were thinking about the issue may be related to botframework V3.

v-kydela commented 5 years ago

@DevSharkOne - Did you read the Facebook announcement I just linked you to?

DevSharkOne commented 5 years ago

Yes, I did, so i understand that we need change the implementation and do not use the send location quick replay. And, what about the list control?

DevSharkOne commented 5 years ago

I found information about the list template: https://developers.facebook.com/docs/messenger-platform/send-messages/template/list

v-kydela commented 5 years ago

@DevSharkOne - Have a look at this:

On July 29, 2019 we deprecated the List Template for V4.0

During F8 2019, we announced our plans to launch a lighter, better and simpler Messenger designed to build closer connections between people and businesses.

Starting August 15, 2019, updated versions of the Messenger app will no longer support Vertical list templates. Vertical list templates will render as horizontal scrollable carousel template post August 15th. Refer to June 10, 2019 Announcement.

Perhaps the reason you noticed location quick replies working when you bypass the bot connector service is because you're using an older version of the API, which isn't scheduled to stop working until the 29th. Perhaps the connector service is using 4.0. At any rate, I'll close this issue as the problem isn't with the Bot Framework.