Viber Rest Api не может открыть внутренний браузер
Я пишу "клавиатуру" Viber, и я хочу создать кнопку, которая открывает ссылку во внутреннем браузере, что, согласно этому документу, должно выполняться путем отправки сообщения JSON на https://chatapi.viber.com/pa/send_message. Я устанавливаю параметры кнопок "ActionType": "open-url" и "ActionBody":"example.com". Параметр "OpenURLType": "internal" является необязательным, и его значение по умолчанию - internal. Независимо от того, что я пишу в качестве значения этого параметра или если я его опускаю, ответ будет успешным, но URL-адрес открывается во внешнем браузере.
{
"receiver":"some hash",
"keyboard":{
"Type":"keyboard",
"DefaultHeight":false,
"Buttons": [
{
"Columns": null,
"Rows": null,
"BgColor": "#7eceea",
"Silent": null,
"BgMediaType": null,
"BgMedia": null,
"BgMediaScaleType": null,
"ImageScaleType": null,
"BgLoop": null,
"ActionType": "open-url",
"ActionBody": "https://www.wikipedia.org/",
"Image": null,
"Text": "open this ",
"TextVAlign": null,
"TextHAlign": null,
"TextPaddings": null,
"TextOpacity": null,
"TextSize": "small",
"OpenURLType": "internal",
"OpenURLMediaType": "nulll",
"TextBgGradientColor": null,
"TextShouldFit": null
}
]
}
}
и ответ 200 ОК
{
"status": 0,
"status_message": "ok",
"message_token": 5469236575712199350,
"chat_hostname": "SN-CHAT-01_"
}
Когда я поигрался с другими необязательными параметрами, я заметил несоответствие. Некоторые из них вызывают ошибку, когда вы задаете какое-то бредовое значение (например, устанавливая для ActaionType значение "operghj"). Другие необязательные параметры - нет. Например
{
"status": 3,
"status_message": "keyboard is not valid. [instance value (\"operghj\") not found in enum (possible values: [\"reply\",\"open-url\",\"\"])]",
"chat_hostname": "SN-CHAT-01_"
}
Кто-нибудь знает, как это исправить или что я делаю не так?
1 ответ
Параметр "min_api_version": 7
, должен быть добавлен в json, чтобы открыть URL-адрес внутри.
{
"receiver":"some hash",
"min_api_version": 7,
"keyboard":{
"Type":"keyboard",
"DefaultHeight":false,
"Buttons": [
{
"Columns": null,
"Rows": null,
"BgColor": "#7eceea",
"Silent": null,
"BgMediaType": null,
"BgMedia": null,
"BgMediaScaleType": null,
"ImageScaleType": null,
"BgLoop": null,
"ActionType": "open-url",
"ActionBody": "https://www.wikipedia.org/",
"Image": null,
"Text": "open this ",
"TextVAlign": null,
"TextHAlign": null,
"TextPaddings": null,
"TextOpacity": null,
"TextSize": "small",
"OpenURLType": "internal",
"OpenURLMediaType": "nulll",
"TextBgGradientColor": null,
"TextShouldFit": null
}
]
}
}