station 0.0.0 → 0.0.93

Sign up to get free protection for your applications and to get access to all the features.
Files changed (619) hide show
  1. checksums.yaml +7 -0
  2. data/.buildpacks +1 -0
  3. data/.editorconfig +23 -0
  4. data/.env.example +33 -0
  5. data/.gitignore +37 -22
  6. data/CODE_OF_CONDUCT.md +46 -0
  7. data/CONTRIBUTING.md +46 -0
  8. data/Dockerfile +68 -0
  9. data/Gemfile +2 -0
  10. data/Gemfile.lock +14 -0
  11. data/LICENSE.md +400 -20
  12. data/LICENSE.txt +9 -0
  13. data/Procfile +1 -0
  14. data/README.md +54 -20
  15. data/app.json +24 -0
  16. data/babel.config.js +74 -0
  17. data/bin/nexmo-developer +112 -0
  18. data/docs/Getting-Started.md +39 -0
  19. data/docs/How-To-Use.md +272 -0
  20. data/docs/_config.yml +5 -0
  21. data/docs/index.md +46 -0
  22. data/lib/nexmo_developer/.disallowed_words +2 -0
  23. data/lib/nexmo_developer/.dockerignore +1 -0
  24. data/lib/nexmo_developer/.eslintrc.js +6 -0
  25. data/lib/nexmo_developer/.nvmrc +1 -0
  26. data/lib/nexmo_developer/.postcssrc.yml +4 -0
  27. data/lib/nexmo_developer/.pre-commit-config.yaml +8 -0
  28. data/lib/nexmo_developer/.rspec +3 -0
  29. data/lib/nexmo_developer/.rubocop.yml +273 -0
  30. data/lib/nexmo_developer/.ruby-version +1 -0
  31. data/lib/nexmo_developer/Dockerfile +28 -0
  32. data/lib/nexmo_developer/Gemfile +192 -0
  33. data/lib/nexmo_developer/Gemfile.lock +630 -0
  34. data/lib/nexmo_developer/Guardfile +109 -0
  35. data/lib/nexmo_developer/Procfile +2 -0
  36. data/lib/nexmo_developer/Rakefile +6 -0
  37. data/lib/nexmo_developer/Runbook.md +69 -0
  38. data/lib/nexmo_developer/app/admin/active_admin_feedback_author.rb +23 -0
  39. data/lib/nexmo_developer/app/admin/active_admin_redirect.rb +22 -0
  40. data/lib/nexmo_developer/app/admin/active_admin_session.rb +34 -0
  41. data/lib/nexmo_developer/app/admin/admin_building_block_event.rb +31 -0
  42. data/lib/nexmo_developer/app/admin/admin_event.rb +40 -0
  43. data/lib/nexmo_developer/app/admin/admin_feedback_feedback.rb +54 -0
  44. data/lib/nexmo_developer/app/admin/admin_feedback_resource.rb +42 -0
  45. data/lib/nexmo_developer/app/admin/admin_user.rb +37 -0
  46. data/lib/nexmo_developer/app/assets/config/manifest.js +5 -0
  47. data/lib/nexmo_developer/app/assets/fonts/Lato-Black.woff +0 -0
  48. data/lib/nexmo_developer/app/assets/fonts/Lato-Black.woff2 +0 -0
  49. data/lib/nexmo_developer/app/assets/fonts/Lato-Regular.woff +0 -0
  50. data/lib/nexmo_developer/app/assets/fonts/Lato-Regular.woff2 +0 -0
  51. data/lib/nexmo_developer/app/assets/fonts/Lato-Semibold.woff +0 -0
  52. data/lib/nexmo_developer/app/assets/fonts/Lato-Semibold.woff2 +0 -0
  53. data/lib/nexmo_developer/app/assets/fonts/icomoon.eot +0 -0
  54. data/lib/nexmo_developer/app/assets/fonts/icomoon.json +1257 -0
  55. data/lib/nexmo_developer/app/assets/fonts/icomoon.svg +55 -0
  56. data/lib/nexmo_developer/app/assets/fonts/icomoon.ttf +0 -0
  57. data/lib/nexmo_developer/app/assets/fonts/icomoon.woff +0 -0
  58. data/lib/nexmo_developer/app/assets/fonts/nexmo-developer.json +36483 -0
  59. data/lib/nexmo_developer/app/assets/images/.keep +0 -0
  60. data/lib/nexmo_developer/app/assets/images/logo@3x.png +0 -0
  61. data/lib/nexmo_developer/app/assets/images/logo_vonage.png +0 -0
  62. data/lib/nexmo_developer/app/assets/images/nexmo-developer-logo.svg +25 -0
  63. data/lib/nexmo_developer/app/assets/images/nexmo-logo-collapsed.svg +10 -0
  64. data/lib/nexmo_developer/app/assets/images/nexmo-vonage-white.svg +79 -0
  65. data/lib/nexmo_developer/app/assets/images/posters/chatapp.jpg +0 -0
  66. data/lib/nexmo_developer/app/assets/images/posters/chatapp_small.png +0 -0
  67. data/lib/nexmo_developer/app/assets/images/posters/nexmo.jpg +0 -0
  68. data/lib/nexmo_developer/app/assets/images/posters/numberinsight.jpg +0 -0
  69. data/lib/nexmo_developer/app/assets/images/posters/numberinsight_small.png +0 -0
  70. data/lib/nexmo_developer/app/assets/images/posters/sms.jpg +0 -0
  71. data/lib/nexmo_developer/app/assets/images/posters/sms_small.png +0 -0
  72. data/lib/nexmo_developer/app/assets/images/posters/verify.jpg +0 -0
  73. data/lib/nexmo_developer/app/assets/images/posters/verify_small.png +0 -0
  74. data/lib/nexmo_developer/app/assets/images/posters/voice.jpg +0 -0
  75. data/lib/nexmo_developer/app/assets/images/posters/voice_small.png +0 -0
  76. data/lib/nexmo_developer/app/assets/images/select-dropdown.png +0 -0
  77. data/lib/nexmo_developer/app/assets/images/slack.svg +33 -0
  78. data/lib/nexmo_developer/app/assets/images/themes/ea/topography.png +0 -0
  79. data/lib/nexmo_developer/app/assets/javascripts/active_admin.js.coffee +1 -0
  80. data/lib/nexmo_developer/app/assets/javascripts/application.js +19 -0
  81. data/lib/nexmo_developer/app/assets/javascripts/stats.js +14 -0
  82. data/lib/nexmo_developer/app/assets/regex/matching_chars.rb +1 -0
  83. data/lib/nexmo_developer/app/assets/regex/sequence_diagram_regex.rb +1 -0
  84. data/lib/nexmo_developer/app/assets/regex/stats_regex.rb +1 -0
  85. data/lib/nexmo_developer/app/assets/regex/webfont_regex.rb +1 -0
  86. data/lib/nexmo_developer/app/assets/stylesheets/active_admin.scss +17 -0
  87. data/lib/nexmo_developer/app/assets/stylesheets/application.css +1 -0
  88. data/lib/nexmo_developer/app/channels/application_cable/channel.rb +4 -0
  89. data/lib/nexmo_developer/app/channels/application_cable/connection.rb +4 -0
  90. data/lib/nexmo_developer/app/constraints/documentation_constraint.rb +25 -0
  91. data/lib/nexmo_developer/app/constraints/landing_page_constraint.rb +18 -0
  92. data/lib/nexmo_developer/app/constraints/locale_constraint.rb +17 -0
  93. data/lib/nexmo_developer/app/constraints/open_api_constraint.rb +49 -0
  94. data/lib/nexmo_developer/app/controllers/admin_api/code_snippets_controller.rb +45 -0
  95. data/lib/nexmo_developer/app/controllers/admin_api/feedback_controller.rb +11 -0
  96. data/lib/nexmo_developer/app/controllers/admin_api_controller.rb +17 -0
  97. data/lib/nexmo_developer/app/controllers/api_controller.rb +33 -0
  98. data/lib/nexmo_developer/app/controllers/api_errors_controller.rb +82 -0
  99. data/lib/nexmo_developer/app/controllers/application_controller.rb +93 -0
  100. data/lib/nexmo_developer/app/controllers/careers_controller.rb +9 -0
  101. data/lib/nexmo_developer/app/controllers/concerns/.keep +0 -0
  102. data/lib/nexmo_developer/app/controllers/dashboard_controller.rb +216 -0
  103. data/lib/nexmo_developer/app/controllers/extend_controller.rb +45 -0
  104. data/lib/nexmo_developer/app/controllers/feedback/feedbacks_controller.rb +85 -0
  105. data/lib/nexmo_developer/app/controllers/feeds_controller.rb +20 -0
  106. data/lib/nexmo_developer/app/controllers/jobs_controller.rb +64 -0
  107. data/lib/nexmo_developer/app/controllers/markdown_controller.rb +160 -0
  108. data/lib/nexmo_developer/app/controllers/search_controller.rb +35 -0
  109. data/lib/nexmo_developer/app/controllers/sessions_controller.rb +12 -0
  110. data/lib/nexmo_developer/app/controllers/slack_controller.rb +61 -0
  111. data/lib/nexmo_developer/app/controllers/static_controller.rb +195 -0
  112. data/lib/nexmo_developer/app/controllers/tutorial_controller.rb +113 -0
  113. data/lib/nexmo_developer/app/controllers/usage/ab_result_controller.rb +10 -0
  114. data/lib/nexmo_developer/app/controllers/usage/code_snippet_controller.rb +19 -0
  115. data/lib/nexmo_developer/app/controllers/use_case_controller.rb +65 -0
  116. data/lib/nexmo_developer/app/extensions/nokogiri/html/document.rb +23 -0
  117. data/lib/nexmo_developer/app/helpers/application_helper.rb +66 -0
  118. data/lib/nexmo_developer/app/helpers/date_range_helper.rb +9 -0
  119. data/lib/nexmo_developer/app/helpers/navigation_helper.rb +56 -0
  120. data/lib/nexmo_developer/app/helpers/parameter_values_helper.rb +5 -0
  121. data/lib/nexmo_developer/app/helpers/video_helper.rb +20 -0
  122. data/lib/nexmo_developer/app/jobs/application_job.rb +2 -0
  123. data/lib/nexmo_developer/app/mailers/application_mailer.rb +4 -0
  124. data/lib/nexmo_developer/app/middleware/nexmo_developer/building_block_redirect.rb +18 -0
  125. data/lib/nexmo_developer/app/middleware/nexmo_developer/visitor_id.rb +13 -0
  126. data/lib/nexmo_developer/app/models/api_error.rb +31 -0
  127. data/lib/nexmo_developer/app/models/application_record.rb +3 -0
  128. data/lib/nexmo_developer/app/models/concerns/.keep +0 -0
  129. data/lib/nexmo_developer/app/models/concerns/publishable.rb +13 -0
  130. data/lib/nexmo_developer/app/models/event.rb +38 -0
  131. data/lib/nexmo_developer/app/models/feedback.rb +5 -0
  132. data/lib/nexmo_developer/app/models/feedback/author.rb +5 -0
  133. data/lib/nexmo_developer/app/models/feedback/config.rb +16 -0
  134. data/lib/nexmo_developer/app/models/feedback/feedback.rb +34 -0
  135. data/lib/nexmo_developer/app/models/feedback/resource.rb +45 -0
  136. data/lib/nexmo_developer/app/models/product.rb +22 -0
  137. data/lib/nexmo_developer/app/models/redirect.rb +2 -0
  138. data/lib/nexmo_developer/app/models/session.rb +9 -0
  139. data/lib/nexmo_developer/app/models/tutorial.rb +189 -0
  140. data/lib/nexmo_developer/app/models/tutorial/file_loader.rb +28 -0
  141. data/lib/nexmo_developer/app/models/tutorial/metadata.rb +54 -0
  142. data/lib/nexmo_developer/app/models/tutorial/prerequisite.rb +31 -0
  143. data/lib/nexmo_developer/app/models/tutorial/task.rb +45 -0
  144. data/lib/nexmo_developer/app/models/usage.rb +5 -0
  145. data/lib/nexmo_developer/app/models/usage/code_snippet_event.rb +7 -0
  146. data/lib/nexmo_developer/app/models/user.rb +14 -0
  147. data/lib/nexmo_developer/app/presenters/card.rb +20 -0
  148. data/lib/nexmo_developer/app/presenters/career.rb +40 -0
  149. data/lib/nexmo_developer/app/presenters/feedback_presenter.rb +31 -0
  150. data/lib/nexmo_developer/app/presenters/footer.rb +88 -0
  151. data/lib/nexmo_developer/app/presenters/head.rb +96 -0
  152. data/lib/nexmo_developer/app/presenters/header.rb +56 -0
  153. data/lib/nexmo_developer/app/presenters/improve_page_presenter.rb +19 -0
  154. data/lib/nexmo_developer/app/presenters/languages_dropdown_presenter.rb +19 -0
  155. data/lib/nexmo_developer/app/presenters/locale_switcher_presenter.rb +36 -0
  156. data/lib/nexmo_developer/app/presenters/navigation.rb +44 -0
  157. data/lib/nexmo_developer/app/presenters/page_title.rb +38 -0
  158. data/lib/nexmo_developer/app/presenters/product_dropdown_presenter.rb +39 -0
  159. data/lib/nexmo_developer/app/presenters/sidenav.rb +64 -0
  160. data/lib/nexmo_developer/app/presenters/sidenav_item.rb +58 -0
  161. data/lib/nexmo_developer/app/presenters/sidenav_resolver.rb +136 -0
  162. data/lib/nexmo_developer/app/presenters/sidenav_subitem.rb +71 -0
  163. data/lib/nexmo_developer/app/presenters/title_normalizer.rb +25 -0
  164. data/lib/nexmo_developer/app/presenters/topnav.rb +23 -0
  165. data/lib/nexmo_developer/app/presenters/topnav_item.rb +19 -0
  166. data/lib/nexmo_developer/app/presenters/tutorial_list_item.rb +99 -0
  167. data/lib/nexmo_developer/app/screenshots/webhook-url-for-delivery-receipt.js +44 -0
  168. data/lib/nexmo_developer/app/screenshots/webhook-url-for-inbound-message.js +44 -0
  169. data/lib/nexmo_developer/app/services/diff.rb +146 -0
  170. data/lib/nexmo_developer/app/services/email_validator.rb +6 -0
  171. data/lib/nexmo_developer/app/services/feedback_slack_notifier.rb +141 -0
  172. data/lib/nexmo_developer/app/services/greenhouse.rb +45 -0
  173. data/lib/nexmo_developer/app/services/load_config.rb +14 -0
  174. data/lib/nexmo_developer/app/services/locale_redirector.rb +29 -0
  175. data/lib/nexmo_developer/app/services/not_found_notifier.rb +34 -0
  176. data/lib/nexmo_developer/app/services/open_api_definition_resolver.rb +25 -0
  177. data/lib/nexmo_developer/app/services/redirector.rb +33 -0
  178. data/lib/nexmo_developer/app/services/search/article.rb +39 -0
  179. data/lib/nexmo_developer/app/services/search/document.rb +37 -0
  180. data/lib/nexmo_developer/app/services/search_terms.rb +27 -0
  181. data/lib/nexmo_developer/app/services/smartling_api.rb +72 -0
  182. data/lib/nexmo_developer/app/services/translator/file_translator.rb +61 -0
  183. data/lib/nexmo_developer/app/services/translator/smartling/api/base.rb +54 -0
  184. data/lib/nexmo_developer/app/services/translator/smartling/api/create_batch.rb +48 -0
  185. data/lib/nexmo_developer/app/services/translator/smartling/api/create_job.rb +44 -0
  186. data/lib/nexmo_developer/app/services/translator/smartling/api/download_file.rb +44 -0
  187. data/lib/nexmo_developer/app/services/translator/smartling/api/file_status.rb +43 -0
  188. data/lib/nexmo_developer/app/services/translator/smartling/api/file_uris.rb +46 -0
  189. data/lib/nexmo_developer/app/services/translator/smartling/api/upload_file.rb +67 -0
  190. data/lib/nexmo_developer/app/services/translator/smartling/api_requests_generator.rb +64 -0
  191. data/lib/nexmo_developer/app/services/translator/smartling/token_generator.rb +16 -0
  192. data/lib/nexmo_developer/app/services/translator/smartling_coordinator.rb +56 -0
  193. data/lib/nexmo_developer/app/services/translator/smartling_downloader.rb +57 -0
  194. data/lib/nexmo_developer/app/services/translator/translation_request.rb +11 -0
  195. data/lib/nexmo_developer/app/services/translator/translator_coordinator.rb +33 -0
  196. data/lib/nexmo_developer/app/services/translator/utils.rb +42 -0
  197. data/lib/nexmo_developer/app/services/tutorial_list.rb +39 -0
  198. data/lib/nexmo_developer/app/views/admin/feedbacks/_steps.html.erb +44 -0
  199. data/lib/nexmo_developer/app/views/admin_api/code_snippets/index.json.erb +1 -0
  200. data/lib/nexmo_developer/app/views/admin_api/feedback/index.json.jbuilder +3 -0
  201. data/lib/nexmo_developer/app/views/api/show.html.erb +1 -0
  202. data/lib/nexmo_developer/app/views/api_errors/_error_example.html.erb +9 -0
  203. data/lib/nexmo_developer/app/views/api_errors/_error_table.html.erb +30 -0
  204. data/lib/nexmo_developer/app/views/api_errors/index.html.erb +45 -0
  205. data/lib/nexmo_developer/app/views/api_errors/show.html.erb +27 -0
  206. data/lib/nexmo_developer/app/views/careers/index.html.erb +76 -0
  207. data/lib/nexmo_developer/app/views/code_languages/_icon.html.erb +11 -0
  208. data/lib/nexmo_developer/app/views/contribute/administration/page-links.md +179 -0
  209. data/lib/nexmo_developer/app/views/contribute/code-snippets/how-to-update-code-snippets.md +89 -0
  210. data/lib/nexmo_developer/app/views/contribute/code-snippets/sample-code-snippet.md +42 -0
  211. data/lib/nexmo_developer/app/views/contribute/guides/code-examples.md +190 -0
  212. data/lib/nexmo_developer/app/views/contribute/guides/introduction.md +32 -0
  213. data/lib/nexmo_developer/app/views/contribute/guides/landing-pages.md +556 -0
  214. data/lib/nexmo_developer/app/views/contribute/guides/markdown-guide.md +420 -0
  215. data/lib/nexmo_developer/app/views/contribute/guides/platform.md +220 -0
  216. data/lib/nexmo_developer/app/views/contribute/guides/tutorials-and-use-cases.md +64 -0
  217. data/lib/nexmo_developer/app/views/contribute/guides/writing-style-guide.md +278 -0
  218. data/lib/nexmo_developer/app/views/contribute/overview.md +39 -0
  219. data/lib/nexmo_developer/app/views/contribute/structure/content-types/code-snippets.md +140 -0
  220. data/lib/nexmo_developer/app/views/contribute/structure/content-types/guides.md +14 -0
  221. data/lib/nexmo_developer/app/views/contribute/structure/content-types/overviews.md +34 -0
  222. data/lib/nexmo_developer/app/views/contribute/structure/content-types/tutorials.md +59 -0
  223. data/lib/nexmo_developer/app/views/contribute/structure/content-types/use-cases.md +18 -0
  224. data/lib/nexmo_developer/app/views/contribute/structure/overview.md +55 -0
  225. data/lib/nexmo_developer/app/views/contribute/tutorials-and-use-cases/tutorials.md +197 -0
  226. data/lib/nexmo_developer/app/views/contribute/tutorials-and-use-cases/use-cases.md +22 -0
  227. data/lib/nexmo_developer/app/views/dashboard/_performance_table.html.erb +18 -0
  228. data/lib/nexmo_developer/app/views/dashboard/coverage.html.erb +169 -0
  229. data/lib/nexmo_developer/app/views/dashboard/stats.html.erb +134 -0
  230. data/lib/nexmo_developer/app/views/dashboard/stats_summary.html.erb +62 -0
  231. data/lib/nexmo_developer/app/views/extend/index.html.erb +33 -0
  232. data/lib/nexmo_developer/app/views/extend/show.html.erb +31 -0
  233. data/lib/nexmo_developer/app/views/layouts/api.html.erb +24 -0
  234. data/lib/nexmo_developer/app/views/layouts/application.html.erb +15 -0
  235. data/lib/nexmo_developer/app/views/layouts/documentation-index.html.erb +16 -0
  236. data/lib/nexmo_developer/app/views/layouts/documentation.html.erb +26 -0
  237. data/lib/nexmo_developer/app/views/layouts/landing.html.erb +17 -0
  238. data/lib/nexmo_developer/app/views/layouts/mailer.html.erb +13 -0
  239. data/lib/nexmo_developer/app/views/layouts/mailer.text.erb +1 -0
  240. data/lib/nexmo_developer/app/views/layouts/open-api.html.erb +10 -0
  241. data/lib/nexmo_developer/app/views/layouts/page-full.html.erb +9 -0
  242. data/lib/nexmo_developer/app/views/layouts/page.html.erb +15 -0
  243. data/lib/nexmo_developer/app/views/layouts/partials/_feedback.html.erb +14 -0
  244. data/lib/nexmo_developer/app/views/layouts/partials/_footer.html.erb +50 -0
  245. data/lib/nexmo_developer/app/views/layouts/partials/_head.html.erb +139 -0
  246. data/lib/nexmo_developer/app/views/layouts/partials/_header.html.erb +57 -0
  247. data/lib/nexmo_developer/app/views/layouts/partials/_improve_this_page.html.erb +16 -0
  248. data/lib/nexmo_developer/app/views/layouts/partials/_locale_switcher.html.erb +28 -0
  249. data/lib/nexmo_developer/app/views/layouts/partials/_notices.html.erb +29 -0
  250. data/lib/nexmo_developer/app/views/layouts/partials/_post-body-tags.html.erb +4 -0
  251. data/lib/nexmo_developer/app/views/layouts/partials/_product_dropdown.html.erb +30 -0
  252. data/lib/nexmo_developer/app/views/layouts/partials/_programming_languages_dropdown.html.erb +29 -0
  253. data/lib/nexmo_developer/app/views/layouts/partials/_sidenav.html.erb +3 -0
  254. data/lib/nexmo_developer/app/views/layouts/partials/_sidenav_item.html.erb +18 -0
  255. data/lib/nexmo_developer/app/views/layouts/partials/_sidenav_subitem.html.erb +34 -0
  256. data/lib/nexmo_developer/app/views/layouts/partials/api/_voice.html.erb +84 -0
  257. data/lib/nexmo_developer/app/views/layouts/static.html.erb +33 -0
  258. data/lib/nexmo_developer/app/views/markdown/show.html.erb +1 -0
  259. data/lib/nexmo_developer/app/views/markdown/wip.html.erb +5 -0
  260. data/lib/nexmo_developer/app/views/product-lifecycle/beta.md +28 -0
  261. data/lib/nexmo_developer/app/views/product-lifecycle/dev-preview.md +22 -0
  262. data/lib/nexmo_developer/app/views/search/_result.html.erb +31 -0
  263. data/lib/nexmo_developer/app/views/search/results.html.erb +26 -0
  264. data/lib/nexmo_developer/app/views/sessions/set_user_locale.js.erb +1 -0
  265. data/lib/nexmo_developer/app/views/slack/join.html.erb +25 -0
  266. data/lib/nexmo_developer/app/views/static/404.html.erb +26 -0
  267. data/lib/nexmo_developer/app/views/static/_career.html.erb +15 -0
  268. data/lib/nexmo_developer/app/views/static/_community.html.erb +24 -0
  269. data/lib/nexmo_developer/app/views/static/_dotnet.html.erb +26 -0
  270. data/lib/nexmo_developer/app/views/static/_event.html.erb +7 -0
  271. data/lib/nexmo_developer/app/views/static/_products.html.erb +450 -0
  272. data/lib/nexmo_developer/app/views/static/_profile.html.erb +9 -0
  273. data/lib/nexmo_developer/app/views/static/_slack.html.erb +2 -0
  274. data/lib/nexmo_developer/app/views/static/_xwithy.html.erb +33 -0
  275. data/lib/nexmo_developer/app/views/static/default_landing.html.erb +22 -0
  276. data/lib/nexmo_developer/app/views/static/default_landing/partials/_action_button.html.erb +13 -0
  277. data/lib/nexmo_developer/app/views/static/default_landing/partials/_api_list.html.erb +30 -0
  278. data/lib/nexmo_developer/app/views/static/default_landing/partials/_call_to_action.html.erb +35 -0
  279. data/lib/nexmo_developer/app/views/static/default_landing/partials/_career.html.erb +3 -0
  280. data/lib/nexmo_developer/app/views/static/default_landing/partials/_client_sdk_card.html.erb +17 -0
  281. data/lib/nexmo_developer/app/views/static/default_landing/partials/_contact_community.html.erb +15 -0
  282. data/lib/nexmo_developer/app/views/static/default_landing/partials/_contact_support.html.erb +14 -0
  283. data/lib/nexmo_developer/app/views/static/default_landing/partials/_event_search_results.js.erb +2 -0
  284. data/lib/nexmo_developer/app/views/static/default_landing/partials/_event_search_results_content.html.erb +9 -0
  285. data/lib/nexmo_developer/app/views/static/default_landing/partials/_event_search_results_map_content.html.erb +10 -0
  286. data/lib/nexmo_developer/app/views/static/default_landing/partials/_events.html.erb +80 -0
  287. data/lib/nexmo_developer/app/views/static/default_landing/partials/_featured_session.html.erb +18 -0
  288. data/lib/nexmo_developer/app/views/static/default_landing/partials/_github_repo.html.erb +31 -0
  289. data/lib/nexmo_developer/app/views/static/default_landing/partials/_header.html.erb +24 -0
  290. data/lib/nexmo_developer/app/views/static/default_landing/partials/_headshot.html.erb +43 -0
  291. data/lib/nexmo_developer/app/views/static/default_landing/partials/_html.html.erb +3 -0
  292. data/lib/nexmo_developer/app/views/static/default_landing/partials/_join_slack.html.erb +3 -0
  293. data/lib/nexmo_developer/app/views/static/default_landing/partials/_line_divider.html.erb +5 -0
  294. data/lib/nexmo_developer/app/views/static/default_landing/partials/_linked_image.html.erb +10 -0
  295. data/lib/nexmo_developer/app/views/static/default_landing/partials/_migrate_details.html.erb +57 -0
  296. data/lib/nexmo_developer/app/views/static/default_landing/partials/_products.html.erb +1 -0
  297. data/lib/nexmo_developer/app/views/static/default_landing/partials/_section_header.html.erb +10 -0
  298. data/lib/nexmo_developer/app/views/static/default_landing/partials/_sessions.html.erb +30 -0
  299. data/lib/nexmo_developer/app/views/static/default_landing/partials/_structured_text.html.erb +24 -0
  300. data/lib/nexmo_developer/app/views/static/default_landing/partials/_submit_your_idea_form.html.erb +58 -0
  301. data/lib/nexmo_developer/app/views/static/default_landing/partials/_table.html.erb +25 -0
  302. data/lib/nexmo_developer/app/views/static/default_landing/partials/_team_members.html.erb +5 -0
  303. data/lib/nexmo_developer/app/views/static/default_landing/partials/_text.html.erb +5 -0
  304. data/lib/nexmo_developer/app/views/static/default_landing/partials/_tutorial.html.erb +30 -0
  305. data/lib/nexmo_developer/app/views/static/default_landing/partials/_unordered_list.html.erb +11 -0
  306. data/lib/nexmo_developer/app/views/static/default_landing/partials/_warning_callout.html.erb +8 -0
  307. data/lib/nexmo_developer/app/views/static/default_landing/partials/_write_for_nexmo.html.erb +12 -0
  308. data/lib/nexmo_developer/app/views/static/documentation.html.erb +1 -0
  309. data/lib/nexmo_developer/app/views/static/landing.html.erb +47 -0
  310. data/lib/nexmo_developer/app/views/static/past_events.html.erb +19 -0
  311. data/lib/nexmo_developer/app/views/static/podcast.html.erb +40 -0
  312. data/lib/nexmo_developer/app/views/static/robots.txt.erb +4 -0
  313. data/lib/nexmo_developer/app/views/tools/concatenation.html +1 -0
  314. data/lib/nexmo_developer/app/views/tutorial/_prerequisites.html.erb +23 -0
  315. data/lib/nexmo_developer/app/views/tutorial/index.html.erb +81 -0
  316. data/lib/nexmo_developer/app/views/tutorial/list.html.erb +63 -0
  317. data/lib/nexmo_developer/app/views/tutorial/single.html.erb +1 -0
  318. data/lib/nexmo_developer/app/views/use_case/_index.html.erb +53 -0
  319. data/lib/nexmo_developer/app/views/use_case/index.html.erb +12 -0
  320. data/lib/nexmo_developer/app/views/use_case/list/plain.html.erb +5 -0
  321. data/lib/nexmo_developer/app/views/use_case/show.html.erb +8 -0
  322. data/lib/nexmo_developer/app/webpacker/javascript/api_status/index.js +20 -0
  323. data/lib/nexmo_developer/app/webpacker/javascript/careers/index.js +134 -0
  324. data/lib/nexmo_developer/app/webpacker/javascript/code_snippet_events/index.js +89 -0
  325. data/lib/nexmo_developer/app/webpacker/javascript/components/concatenation/Concatenation.vue +96 -0
  326. data/lib/nexmo_developer/app/webpacker/javascript/components/concatenation/character_counter.js +112 -0
  327. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/Feedback.vue +155 -0
  328. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/FeedbackPath.vue +56 -0
  329. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/eventHub.js +3 -0
  330. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/step/FieldSet.vue +78 -0
  331. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/step/Plain.vue +26 -0
  332. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/step/RadioGroup.vue +65 -0
  333. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/step/TextArea.vue +86 -0
  334. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/step/base.vue +53 -0
  335. data/lib/nexmo_developer/app/webpacker/javascript/components/feedback/store.js +50 -0
  336. data/lib/nexmo_developer/app/webpacker/javascript/components/jwt_generator/JwtGenerator.vue +220 -0
  337. data/lib/nexmo_developer/app/webpacker/javascript/components/search/NDPArticle.vue +38 -0
  338. data/lib/nexmo_developer/app/webpacker/javascript/components/search/Search.vue +182 -0
  339. data/lib/nexmo_developer/app/webpacker/javascript/components/search/ZendeskArticle.vue +30 -0
  340. data/lib/nexmo_developer/app/webpacker/javascript/format/index.js +36 -0
  341. data/lib/nexmo_developer/app/webpacker/javascript/github_cards/index.js +16 -0
  342. data/lib/nexmo_developer/app/webpacker/javascript/locale_switcher/index.js +40 -0
  343. data/lib/nexmo_developer/app/webpacker/javascript/notices/index.js +52 -0
  344. data/lib/nexmo_developer/app/webpacker/javascript/scroll/index.js +25 -0
  345. data/lib/nexmo_developer/app/webpacker/javascript/sidenav/index.js +251 -0
  346. data/lib/nexmo_developer/app/webpacker/javascript/spotlight/index.js +12 -0
  347. data/lib/nexmo_developer/app/webpacker/javascript/volta/tooltip.min.js +5 -0
  348. data/lib/nexmo_developer/app/webpacker/javascript/volta/volta.js +2145 -0
  349. data/lib/nexmo_developer/app/webpacker/javascript/volta_tabbed_examples/index.js +106 -0
  350. data/lib/nexmo_developer/app/webpacker/javascript/volta_tabbed_examples/user_preference.js +78 -0
  351. data/lib/nexmo_developer/app/webpacker/packs/application.js +136 -0
  352. data/lib/nexmo_developer/app/webpacker/src/application.css +0 -0
  353. data/lib/nexmo_developer/app/webpacker/stylesheets/application.scss +62 -0
  354. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_core.scss +196 -0
  355. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_mixins.scss +51 -0
  356. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_syntax.scss +63 -0
  357. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_typography.scss +248 -0
  358. data/lib/nexmo_developer/app/webpacker/stylesheets/custom/_variables.scss +23 -0
  359. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_api.scss +166 -0
  360. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_careers.scss +29 -0
  361. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_community.scss +70 -0
  362. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_feedback.scss +16 -0
  363. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_footer.scss +113 -0
  364. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_header.scss +207 -0
  365. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_hero.scss +16 -0
  366. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_print.scss +14 -0
  367. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_search.scss +115 -0
  368. data/lib/nexmo_developer/app/webpacker/stylesheets/layout/_team.scss +36 -0
  369. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_building-block.scss +32 -0
  370. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_card.scss +150 -0
  371. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_collapsible.scss +18 -0
  372. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_content-block.scss +24 -0
  373. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_extend.scss +49 -0
  374. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_focus.scss +5 -0
  375. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_icons.scss +334 -0
  376. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_js-sequence-diagram.scss +9 -0
  377. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_navigation.scss +113 -0
  378. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_notices.scss +49 -0
  379. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_tabs.scss +35 -0
  380. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_use_cases.scss +29 -0
  381. data/lib/nexmo_developer/app/webpacker/stylesheets/objects/_video.scss +14 -0
  382. data/lib/nexmo_developer/app/webpacker/stylesheets/themes/_ea.scss +32 -0
  383. data/lib/nexmo_developer/bin/initiate +23 -0
  384. data/lib/nexmo_developer/bin/rails +4 -0
  385. data/lib/nexmo_developer/bin/setup +36 -0
  386. data/lib/nexmo_developer/bin/update +31 -0
  387. data/lib/nexmo_developer/bin/webpack +19 -0
  388. data/lib/nexmo_developer/bin/webpack-dev-server +19 -0
  389. data/lib/nexmo_developer/bin/yarn +11 -0
  390. data/lib/nexmo_developer/config.ru +5 -0
  391. data/lib/nexmo_developer/config/application.rb +44 -0
  392. data/lib/nexmo_developer/config/boot.rb +4 -0
  393. data/lib/nexmo_developer/config/cable.yml +10 -0
  394. data/lib/nexmo_developer/config/credentials.yml.enc +1 -0
  395. data/lib/nexmo_developer/config/database.yml +91 -0
  396. data/lib/nexmo_developer/config/dynamic_content.yml +1 -0
  397. data/lib/nexmo_developer/config/environment.rb +7 -0
  398. data/lib/nexmo_developer/config/environments/development.rb +63 -0
  399. data/lib/nexmo_developer/config/environments/production.rb +102 -0
  400. data/lib/nexmo_developer/config/environments/staging.rb +86 -0
  401. data/lib/nexmo_developer/config/environments/test.rb +48 -0
  402. data/lib/nexmo_developer/config/feedback.yml +104 -0
  403. data/lib/nexmo_developer/config/initializers/active_admin.rb +295 -0
  404. data/lib/nexmo_developer/config/initializers/algolia.rb +30 -0
  405. data/lib/nexmo_developer/config/initializers/application_controller_renderer.rb +8 -0
  406. data/lib/nexmo_developer/config/initializers/assets.rb +16 -0
  407. data/lib/nexmo_developer/config/initializers/backtrace_silencers.rb +7 -0
  408. data/lib/nexmo_developer/config/initializers/bugsnag.rb +8 -0
  409. data/lib/nexmo_developer/config/initializers/content_security_policy.rb +25 -0
  410. data/lib/nexmo_developer/config/initializers/cookies_serializer.rb +5 -0
  411. data/lib/nexmo_developer/config/initializers/devise.rb +279 -0
  412. data/lib/nexmo_developer/config/initializers/doc_finder.rb +10 -0
  413. data/lib/nexmo_developer/config/initializers/filter_parameter_logging.rb +4 -0
  414. data/lib/nexmo_developer/config/initializers/geocoder.rb +24 -0
  415. data/lib/nexmo_developer/config/initializers/gravatar_image_tag.rb +5 -0
  416. data/lib/nexmo_developer/config/initializers/greenhouse_io.rb +7 -0
  417. data/lib/nexmo_developer/config/initializers/inflections.rb +16 -0
  418. data/lib/nexmo_developer/config/initializers/locale.rb +6 -0
  419. data/lib/nexmo_developer/config/initializers/mime_types.rb +4 -0
  420. data/lib/nexmo_developer/config/initializers/recaptcha.rb +6 -0
  421. data/lib/nexmo_developer/config/initializers/session_store.rb +3 -0
  422. data/lib/nexmo_developer/config/initializers/slack_safety_check.rb +29 -0
  423. data/lib/nexmo_developer/config/initializers/split.rb +5 -0
  424. data/lib/nexmo_developer/config/initializers/wrap_parameters.rb +14 -0
  425. data/lib/nexmo_developer/config/initializers/zeitwerk.rb +7 -0
  426. data/lib/nexmo_developer/config/master.key +1 -0
  427. data/lib/nexmo_developer/config/newrelic.yml +35 -0
  428. data/lib/nexmo_developer/config/puma.rb +41 -0
  429. data/lib/nexmo_developer/config/redirects.yml +280 -0
  430. data/lib/nexmo_developer/config/repos.yml +27 -0
  431. data/lib/nexmo_developer/config/routes.rb +108 -0
  432. data/lib/nexmo_developer/config/secrets.yml +25 -0
  433. data/lib/nexmo_developer/config/spring.rb +6 -0
  434. data/lib/nexmo_developer/config/stitch-redirects.yml +145 -0
  435. data/lib/nexmo_developer/config/storage.yml +34 -0
  436. data/lib/nexmo_developer/config/tutorials/.gitkeep +0 -0
  437. data/lib/nexmo_developer/config/tutorials/en/app-to-app.yml +49 -0
  438. data/lib/nexmo_developer/config/tutorials/en/app-to-phone.yml +43 -0
  439. data/lib/nexmo_developer/config/tutorials/en/create-and-retrieve-a-report.yml +24 -0
  440. data/lib/nexmo_developer/config/tutorials/en/create-report-using-graphical-tools.yml +20 -0
  441. data/lib/nexmo_developer/config/tutorials/en/get-json-records-cli.yml +20 -0
  442. data/lib/nexmo_developer/config/tutorials/en/ifttt-to-sms.yml +10 -0
  443. data/lib/nexmo_developer/config/tutorials/en/in-app-messaging.yml +4 -0
  444. data/lib/nexmo_developer/config/tutorials/en/in-app-messaging/javascript.yml +50 -0
  445. data/lib/nexmo_developer/config/tutorials/en/in-app-messaging/kotlin.yml +52 -0
  446. data/lib/nexmo_developer/config/tutorials/en/in-app-messaging/objective_c.yml +50 -0
  447. data/lib/nexmo_developer/config/tutorials/en/in-app-messaging/swift.yml +50 -0
  448. data/lib/nexmo_developer/config/tutorials/en/number-insight-api-aspnet.yml +11 -0
  449. data/lib/nexmo_developer/config/tutorials/en/phone-to-app.yml +4 -0
  450. data/lib/nexmo_developer/config/tutorials/en/phone-to-app/javascript.yml +38 -0
  451. data/lib/nexmo_developer/config/tutorials/en/receive-sms-dotnet.yml +9 -0
  452. data/lib/nexmo_developer/config/tutorials/en/receive-sms-with-java.yml +9 -0
  453. data/lib/nexmo_developer/config/tutorials/en/receive-sms-with-php.yml +10 -0
  454. data/lib/nexmo_developer/config/tutorials/en/receive-sms-with-ruby.yml +9 -0
  455. data/lib/nexmo_developer/config/tutorials/en/send-facebook-message-with-failover.yml +41 -0
  456. data/lib/nexmo_developer/config/tutorials/en/send-fbm-message.yml +42 -0
  457. data/lib/nexmo_developer/config/tutorials/en/send-sms-with-dotnet.yml +9 -0
  458. data/lib/nexmo_developer/config/tutorials/en/send-sms-with-flask.yml +9 -0
  459. data/lib/nexmo_developer/config/tutorials/en/send-sms-with-java.yml +9 -0
  460. data/lib/nexmo_developer/config/tutorials/en/send-sms-with-messages.yml +38 -0
  461. data/lib/nexmo_developer/config/tutorials/en/send-sms-with-php.yml +9 -0
  462. data/lib/nexmo_developer/config/tutorials/en/send-sms-with-ruby.yml +9 -0
  463. data/lib/nexmo_developer/config/tutorials/en/send-viber-message.yml +40 -0
  464. data/lib/nexmo_developer/config/tutorials/en/send-whatsapp-message.yml +40 -0
  465. data/lib/nexmo_developer/config/tutorials/en/sms-browser-notifications.yml +10 -0
  466. data/lib/nexmo_developer/config/tutorials/en/sms-dlr-with-dotnet.yml +9 -0
  467. data/lib/nexmo_developer/config/tutorials/en/sms-dlr-with-php.yml +9 -0
  468. data/lib/nexmo_developer/config/tutorials/en/sms-dlr-with-ruby.yml +9 -0
  469. data/lib/nexmo_developer/config/tutorials/en/sms-fortune-cookies-with-ibm-cloud.yml +10 -0
  470. data/lib/nexmo_developer/config/tutorials/en/two-factor-authentication-dotnet-verify-api.yml +11 -0
  471. data/lib/nexmo_developer/config/webpack/development.js +3 -0
  472. data/lib/nexmo_developer/config/webpack/environment.js +18 -0
  473. data/lib/nexmo_developer/config/webpack/loaders/vue.js +6 -0
  474. data/lib/nexmo_developer/config/webpack/production.js +3 -0
  475. data/lib/nexmo_developer/config/webpack/staging.js +4 -0
  476. data/lib/nexmo_developer/config/webpack/test.js +3 -0
  477. data/lib/nexmo_developer/config/webpacker.yml +82 -0
  478. data/lib/nexmo_developer/db/migrate/20170215101603_create_events.rb +15 -0
  479. data/lib/nexmo_developer/db/migrate/20170413143802_enable_uuid_ossp_extension.rb +6 -0
  480. data/lib/nexmo_developer/db/migrate/20170413154102_change_event_id_to_uuid.rb +7 -0
  481. data/lib/nexmo_developer/db/migrate/20170413154510_create_sessions.rb +13 -0
  482. data/lib/nexmo_developer/db/migrate/20170831144035_create_feedback_feedbacks.rb +18 -0
  483. data/lib/nexmo_developer/db/migrate/20170831150024_create_feedback_resources.rb +10 -0
  484. data/lib/nexmo_developer/db/migrate/20170901093402_sorcery_core.rb +17 -0
  485. data/lib/nexmo_developer/db/migrate/20170907172926_create_feedback_authors.rb +10 -0
  486. data/lib/nexmo_developer/db/migrate/20170908112821_create_active_admin_comments.rb +19 -0
  487. data/lib/nexmo_developer/db/migrate/20170908153555_change_events_start_at_and_end_at_to_date_type.rb +6 -0
  488. data/lib/nexmo_developer/db/migrate/20170914145346_add_code_language_to_feedback.rb +6 -0
  489. data/lib/nexmo_developer/db/migrate/20170915081222_correct_uri_of_resources.rb +31 -0
  490. data/lib/nexmo_developer/db/migrate/20170919151243_add_langugage_set_filters_to_feedbacks.rb +9 -0
  491. data/lib/nexmo_developer/db/migrate/20170920153649_add_resolved_to_feedback_feedbacks.rb +6 -0
  492. data/lib/nexmo_developer/db/migrate/20170921120626_drop_users.rb +5 -0
  493. data/lib/nexmo_developer/db/migrate/20170921121218_devise_create_users.rb +44 -0
  494. data/lib/nexmo_developer/db/migrate/20171030115603_add_api_key_and_api_secret_to_users.rb +6 -0
  495. data/lib/nexmo_developer/db/migrate/20180125163023_add_api_secret_to_users.rb +18 -0
  496. data/lib/nexmo_developer/db/migrate/20180306142355_create_careers.rb +14 -0
  497. data/lib/nexmo_developer/db/migrate/20180306161650_add_summary_and_icon_to_careers.rb +6 -0
  498. data/lib/nexmo_developer/db/migrate/20180306184030_create_friendly_id_slugs.rb +15 -0
  499. data/lib/nexmo_developer/db/migrate/20180306184642_add_slug_to_career.rb +6 -0
  500. data/lib/nexmo_developer/db/migrate/20180306185340_add_description_short_to_careers.rb +5 -0
  501. data/lib/nexmo_developer/db/migrate/20180308101927_add_role_group_to_careers.rb +6 -0
  502. data/lib/nexmo_developer/db/migrate/20180403111850_add_product_to_feedback_resources.rb +41 -0
  503. data/lib/nexmo_developer/db/migrate/20180404124814_add_published_to_sessions.rb +6 -0
  504. data/lib/nexmo_developer/db/migrate/20180827133110_usage_building_block_events.rb +16 -0
  505. data/lib/nexmo_developer/db/migrate/20181006144242_create_redirects.rb +8 -0
  506. data/lib/nexmo_developer/db/migrate/20190220092207_add_city_country_to_events.rb +6 -0
  507. data/lib/nexmo_developer/db/migrate/20190306130440_add_latitude_longitude_to_events.rb +6 -0
  508. data/lib/nexmo_developer/db/migrate/20190415162421_rename_usage_building_block_events.rb +7 -0
  509. data/lib/nexmo_developer/db/migrate/20190711141227_drop_careers_table.rb +21 -0
  510. data/lib/nexmo_developer/db/migrate/20190711143408_drop_friendly_id_slugs_table.rb +16 -0
  511. data/lib/nexmo_developer/db/migrate/20191022100247_add_foreign_key_to_active_storage_for_blob_id.rb +10 -0
  512. data/lib/nexmo_developer/db/migrate/20200402092734_add_remote_to_events.rb +5 -0
  513. data/lib/nexmo_developer/db/migrate/20201016102902_create_feedback_config.rb +10 -0
  514. data/lib/nexmo_developer/db/migrate/20201016110604_add_details_to_feedback_feedback.rb +7 -0
  515. data/lib/nexmo_developer/db/schema.rb +152 -0
  516. data/lib/nexmo_developer/db/seeds.rb +70 -0
  517. data/lib/nexmo_developer/docker-compose.yml +43 -0
  518. data/lib/nexmo_developer/github_deploy_key.enc +0 -0
  519. data/lib/nexmo_developer/lib/common_errors.rb +5 -0
  520. data/lib/nexmo_developer/lib/tasks/.keep +0 -0
  521. data/lib/nexmo_developer/lib/tasks/cache.rake +6 -0
  522. data/lib/nexmo_developer/lib/tasks/careers.rake +8 -0
  523. data/lib/nexmo_developer/lib/tasks/ci.rake +171 -0
  524. data/lib/nexmo_developer/lib/tasks/diff.rake +40 -0
  525. data/lib/nexmo_developer/lib/tasks/documentation.rake +18 -0
  526. data/lib/nexmo_developer/lib/tasks/generate_search_terms.rake +39 -0
  527. data/lib/nexmo_developer/lib/tasks/links.rake +135 -0
  528. data/lib/nexmo_developer/lib/tasks/move.rake +58 -0
  529. data/lib/nexmo_developer/lib/tasks/repos.rake +57 -0
  530. data/lib/nexmo_developer/lib/tasks/screenshots.rake +11 -0
  531. data/lib/nexmo_developer/lib/tasks/section.rake +146 -0
  532. data/lib/nexmo_developer/lib/tasks/smartling.rake +65 -0
  533. data/lib/nexmo_developer/lib/tasks/test.rake +22 -0
  534. data/lib/nexmo_developer/nexmo_developer.rb +1 -0
  535. data/lib/nexmo_developer/public/404.html +67 -0
  536. data/lib/nexmo_developer/public/422.html +67 -0
  537. data/lib/nexmo_developer/public/500.html +66 -0
  538. data/lib/nexmo_developer/public/android-chrome-192x192.png +0 -0
  539. data/lib/nexmo_developer/public/android-chrome-512x512.png +0 -0
  540. data/lib/nexmo_developer/public/apple-touch-icon-precomposed.png +0 -0
  541. data/lib/nexmo_developer/public/apple-touch-icon.png +0 -0
  542. data/lib/nexmo_developer/public/browserconfig.xml +9 -0
  543. data/lib/nexmo_developer/public/favicon-16x16.png +0 -0
  544. data/lib/nexmo_developer/public/favicon-32x32.png +0 -0
  545. data/lib/nexmo_developer/public/favicon.ico +0 -0
  546. data/lib/nexmo_developer/public/fonts/Lato-Heavy.woff +0 -0
  547. data/lib/nexmo_developer/public/fonts/Lato-Heavy.woff2 +0 -0
  548. data/lib/nexmo_developer/public/fonts/Lato-Regular.woff +0 -0
  549. data/lib/nexmo_developer/public/fonts/Lato-Regular.woff2 +0 -0
  550. data/lib/nexmo_developer/public/fonts/Lato-Semibold.woff +0 -0
  551. data/lib/nexmo_developer/public/fonts/Lato-Semibold.woff2 +0 -0
  552. data/lib/nexmo_developer/public/manifest.json +17 -0
  553. data/lib/nexmo_developer/public/mstile-144x144.png +0 -0
  554. data/lib/nexmo_developer/public/mstile-150x150.png +0 -0
  555. data/lib/nexmo_developer/public/nexmo-developer-logo.svg +25 -0
  556. data/lib/nexmo_developer/public/nexmo-vonage-white.svg +79 -0
  557. data/lib/nexmo_developer/public/packs-test/css/application-5047da33.chunk.css +14950 -0
  558. data/lib/nexmo_developer/public/packs-test/css/application-5047da33.chunk.css.map +1 -0
  559. data/lib/nexmo_developer/public/packs-test/css/application-a5fa0fdb.chunk.css +15085 -0
  560. data/lib/nexmo_developer/public/packs-test/css/application-a5fa0fdb.chunk.css.map +1 -0
  561. data/lib/nexmo_developer/public/packs-test/css/application-f92656e6.chunk.css +13 -0
  562. data/lib/nexmo_developer/public/packs-test/css/application-f92656e6.chunk.css.map +1 -0
  563. data/lib/nexmo_developer/public/packs-test/css/application-f9d1bdbc.chunk.css +13 -0
  564. data/lib/nexmo_developer/public/packs-test/css/application-f9d1bdbc.chunk.css.map +1 -0
  565. data/lib/nexmo_developer/public/packs-test/js/0-e58f598fb97314a89835.chunk.js +59763 -0
  566. data/lib/nexmo_developer/public/packs-test/js/0-e58f598fb97314a89835.chunk.js.map +1 -0
  567. data/lib/nexmo_developer/public/packs-test/js/application-21483bf220c794127fa9.chunk.js +6405 -0
  568. data/lib/nexmo_developer/public/packs-test/js/application-21483bf220c794127fa9.chunk.js.map +1 -0
  569. data/lib/nexmo_developer/public/packs-test/js/application-6e53f67bc3230c42f9dd.chunk.js +7839 -0
  570. data/lib/nexmo_developer/public/packs-test/js/application-6e53f67bc3230c42f9dd.chunk.js.map +1 -0
  571. data/lib/nexmo_developer/public/packs-test/js/application-76d5a80c3775a7e2327a.chunk.js +6405 -0
  572. data/lib/nexmo_developer/public/packs-test/js/application-76d5a80c3775a7e2327a.chunk.js.map +1 -0
  573. data/lib/nexmo_developer/public/packs-test/js/application-c6f3e7a9d98562f76890.chunk.js +6619 -0
  574. data/lib/nexmo_developer/public/packs-test/js/application-c6f3e7a9d98562f76890.chunk.js.map +1 -0
  575. data/lib/nexmo_developer/public/packs-test/js/application-d280e78dd4f9d3d9b466.chunk.js +6405 -0
  576. data/lib/nexmo_developer/public/packs-test/js/application-d280e78dd4f9d3d9b466.chunk.js.map +1 -0
  577. data/lib/nexmo_developer/public/packs-test/js/runtime~application-1c11a8c601900ade80b6.js +155 -0
  578. data/lib/nexmo_developer/public/packs-test/js/runtime~application-1c11a8c601900ade80b6.js.map +1 -0
  579. data/lib/nexmo_developer/public/packs-test/js/vendors~application-6518249ed8d7aa985a8b.chunk.js +61849 -0
  580. data/lib/nexmo_developer/public/packs-test/js/vendors~application-6518249ed8d7aa985a8b.chunk.js.map +1 -0
  581. data/lib/nexmo_developer/public/packs-test/js/vendors~application-bc967911d70f3f4a5151.chunk.js +59077 -0
  582. data/lib/nexmo_developer/public/packs-test/js/vendors~application-bc967911d70f3f4a5151.chunk.js.map +1 -0
  583. data/lib/nexmo_developer/public/packs-test/js/vendors~application-d2bde7a8e622fafdeb1d.chunk.js +61843 -0
  584. data/lib/nexmo_developer/public/packs-test/js/vendors~application-d2bde7a8e622fafdeb1d.chunk.js.map +1 -0
  585. data/lib/nexmo_developer/public/packs-test/js/vendors~application-eb13e7814c54bf76b364.chunk.js +62431 -0
  586. data/lib/nexmo_developer/public/packs-test/js/vendors~application-eb13e7814c54bf76b364.chunk.js.map +1 -0
  587. data/lib/nexmo_developer/public/packs-test/manifest.json +85 -0
  588. data/lib/nexmo_developer/public/safari-pinned-tab.svg +1 -0
  589. data/lib/nexmo_developer/public/symbol/volta-brand-icons.svg +1 -0
  590. data/lib/nexmo_developer/public/symbol/volta-icons.svg +1 -0
  591. data/lib/nexmo_developer/vendor/assets/javascripts/.keep +0 -0
  592. data/lib/nexmo_developer/vendor/assets/javascripts/jquery-scrolltofixed.js +567 -0
  593. data/lib/nexmo_developer/vendor/assets/javascripts/mermaid.js +49 -0
  594. data/lib/nexmo_developer/vendor/assets/javascripts/underscore.js +5 -0
  595. data/lib/nexmo_developer/vendor/assets/javascripts/volta/addons/jquery.tablesorter.js +1031 -0
  596. data/lib/nexmo_developer/vendor/assets/javascripts/volta/addons/prism.js +22 -0
  597. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/side-navigation/volta.menu.js +377 -0
  598. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/volta.accordion.js +249 -0
  599. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/volta.dropdown.js +145 -0
  600. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/volta.flash.js +175 -0
  601. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/volta.modal.js +312 -0
  602. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/volta.tab.js +203 -0
  603. data/lib/nexmo_developer/vendor/assets/javascripts/volta/components/volta.tooltip.js +71 -0
  604. data/lib/nexmo_developer/vendor/assets/javascripts/volta/popper.min.js +5 -0
  605. data/lib/nexmo_developer/vendor/assets/javascripts/volta/svgxuse.min.js +12 -0
  606. data/lib/nexmo_developer/vendor/assets/javascripts/volta/tooltip.min.js +5 -0
  607. data/lib/nexmo_developer/vendor/assets/javascripts/volta/volta.core.js +238 -0
  608. data/lib/nexmo_developer/vendor/assets/javascripts/volta/volta.js +2141 -0
  609. data/lib/nexmo_developer/vendor/assets/javascripts/volta/volta.min.js +1 -0
  610. data/lib/nexmo_developer/vendor/assets/stylesheets/.keep +0 -0
  611. data/lib/nexmo_developer/version.rb +3 -0
  612. data/package.json +124 -0
  613. data/station.gemspec +87 -42
  614. data/yarn.lock +13919 -0
  615. metadata +1885 -55
  616. data/.document +0 -5
  617. data/Rakefile +0 -61
  618. data/VERSION +0 -1
  619. data/lib/station.rb +0 -3
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <%= render partial: 'layouts/partials/head' %>
4
+
5
+ <body class="Nxd-template" data-push-state-root="<%= canonical_path %>">
6
+ <%= render partial: 'layouts/partials/header' %>
7
+
8
+
9
+ <div id="Vlt-sidenav" class="Vlt-sidenav">
10
+ <div class="Vlt-sidenav__scroll">
11
+ <nav class="sidenav" tabindex="0" >
12
+ <%= render partial: 'layouts/partials/sidenav' %>
13
+ </nav>
14
+ </div>
15
+ </div>
16
+
17
+ <nav class="Vlt-sidenav" id="Vlt-sidenav">
18
+ <% if @return_link %>
19
+ <%= link_to @return_link[:path], class: 'sidenav-back' do %>
20
+ <i class="icon icon-angle-left"></i> Back to <%= @return_link[:title] %>
21
+ <% end %>
22
+ <hr>
23
+ <% end %>
24
+ </nav>
25
+ <main class="Vlt-main Vlt-main--light Nxd-main" id="primary-content" tabindex="2">
26
+ <%= render partial: 'layouts/partials/notices' %>
27
+ <div class="Vlt-card">
28
+ <%= yield %>
29
+ <%= render partial: 'layouts/partials/improve_this_page' %>
30
+ </div>
31
+ </main>
32
+ </body>
33
+ </html>
@@ -0,0 +1 @@
1
+ <%= @content.html_safe %>
@@ -0,0 +1,5 @@
1
+ <center>
2
+ <img src="/assets/images/lost.svg" alt="" width="120">
3
+ <h2>This documentation has not been added yet!</h2>
4
+ <p>Click <a href="/">here</a> to go back to the start</p>
5
+ </center>
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: Beta
3
+ navigation_weight: 2
4
+ ---
5
+
6
+ # Beta
7
+
8
+ Beta products at Vonage are in the final stages of testing before they become generally available. Beta products are typically production ready, and the Beta phase is used to ensure that the product is stable, secure and scaleable.
9
+
10
+ Breaking changes at this stage in the lifecycle are **extremely** rare and only happen in cases where the feature impacts platform stability.
11
+
12
+ ## Support
13
+
14
+ If you encounter an issue with a Beta product you can email [support@nexmo.com](mailto:support@nexmo.com) as usual. Normal support SLAs do not apply.
15
+
16
+ At this stage we may not be aware of all possible issues and some investigation may be needed in conjunction with the engineering team.
17
+
18
+ ## Documentation
19
+
20
+ We aim to have conceptual documentation, tutorials and code samples available for all Beta products.
21
+
22
+ ## Server SDKs
23
+
24
+ Server SDK for Node.js is available.
25
+
26
+ ## Deprecation
27
+
28
+ We will provide a minimum of 30 days notice of any deprecated features during the Beta period. Deprecated products may continue to function after the deprecation date, but we make no promises that they will work indefinitely.
@@ -0,0 +1,22 @@
1
+ ---
2
+ title: Developer Preview
3
+ navigation_weight: 1
4
+ ---
5
+
6
+ # Developer Preview
7
+
8
+ Developer preview is a way for developers to get access to new Vonage API products before they are more widely available.
9
+
10
+ At this point in a product's lifecycle there is no usage charge, limited support and little developer tooling. All features are expected to work as intended.
11
+
12
+ ## Support
13
+
14
+ For support with Developer Preview APIs, please join our [community Slack channel](/slack)
15
+
16
+ ## Documentation
17
+
18
+ API documentation and `curl` examples for common use cases are available.
19
+
20
+ ## Server SDKs
21
+
22
+ The feature is supported in our Server SDK for Node.js but other languages are not supported.
@@ -0,0 +1,31 @@
1
+ <div class="search-result">
2
+ <% if index_name == 'zendesk_nexmo_articles' %>
3
+ <a href="https://help.nexmo.com/hc/en-us/articles/<%= hit.id %>">
4
+ <div>
5
+ <span class="meta"><%= hit.section.full_path %></span>
6
+ <h3><%= hit.title %></h3>
7
+
8
+ <p class="search-highlighted">
9
+ <%= sanitize(hit._snippetResult.body_safe.value, tags: ['em']) %>
10
+ </p>
11
+ </div>
12
+ </a>
13
+ <% end %>
14
+
15
+
16
+ <% if index_name.include? 'nexmo_developer' %>
17
+ <a href="<%= hit.path %>">
18
+ <div>
19
+ <span class="meta"><%= hit.product %></span>
20
+ <h3><%= hit.title %></h3>
21
+ <p><b><%= hit.description %></b></p>
22
+
23
+
24
+ <p class="search-highlighted">
25
+ ...<%= sanitize(hit._snippetResult.body.value, tags: ['em']) %>...
26
+ </p>
27
+ </div>
28
+ </a>
29
+ <% end %>
30
+ <hr />
31
+ </div>
@@ -0,0 +1,26 @@
1
+ <% if @results && @results_total > 0 %>
2
+ <h1>We found <%= @results_total %> <%= 'results'.pluralize(@results_total) %> for '<%= params['query'] %>'</h1>
3
+
4
+ <div class="Vlt-grid">
5
+ <% @results.each do |index| %>
6
+ <div class="Vlt-col">
7
+ <div class="Vlt-card">
8
+ <% if index.index.include? 'nexmo_developer' %>
9
+ <h2>Nexmo Developer</h2>
10
+ <% elsif index.index == 'zendesk_nexmo_articles' %>
11
+ <h2>Knowlegebase</h2>
12
+ <% end %>
13
+
14
+ <hr>
15
+
16
+ <% index.hits.each do |hit| %>
17
+ <%= render 'result', hit: hit, index_name: index.index %>
18
+ <% end %>
19
+ </div>
20
+ </div>
21
+ <% end %>
22
+ </div>
23
+ <% else %>
24
+ <h1>Uh oh. We couldn't find anything.</h1>
25
+ <p>Click <a href="/">here</a> to go back to the start</p>
26
+ <% end %>
@@ -0,0 +1 @@
1
+ window.location.pathname = "<%= @path %>"
@@ -0,0 +1,25 @@
1
+ <center>
2
+ <%= image_tag 'slack.svg', id: 'join-slack-logo' %>
3
+ <h1>Join the Vonage Developer Community Slack</h1>
4
+
5
+ <% unless @success %>
6
+ <%= form_tag community_slack_path do %>
7
+ <div class="Vlt-form__element Vlt-form__element--elastic">
8
+ <div class="Vlt-input">
9
+ <%= email_field_tag :email, (@email || ''), placeholder: 'Enter your email address', size: '40' %>
10
+ </div>
11
+ </div>
12
+ <%= recaptcha_tags if ENV['RECAPTCHA_ENABLED'] %>
13
+ <%= submit_tag 'Join', class: 'Vlt-btn Vlt-btn--primary Vlt-btn--large' %>
14
+ <% end %>
15
+ <% end %>
16
+
17
+ <% if @notice %>
18
+ <%= @notice %>
19
+ <% end %>
20
+
21
+ <hr class="hr--tall">
22
+
23
+ <h2>Already a member?</h2>
24
+ <%= link_to "Go to Vonage Developer Community on Slack", "https://#{ENV['SLACK_SUBDOMAIN']}.slack.com", class: "Vlt-btn Vlt-btn--secondary" %>
25
+ </center>
@@ -0,0 +1,26 @@
1
+ <center>
2
+ <img src="/assets/images/lost.svg" alt="" width="120">
3
+ <br><br>
4
+ <h2>This page can't be found!</h2>
5
+ <% if @results && @results.map(&:hits).flatten.any? %>
6
+ <p>Perhaps you were looking for one of these?</p>
7
+ <div class="Vlt-grid">
8
+ <% @results.each do |index| %>
9
+ <div class="Vlt-col">
10
+ <div class="Vlt-card">
11
+ <% if index.index.include? 'nexmo_developer' %>
12
+ <h2>Nexmo Developer</h2>
13
+ <% elsif index.index == 'zendesk_nexmo_articles' %>
14
+ <h2>Knowlegebase</h2>
15
+ <% end %>
16
+
17
+ <hr>
18
+
19
+ <% index.hits.each do |hit| %>
20
+ <%= render 'search/result', hit: hit, index_name: index.index %>
21
+ <% end %>
22
+ </div>
23
+ </div>
24
+ <% end %>
25
+ <% end %>
26
+ </center>
@@ -0,0 +1,15 @@
1
+ <div class="Vlt-col Vlt-col--1of2">
2
+ <div class="Vlt-card Vlt-card--center Nxd-career">
3
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-blue-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code"/></svg>
4
+ <hr>
5
+ <h2>
6
+ <%= career.title %>
7
+ <small class="Nxd-career__subtitle"><%= career.location %></small>
8
+ </h2>
9
+
10
+ <div class='Nxd-career__content'>
11
+ <%= raw Truncato.truncate(career.description, max_length: 450) %>
12
+ </div>
13
+ <%= link_to "Find out more", career.url, class: 'Vlt-btn Vlt-btn--secondary Vlt-btn--app' %>
14
+ </div>
15
+ </div>
@@ -0,0 +1,24 @@
1
+ <div class="Vlt-grid">
2
+ <div class="Vlt-col Vlt-col--M-1of2">
3
+ <div class="center">
4
+ <h2>
5
+ <a href="/tools">
6
+ <div><svg class="Vlt-icon Vlt-icon--large Vlt-blue-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-design-tools"/></svg></div>
7
+ SDKs &amp; Tools
8
+ </a>
9
+ </h2>
10
+ <p>The Nexmo libraries allow you to get up and running with<br>Nexmo APIs quickly in your language of choice.</p>
11
+ </div>
12
+ </div>
13
+ <div class="Vlt-col Vlt-col--M-1of2">
14
+ <div class="center">
15
+ <h2>
16
+ <a href="/community">
17
+ <div><svg class="Vlt-icon Vlt-icon--large Vlt-blue-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-group"/></svg></div>
18
+ Community
19
+ </a>
20
+ </h2>
21
+ <p>Find out about our talks, community hacks,<br>and what events we'll be at.</p>
22
+ </div>
23
+ </div>
24
+ </div>
@@ -0,0 +1,26 @@
1
+ <div class="Vlt-grid Vlt-grid--center">
2
+ <div class="Vlt-col Vlt-col--M-1of3 Vlt-col--1of3">
3
+ <a class="Vlt-card Nxd-github-card Vlt-left" href="https://github.com/Nexmo/nexmo-dotnet" data-github="Nexmo/nexmo-dotnet">
4
+ <h3 class="Vlt-blue-dark">nexmo-dotnet</h3>
5
+ <p>Nexmo REST API client for .NET</p>
6
+ <img src="//badge.fury.io/nu/nexmo.svg" class="Nxd-github-card__badge" height="18">
7
+ <p><small class="Nxd-github-card__meta">
8
+ <span>
9
+ <span class="Vlt-blue-dark">●</span> C#
10
+ </span>
11
+ <span>
12
+ <svg class="Vlt-icon Vlt-icon--smaller Vlt-icon--text-bottom Vlt-grey-darker" aria-hidden="true"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-star-full"></use></svg>
13
+ <span data-stars>
14
+ <svg class="Vlt-icon Vlt-icon--smaller Vlt-icon--text-bottom Vlt-grey-darker" aria-hidden="true"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-more"></use></svg>
15
+ </span>
16
+ </span>
17
+ <span>
18
+ <svg class="Vlt-icon Vlt-icon--smaller Vlt-icon--text-bottom Vlt-grey-darker" aria-hidden="true"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-fork"/></svg>
19
+ <span data-forks>
20
+ <svg class="Vlt-icon Vlt-icon--smaller Vlt-icon--text-bottom Vlt-grey-darker" aria-hidden="true"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-more"/></svg>
21
+ </span>
22
+ </span>
23
+ </small></p>
24
+ </a>
25
+ </div>
26
+ </div>
@@ -0,0 +1,7 @@
1
+ <div class="Vlt-col Vlt-col--1of3">
2
+ <div class="Vlt-card">
3
+ <h3><%= link_to event.title, event.url, target: '_blank' %></h3>
4
+ <p class="community-event__date Vlt-grey-darker"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-grey-dark" aria-hidden="true"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-calendar"/></svg><%= date_range event.starts_at, event.ends_at %></p>
5
+ <p><%= event.description %></p>
6
+ </div>
7
+ </div>
@@ -0,0 +1,450 @@
1
+ <div class="Nxd-products-list">
2
+ <div class="Vlt-grid Vlt-grid--center Vlt-grid--margin-top2">
3
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
4
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
5
+ <div class="Vlt-card__content">
6
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-message" /></svg>
7
+ <div class="Nxd-card--product__subtitle"><small>SEND AND RECEIVE</small></div>
8
+
9
+ <h2>
10
+ <a href="/messaging/sms/overview">
11
+ SMS
12
+ </a>
13
+ </h2>
14
+ <nav>
15
+ <a href="/messaging/sms/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
16
+ aria-hidden="true">
17
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
18
+ <a href="/messaging/sms/guides"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
19
+ aria-hidden="true">
20
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
21
+ <a href="/messaging/sms/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
22
+ aria-hidden="true">
23
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
24
+ <a href="/messaging/sms/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
25
+ aria-hidden="true">
26
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
27
+ <hr class="hr--short">
28
+ <a href="/api/sms">API Reference</a>
29
+ </nav>
30
+ </div>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
35
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
36
+ <div class="Vlt-card__content">
37
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-phone" /></svg>
38
+ <div class="Nxd-card--product__subtitle"><small>PROGRAMMABLE</small></div>
39
+ <h2>
40
+ <a href="/voice/overview">
41
+ Voice
42
+ </a>
43
+ </h2>
44
+ <nav>
45
+ <a href="/voice/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
46
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
47
+ <a href="/voice/guides"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
48
+ aria-hidden="true">
49
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
50
+ <a href="/voice/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
51
+ aria-hidden="true">
52
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
53
+ <a href="/voice/voice-api/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
54
+ aria-hidden="true">
55
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
56
+ <hr class="hr--short">
57
+ <a href="/api/voice">API Reference</a>
58
+ <a href="/voice/voice-api/ncco-reference">NCCO Reference</a>
59
+ </nav>
60
+ </div>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
65
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
66
+ <div class="Vlt-card__content">
67
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-video" /></svg>
68
+ <div class="Nxd-card--product__subtitle"><small>PROGRAMMABLE</small></div>
69
+ <h2>
70
+ <a target="_blank" href="https://tokbox.com/developer/">
71
+ Video
72
+ </a>
73
+ <small class="Vlt-grey-dark" style="font-size:1.4rem; font-weight:normal;">
74
+ <svg style="height: 15px; width: 15px;" class="Vlt-icon Vlt-icon--text-bottom Vlt-grey-dark" aria-hidden="true">
75
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-open" />
76
+ </svg>
77
+ </small>
78
+ </h2>
79
+ <nav>
80
+ <a target="_blank" href="https://tokbox.com/developer/guides/basics/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
81
+ aria-hidden="true">
82
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
83
+ <a target="_blank" href="https://tokbox.com/developer/guides/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
84
+ aria-hidden="true">
85
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
86
+ <a target="_blank" href="https://tokbox.com/developer/samples/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
87
+ aria-hidden="true">
88
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
89
+ <a target="_blank" href="https://tokbox.com/developer/tutorials/"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
90
+ aria-hidden="true">
91
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
92
+ <hr class="hr--short">
93
+ <a target="_blank" href="https://tokbox.com/developer/sdks/client/">API Reference</a>
94
+ </nav>
95
+ </div>
96
+ </div>
97
+ </div>
98
+
99
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
100
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
101
+ <div class="Vlt-card__content">
102
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-lock" /></svg>
103
+ <div class="Nxd-card--product__subtitle"><small>USER AUTHENTICATION</small></div>
104
+ <h2>
105
+ <a href="/verify/overview">
106
+ Verify
107
+ </a>
108
+ </h2>
109
+ <nav>
110
+ <a href="/verify/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
111
+ aria-hidden="true">
112
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
113
+ <a href="/verify/guides"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
114
+ aria-hidden="true">
115
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
116
+ <a href="/verify/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
117
+ aria-hidden="true">
118
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
119
+ <a href="/verify/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
120
+ aria-hidden="true">
121
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
122
+ <hr class="hr--short">
123
+ <a href="/api/verify">API Reference</a>
124
+ </nav>
125
+ </div>
126
+ </div>
127
+ </div>
128
+
129
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
130
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
131
+ <div class="Vlt-card__content">
132
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-file-search" /></svg>
133
+ <div class="Nxd-card--product__subtitle"><small>USER IDENTITY</small></div>
134
+ <h2>
135
+ <a href="/number-insight/overview">
136
+ Number Insight
137
+ </a>
138
+ </h2>
139
+ <nav>
140
+ <a href="/number-insight/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
141
+ aria-hidden="true">
142
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
143
+ <a href="/number-insight/guides"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
144
+ aria-hidden="true">
145
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
146
+ <a href="/number-insight/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
147
+ aria-hidden="true">
148
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
149
+ <a href="/number-insight/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
150
+ aria-hidden="true">
151
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
152
+ <hr class="hr--short">
153
+ <a href="/api/number-insight">API Reference</a>
154
+ </nav>
155
+ </div>
156
+ </div>
157
+ </div>
158
+
159
+
160
+
161
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
162
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
163
+ <div class="Vlt-card__content">
164
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-queue" /></svg>
165
+ <div class="Nxd-card--product__subtitle"><small>PROGRAMMABLE CONVERSATIONS</small> <div class="Vlt-badge Vlt-badge--small Vlt-badge--green Vlt-badge--transparent">Beta</div></div>
166
+ <h2>
167
+ <a href="/conversation/overview">
168
+ Conversation API
169
+ </a>
170
+ </h2>
171
+ <nav>
172
+ <a href="/conversation/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
173
+ aria-hidden="true">
174
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
175
+ <a href="/conversation/concepts/conversation"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
176
+ aria-hidden="true">
177
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Concepts</a>
178
+ <a href="/conversation/code-snippets/conversation/list-conversations"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
179
+ aria-hidden="true">
180
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
181
+ <a href="/conversation/use-cases"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
182
+ aria-hidden="true">
183
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
184
+ <hr class="hr--short">
185
+ <a href="/api/conversation">API Reference</a>
186
+ </nav>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
192
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
193
+ <div class="Vlt-card__content">
194
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-flow" /></svg>
195
+ <div class="Nxd-card--product__subtitle"><small>CONFIGURE</small></div>
196
+ <h2>
197
+ <a href="/application/overview">
198
+ Applications
199
+ </a>
200
+ </h2>
201
+ <nav>
202
+ <a href="/application/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
203
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
204
+ <a href="/application/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
205
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Concepts</a>
206
+ <a href="/application/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
207
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
208
+ <br>
209
+ <hr class="hr--short">
210
+ <a href="/api/application.v2">API Reference</a>
211
+ </nav>
212
+ </div>
213
+ </div>
214
+ </div>
215
+
216
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
217
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
218
+ <div class="Vlt-card__content">
219
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-user" /></svg>
220
+ <div class="Nxd-card--product__subtitle"><small>MANAGEMENT</small></div>
221
+ <h2>
222
+ <a href="/account/overview">
223
+ Account
224
+ </a>
225
+ </h2>
226
+ <nav>
227
+ <a href="/account/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
228
+ aria-hidden="true">
229
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
230
+ <a href="/account/guides"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
231
+ aria-hidden="true">
232
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Guides</a>
233
+ <a href="/account/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
234
+ aria-hidden="true">
235
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
236
+ <br>
237
+ <hr class="hr--short">
238
+ <a href="/api/account">API Reference</a>
239
+ </nav>
240
+ </div>
241
+ </div>
242
+ </div>
243
+
244
+ <div class="Vlt-col Vlt-col--1of3 Vlt-col--M-1of2">
245
+ <div class="Vlt-card Vlt-article--reverse Vlt-card--image Nxd-card--products">
246
+ <div class="Vlt-card__content Vlt-purple-dark">
247
+ <svg class="Vlt-icon Vlt-icon--larger"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-laptop"/></svg>
248
+ <h2>Management APIs</h2>
249
+ <nav>
250
+ <a href="/api/developer/numbers">Numbers</a>
251
+ <a href="/api/developer/pricing">Pricing</a>
252
+ <a href="/api/conversion">Conversion</a>
253
+ <a href="/api/media">Media</a>
254
+ <a href="/api/reports">Reports</a>
255
+ <a href="/api/redact">Redact</a>
256
+ </nav>
257
+ <br>
258
+ </div>
259
+ </div>
260
+ </div>
261
+ </div>
262
+
263
+ <div class="Vlt-grid Vlt-grid--center Vlt-grid--margin4 Nxd-products-banner">
264
+ <div class="Vlt-col">
265
+ <h2>
266
+ <a href="/messages/overview">
267
+ <svg class="Vlt-icon Vlt-gray-darker Vlt-icon--larger Vlt-purple-dark" aria-hidden="true">
268
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>
269
+ Messages and Dispatch
270
+ </a>
271
+ </h2>
272
+ <p>Integrate with various communication channels including Facebook Messenger, WhatsApp and Viber with failover</p>
273
+ </div>
274
+ </div>
275
+
276
+ <div class="Vlt-grid Vlt-grid--center">
277
+
278
+ <div class="Vlt-col Vlt-col--1of2 Vlt-col--M-1of2">
279
+ <div class="Vlt-card Vlt-card--plain Vlt-bg-grey-lighter Vlt-article--reverse Vlt-card--image Nxd-card--products">
280
+ <div class="Vlt-card__content">
281
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-chat" /></svg>
282
+ <div class="Nxd-card--product__subtitle"><small>ONE API, MULTIPLE CHANNELS</small> <div class="Vlt-badge Vlt-badge--small Vlt-badge--green Vlt-badge--transparent">Beta</div></div>
283
+ <h2>
284
+ <a href="/messages/overview">
285
+ Messages
286
+ </a>
287
+ </h2>
288
+ <nav>
289
+ <a href="/messages/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
290
+ aria-hidden="true">
291
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
292
+ <a href="/messages/concepts"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
293
+ aria-hidden="true">
294
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Concepts</a>
295
+ <a href="/messages/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
296
+ aria-hidden="true">
297
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
298
+ <a href="/messages/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
299
+ aria-hidden="true">
300
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
301
+ <hr class="hr--short">
302
+ <a href="/api/messages-olympus">API Reference</a>
303
+ </nav>
304
+ </div>
305
+ </div>
306
+ </div>
307
+
308
+ <div class="Vlt-col Vlt-col--1of2 Vlt-col--M-1of2">
309
+ <div class="Vlt-card Vlt-card--plain Vlt-bg-grey-lighter Vlt-article--reverse Vlt-card--image Nxd-card--products">
310
+ <div class="Vlt-card__content">
311
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-flow" /></svg>
312
+ <div class="Nxd-card--product__subtitle"><small>ORCHESTRATE MESSAGES WITH FAILOVER</small> <div class="Vlt-badge Vlt-badge--small Vlt-badge--green Vlt-badge--transparent">Beta</div></div>
313
+ <h2>
314
+ <a href="/dispatch/overview">
315
+ Dispatch
316
+ </a>
317
+ </h2>
318
+
319
+ <nav>
320
+ <a href="/dispatch/overview"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
321
+ aria-hidden="true">
322
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
323
+ <a href="/dispatch/concepts"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
324
+ aria-hidden="true">
325
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Concepts</a>
326
+ <a href="/dispatch/code-snippets"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
327
+ aria-hidden="true">
328
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Code Snippets</a>
329
+ <a href="/dispatch/tutorials"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
330
+ aria-hidden="true">
331
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
332
+ <a href="/dispatch/use-cases"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
333
+ aria-hidden="true">
334
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Use Cases</a>
335
+ <hr class="hr--short">
336
+ <a href="/api/dispatch">API Reference</a>
337
+ </nav>
338
+ </div>
339
+ </div>
340
+ </div>
341
+ </div>
342
+
343
+ <div class="Vlt-grid Vlt-grid--center Vlt-grid--margin4 Nxd-products-banner">
344
+ <div class="Vlt-col">
345
+ <h2>
346
+ <a href="/client-sdk/overview">
347
+ <svg class="Vlt-icon Vlt-gray-darker Vlt-icon--larger Vlt-purple-dark" aria-hidden="true">
348
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-duplicate" /></svg>
349
+ Client SDK
350
+ </a>
351
+ </h2>
352
+ <p>Build multi-platform applications with contextual communications using Client SDK and Conversation API.</p>
353
+ </div>
354
+ </div>
355
+
356
+ <div class="Vlt-grid Vlt-grid--center">
357
+
358
+ <div class="Vlt-col Vlt-col--1of2 Vlt-col--M-1of2">
359
+ <div class="Vlt-card Vlt-card--plain Vlt-bg-grey-lighter Vlt-article--reverse Vlt-card--image Nxd-card--products">
360
+ <div class="Vlt-card__content">
361
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-microphone" /></svg>
362
+ <div class="Nxd-card--product__subtitle"><small>CLIENT SDK</small> <div class="Vlt-badge Vlt-badge--small Vlt-badge--green Vlt-badge--transparent">Beta</div></div>
363
+ <h2>
364
+ <a href="/client-sdk/in-app-voice/overview">
365
+ In-App Voice
366
+ </a>
367
+ </h2>
368
+ <nav>
369
+ <a href="/client-sdk/in-app-voice/overview"><svg
370
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
371
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
372
+ <a href="/client-sdk/in-app-voice/overview#concepts"><svg
373
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
374
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Concepts</a>
375
+ <a href="/client-sdk/setup/create-your-application"><svg
376
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
377
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Setup</a>
378
+ <a href="/client-sdk/in-app-voice/getting-started/app-to-app-call"><svg
379
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
380
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-code" /></svg>Getting Started</a>
381
+ <a href="/client-sdk/tutorials"><svg
382
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
383
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
384
+ <a href="/client-sdk/use-cases"><svg
385
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
386
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Use Cases</a>
387
+ <hr class="hr--short">
388
+ <a href="/api/conversation"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
389
+ aria-hidden="true">
390
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Conversation API Reference</a>
391
+ <a href="/client-sdk/sdk-documentation/android"><svg
392
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
393
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-android-color" /></svg>SDK Reference -
394
+ Android</a>
395
+ <a href="/client-sdk/sdk-documentation/ios"><svg
396
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
397
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-apple-color" /></svg>SDK Reference - iOS</a>
398
+ <a href="/client-sdk/sdk-documentation/javascript"><svg
399
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
400
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-javascript-color" /></svg>SDK Reference -
401
+ JavaScript</a>
402
+ </nav>
403
+ </div>
404
+ </div>
405
+ </div>
406
+
407
+ <div class="Vlt-col Vlt-col--1of2 Vlt-col--M-1of2">
408
+ <div class="Vlt-card Vlt-card--plain Vlt-bg-grey-lighter Vlt-article--reverse Vlt-card--image Nxd-card--products">
409
+ <div class="Vlt-card__content">
410
+ <svg class="Vlt-icon Vlt-icon--larger Vlt-purple-dark"><use xlink:href="/symbol/volta-icons.svg#Vlt-icon-chat" /></svg>
411
+ <div class="Nxd-card--product__subtitle"><small>CLIENT SDK</small> <div class="Vlt-badge Vlt-badge--small Vlt-badge--green Vlt-badge--transparent">Beta</div></div>
412
+ <h2>
413
+ <a href="/client-sdk/in-app-messaging/overview">
414
+ In-App Messaging
415
+ </a>
416
+ </h2>
417
+ <nav>
418
+ <a href="/client-sdk/in-app-messaging/overview"><svg
419
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
420
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-home" /></svg>Overview</a>
421
+ <a href="/client-sdk/in-app-messaging/concepts"><svg
422
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
423
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Concepts</a>
424
+ <a href="/client-sdk/tutorials"><svg
425
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
426
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Tutorials</a>
427
+ <a href="/client-sdk/use-cases"><svg
428
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
429
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-mockup" /></svg>Use Cases</a>
430
+ <hr class="hr--short">
431
+ <a href="/api/conversation"><svg class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker"
432
+ aria-hidden="true">
433
+ <use xlink:href="/symbol/volta-icons.svg#Vlt-icon-books" /></svg>Conversation API Reference</a>
434
+ <a href="/client-sdk/sdk-documentation/android"><svg
435
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
436
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-android-color" /></svg>SDK Reference -
437
+ Android</a>
438
+ <a href="/client-sdk/sdk-documentation/ios"><svg
439
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
440
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-apple-color" /></svg>SDK Reference - iOS</a>
441
+ <a href="/client-sdk/sdk-documentation/javascript"><svg
442
+ class="Vlt-icon Vlt-icon--small Vlt-icon--text-bottom Vlt-gray-darker" aria-hidden="true">
443
+ <use xlink:href="/symbol/volta-brand-icons.svg#Brand-icon-javascript-color" /></svg>SDK Reference -
444
+ JavaScript</a>
445
+ </nav>
446
+ </div>
447
+ </div>
448
+ </div>
449
+ </div>
450
+ </div>