{"_id":"579bce3a8a700d290067cc1e","category":{"_id":"57624356653c2d2200fec7a5","__v":0,"project":"55c8cff571d7580d0063a5e5","version":"57624356653c2d2200fec79c","sync":{"url":"","isSync":false},"reference":true,"createdAt":"2016-05-16T21:01:06.191Z","from_sync":false,"order":18,"slug":"menus","title":"Account Menus"},"githubsync":"","parentDoc":null,"project":"55c8cff571d7580d0063a5e5","user":"571fcfeea0acd42000af95be","__v":1,"version":{"_id":"57624356653c2d2200fec79c","__v":22,"project":"55c8cff571d7580d0063a5e5","createdAt":"2016-06-16T06:12:38.244Z","releaseDate":"2016-06-16T06:12:38.244Z","categories":["57624356653c2d2200fec79d","57624356653c2d2200fec79e","57624356653c2d2200fec79f","57624356653c2d2200fec7a0","57624356653c2d2200fec7a1","57624356653c2d2200fec7a2","57624356653c2d2200fec7a3","57624356653c2d2200fec7a4","57624356653c2d2200fec7a5","57624356653c2d2200fec7a6","57624356653c2d2200fec7a7","57624356653c2d2200fec7a8","57624356653c2d2200fec7a9","57624356653c2d2200fec7aa","5779ca1b99b40b0e005abb3a","5779d198aea88b0e00f63277","5797d3ab17ced017003c4be4","57ac170ef1cdae0e0053cdfc","57dbfc723ed3450e00dc9e6d","5804d12d16161c0f0077df9b","5841064b652e5b0f0015a7c8","588b5e5f2966b2230009cbf9","58a68ebf3239fa0f00857619","58c23c8b4922930f0050ac91","58fd1460809fc30f00f2ee07","5934eaf5328680002d77de6a","594bf91601cfe6000f40f4c5","595c4ed696b447001ba0cf6d","596524495cee50001575f5be","5970d4f1313162004dd303b5","59780fac24dbd1001a1fa057","59a8cfd3ead78a002d63cafe","59e0323d93da1f001c9ec170","5b0c16f2be9fcb0003e28222","5ba8fd1a4c8c220003a08f0f"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"4.0.0","version":"4"},"metadata":{"title":"","description":"","image":[]},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-07-29T21:44:26.412Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":true,"order":0,"body":"We've all been on the consuming side of a phone menu before. You call a company and hear, \"Press '1' for Sales. Press '2' for Support. Press '0' for the operator.\" With Phone.com you can create your own menus!\n\n## Supported Services\n* [List Menus](doc:list-account-menus) \n* [Create Menu](doc:create-account-menu) \n* [Get Menu](doc:get-account-menu) \n* [Replace Menu](doc:replace-account-menu)\n* [Delete Menu](doc:delete-account-menu) \n\n## Summary Object\nThe Menu Summary Object is used to briefly represent a menu. It can be seen in several places throughout this API. Here are the properties:\n[block:parameters]\n{\n \"data\": {\n \"h-0\": \"Property\",\n \"h-1\": \"Description\",\n \"h-2\": \"\",\n \"0-0\": \"`id`\",\n \"0-1\": \"Integer Menu ID. Read-only.\",\n \"0-2\": \"\",\n \"1-0\": \"`name`\",\n \"1-1\": \"Name. Required. Unique.\",\n \"1-2\": \"\"\n },\n \"cols\": 2,\n \"rows\": 2\n}\n[/block]\nHere is an example:\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"{\\n \\\"id\\\": 12412,\\n \\\"name\\\": \\\"Main Menu\\\"\\n}\",\n \"language\": \"json\"\n }\n ]\n}\n[/block]\n## Full Object\n\nThe Full Menu Object contains the same properties as the [Menu Summary Object](#section-summary-object), along with the following:\n[block:parameters]\n{\n \"data\": {\n \"0-0\": \"`greeting`\",\n \"1-0\": \"`keypress_error`\",\n \"2-0\": \"`allow_extension_dial`\",\n \"3-0\": \"`keypress_wait_time`\",\n \"4-0\": \"`timeout_handler`\",\n \"5-0\": \"`options`\",\n \"h-0\": \"Property\",\n \"h-1\": \"Description\",\n \"0-1\": \"[Greeting](doc:account-media) that is played when a caller enters a menu. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#section-lookup-object). Must refer to a media recording that has `is_hold_music` set to `FALSE`.\",\n \"1-1\": \"[Message](doc:account-media) that is played when the caller makes a keypress error. Output is a [Media Summary Object](doc:account-media#section-summary-object). Input must be a [Media Lookup Object](doc:account-media#section-lookup-object). Must refer to a media recording that has `is_hold_music` set to `FALSE`.\",\n \"2-1\": \"Boolean. Determines whether a caller can enter an extension number to bypass the menu.\",\n \"3-1\": \"Number of seconds to wait for the caller to choose a menu option. Must be between 1 and 5 seconds.\",\n \"4-1\": \"[Route](doc:account-routes) that will be entered when the caller fails to choose a menu option within the allotted time. Output is a [Route Summary Object](doc:account-routes#section-summary-object) if the route is named, otherwise the [Full Route Object](doc:account-routes#section-full-object) will be shown. Input must be a [Route Lookup Object](doc:account-routes#section-lookup-object) pointing to a named route.\",\n \"5-1\": \"Array of [menu option objects](#section-menu-option-object). See below for details.\"\n },\n \"cols\": 2,\n \"rows\": 6\n}\n[/block]\n## Menu Option Object\nThe Menu Option object is used to specify call handling rules when a caller selects a menu option.\n[block:parameters]\n{\n \"data\": {\n \"h-0\": \"Property\",\n \"h-1\": \"Description\",\n \"0-0\": \"`key`\",\n \"1-0\": \"`route`\",\n \"0-1\": \"Keypad key. Must equal a single digit or the pound sign (\\\"#\\\").\",\n \"1-1\": \"[Route](doc:account-routes) which will be entered when the user presses the designated key. Output is a [Route Summary Object](doc:account-routes#section-summary-object) if the route is named, otherwise the [Full Route Object](doc:account-routes#section-full-object) will be shown. Input must be a [Route Lookup Object](doc:account-route#section-lookup-object) pointing to a named route.\"\n },\n \"cols\": 2,\n \"rows\": 2\n}\n[/block]\n## Lookup Object\nThe Menu Lookup Object is used to link to a menu from another object. This is used, for example, when defining actions for [routes](doc:account-routes). Only *one* of the following properties needs to be included. If multiple are specified, then *all* properties must match one of your menus.\n[block:parameters]\n{\n \"data\": {\n \"h-0\": \"Properties\",\n \"h-1\": \"Description\",\n \"0-0\": \"`id`\",\n \"0-1\": \"ID\",\n \"1-0\": \"`name`\",\n \"1-1\": \"Name\"\n },\n \"cols\": 2,\n \"rows\": 2\n}\n[/block]\nHere are some examples:\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"menu: {\\n \\\"id\\\": 773451\\n}\",\n \"language\": \"json\"\n }\n ]\n}\n[/block]\n\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"menu: {\\n \\\"name\\\": \\\"Main Menu\\\"\\n}\",\n \"language\": \"json\"\n }\n ]\n}\n[/block]\nInstead of inputting an object, you can also use a scalar value. A menu will be found if the input matches any one of the above fields.\n[block:code]\n{\n \"codes\": [\n {\n \"code\": \"menu: \\\"Main Menu\\\"\",\n \"language\": \"json\"\n }\n ]\n}\n[/block]","excerpt":"","slug":"account-menus","type":"basic","title":"Menus"}