# Get custom menu configuration
Interface should be called on the server side, not in the front end (Weixin Mini Program, web pages, APP, etc.) directly called, specific reference interface call guide
Interface name: getMenu
After creating a custom menu with an interface, a developer can also use the interface to query the structure of the custom menu.
# 1. How to call
# HTTPS calls
GET https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
# Cloud Calls
Call method: officialAccount.menu.get
The input and exit parameters are the same as the HTTPS call, which can be called in the cloud call documentation
# Third party invocation
This interface supports Third Party Platform generation business call.
The permission set id to which the interface belongs is: 15
When a service provider is authorized by one of the permissions set, it can call on behalf of the merchant by using authorizer_access_token , which can be viewed in the third-party call documentation.
# 2. Request parameters
# Query parametersQuery String parameters
Parameter Name | type | Required to fill in | Introductions |
---|---|---|---|
access_token | string | yes | Interface invocation credentials, using access_token , authorizer_access_token |
# Request BodyRequest Payload
nothing
# 3. Return Parameters
# Response Payload
Parameter Name | type | Introductions |
---|---|---|
menu | object | Default Menu Information |
conditionalmenu | objarray | List of Personalized Menus |
# Res.menuObject Payload
Default Menu Information
Parameter Name | type | Introductions |
---|---|---|
button | objarray | Level 1 menu array (1 to 3 items) |
# Res.conditionalmenu(Array)Object Payload
List of Personalized Menus
Parameter Name | type | Introductions |
---|---|---|
button | objarray | Level 1 menu array (1 to 3 items) |
matchrule | object | Menu Match Rules (at least one non-empty field) |
# Res.menu.button(Array)Object Payload
Level 1 menu array (1 to 3 items)
Parameter Name | type | Example | Introductions | to enumerate |
---|---|---|---|---|
type | string | click | Response action type of menu (exclusive of sub_button) | click view scancode_push scancode_waitmsg pic_sysphoto pic_photo_or_album pic_weixin location_select media_id article_id article_view_limited |
name | string | Songs of the day | Menu title, no more than 16 bytes, submenu no more than 60 bytes | - |
key | string | - | The menu KEY value, used for message interface push, does not exceed 128 bytes. Click, etc. Click types must be. | - |
url | string | - | Web links, which users can open by clicking on a menu, are no more than 1024 bytes.When type is miniprogram, older versions of the Portals that do not support Weixin Mini Program will open this url.View, miniprogram types are required. | - |
media_id | string | - | The valid media_id returned by calling the new permanent material interface. The media_id type and the view_limited type must | - |
appid | string | - | Weixin Mini Program of AppID (only Official Account can be configured), the miniprogram type must | - |
pagepath | string | - | The page path of Weixin Mini Program, the miniprogram type must | - |
article_id | string | - | The legal article_id, article_id type, and article_view_limited type obtained after publication must be | - |
sub_button | objarray | - | Array of secondary menu structures | - |
# Res.menu.button(Array).sub_buttonObject Payload
Array of secondary menu structures
Parameter Name | type | Example | Introductions |
---|---|---|---|
type | string | click | The response action type of the menu (type of the same level menu) |
name | string | Songs of the day | Menu title, no more than 16 bytes, submenu no more than 60 bytes |
key | string | - | The menu KEY value, used for message interface push, does not exceed 128 bytes. Click, etc. Click types must be. |
url | string | - | Web links, which users can open by clicking on a menu, are no more than 1024 bytes.When type is miniprogram, older versions of the Portals that do not support Weixin Mini Program will open this url.View, miniprogram types are required. |
media_id | string | - | The valid media_id returned by calling the new permanent material interface. The media_id type and the view_limited type must |
appid | string | - | Weixin Mini Program of AppID (only Official Account can be configured), the miniprogram type must |
pagepath | string | - | The page path of Weixin Mini Program, the miniprogram type must |
article_id | string | - | The legal article_id, article_id type, and article_view_limited type obtained after publication must be |
# Res.conditionalmenu(Array).buttonObject Payload
Level 1 menu array (1 to 3 items)
Parameter Name | type | Example | Introductions | to enumerate |
---|---|---|---|---|
type | string | click | Response action type of menu (exclusive of sub_button) | click view scancode_push scancode_waitmsg pic_sysphoto pic_photo_or_album pic_weixin location_select media_id article_id article_view_limited |
name | string | Songs of the day | Menu title, no more than 16 bytes, submenu no more than 60 bytes | - |
key | string | - | The menu KEY value, used for message interface push, does not exceed 128 bytes. Click, etc. Click types must be. | - |
url | string | - | Web links, which users can open by clicking on a menu, are no more than 1024 bytes.When type is miniprogram, older versions of the Portals that do not support Weixin Mini Program will open this url.View, miniprogram types are required. | - |
media_id | string | - | The valid media_id returned by calling the new permanent material interface. The media_id type and the view_limited type must | - |
appid | string | - | Weixin Mini Program of AppID (only Official Account can be configured), the miniprogram type must | - |
pagepath | string | - | The page path of Weixin Mini Program, the miniprogram type must | - |
article_id | string | - | The legal article_id, article_id type, and article_view_limited type obtained after publication must be | - |
sub_button | objarray | - | Array of secondary menu structures | - |
# Res.conditionalmenu(Array).button.sub_buttonObject Payload
Array of secondary menu structures
Parameter Name | type | Example | Introductions |
---|---|---|---|
type | string | click | The response action type of the menu (type of the same level menu) |
name | string | Songs of the day | Menu title, no more than 16 bytes, submenu no more than 60 bytes |
key | string | - | The menu KEY value, used for message interface push, does not exceed 128 bytes. Click, etc. Click types must be. |
url | string | - | Web links, which users can open by clicking on a menu, are no more than 1024 bytes.When type is miniprogram, older versions of the Portals that do not support Weixin Mini Program will open this url.View, miniprogram types are required. |
media_id | string | - | The valid media_id returned by calling the new permanent material interface. The media_id type and the view_limited type must |
appid | string | - | Weixin Mini Program of AppID (only Official Account can be configured), the miniprogram type must |
pagepath | string | - | The page path of Weixin Mini Program, the miniprogram type must |
article_id | string | - | The legal article_id, article_id type, and article_view_limited type obtained after publication must be |
# Res.conditionalmenu(Array).matchruleObject Payload
Menu Match Rules (at least one non-empty field)
Parameter Name | type | Example | Introductions |
---|---|---|---|
tag_id | string | - | The id of the user tag, which can be obtained through the user tag management interface |
client_platform_type | string | 1 | Customer version, the current only specific to the system model: IOS (1), Android (2), Others (3), do not fill, do not match |
# 4. Note
After you set up a personalized menu, you can use this custom menu query interface to get the default menu and all the personalized menu information.
# 5. Code examples
# 5.1 Query the default menu
Example Requests
nothing
Return an example
{
"menu": {
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC",
"sub_button": []
}
]
}
}
# 5.2 Request a Personalized Menu
Example Requests
nothing
Return an example
{
"menu": {
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC",
"sub_button": []
}
],
"menuid": 208396938
},
"conditionalmenu": [
{
"button": [
{
"type": "click",
"name": "今日歌曲",
"key": "V1001_TODAY_MUSIC",
"sub_button": []
}
],
"matchrule": {
"group_id": 2,
"sex": 1
},
"menuid": 208396993
}
]
}
# 6. Error code
The following is a list of error codes for this interface, other error codes can refer to General error codes
Error code | Error Description | Solutions |
---|---|---|
0 | ok | normal |
# 7. Scope of application
Official Account | Service Account |
---|---|
Certification only | ✔ |
- Authentication only: means that only authenticated accounts are allowed to be invoked by the enterprise entity, and accounts that are not authenticated or do not support authentication cannot be invoked.
- ✔: The account can call this interface
- Other account types that are not expressly stated may not be called on this interface without special instructions;