Call this endpoint from your server to create a WhatsApp OTP link for passwordless login. Deliver the returned data.whatsapp_link to the user through your app, email, or SMS. When the user opens the link, WhatsApp opens with a prefilled verification message for them to send. Your application handles the result through the success or failure callbacks you configure.This is a WhatsApp-only flow. For a code that the user enters in your app, use Request OTP Code instead.
You need an active Hypersender account, an API token, and an instance UUID. Create an account, then see the OTP API overview for the other OTP flows.
Your backend sends an authenticated request with the recipient’s WhatsApp chatId.
The API returns a unique code, expiry, status, and whatsapp_link.
Your application delivers data.whatsapp_link to the recipient.
The recipient opens the link and sends the prefilled message in WhatsApp.
Your application handles the configured success or failure callback and continues its own flow.
The API specification does not define a callback payload, signature, or redirect parameter. Do not grant access based only on a browser redirect or an undocumented callback field. Confirm callback behavior with your account and validate the event before completing a sensitive action.
Send the request from your backend. Keep the bearer token out of browser code and public repositories.POSThttps://app.hypersender.com/api/otp/v2/{instance}/generate-link
{ "chatId": "[email protected]", "expires": 1800, "name": "YourApp", "message": { "prompt": "Give me link to login at YourApp", "success": "Here is your login link: {link}", "failed": "Login failed, please try again later.", "expired": "This link has expired. Please request another one." }, "callback": { "success": "https://yourdomain.com/api/otp/success", "failed": "https://yourdomain.com/api/otp/failed" }}
chatId is the recipient’s WhatsApp chat ID. expires is the requested lifetime in seconds. name and message customize the verification messages. The callback URLs are optional; use publicly reachable HTTPS URLs.
This example uses Laravel’s HTTP client. It checks the HTTP response and the documented response envelope before returning the generated WhatsApp link to the caller.
use Illuminate\Support\Facades\Http;use RuntimeException;$instance = config('services.hypersender.otp_instance');$token = config('services.hypersender.otp_token');$response = Http::withToken($token) ->acceptJson() ->post("https://app.hypersender.com/api/otp/v2/{$instance}/generate-link", [ 'chatId' => '[email protected]', 'expires' => 1800, 'name' => 'YourApp', 'message' => [ 'prompt' => 'Give me link to login at YourApp', 'success' => 'Here is your login link: {link}', 'failed' => 'Login failed, please try again later.', 'expired' => 'This link has expired. Please request another one.', ], 'callback' => [ 'success' => 'https://yourdomain.com/api/otp/success', 'failed' => 'https://yourdomain.com/api/otp/failed', ], ]);$response->throw();$whatsappLink = $response->json('data.whatsapp_link');if (! is_string($whatsappLink) || $whatsappLink === '') { throw new RuntimeException('The OTP API response did not include data.whatsapp_link.');}// Return or deliver this URL through your application.
Store credentials in server-side environment variables and expose them through Laravel config. The example shows link generation only; connect its result to your own delivery channel and callback handling.
If the request fails, handle the HTTP error and do not deliver a link or treat the user as verified. The published API schema does not list endpoint-specific error codes or response bodies.
Use HTTPS callback URLs and keep the API token server-side.
Apply request limits in your application and avoid logging OTP codes or generated links.
The API specification does not document callback signing or a callback payload. Verify the callback contract for your account before using it to authorize access.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Hypersender","description":"Send WhatsApp and SMS messages from your own numbers with the Hypersender API. Guides, REST API reference, webhook events, and Laravel SDK docs.","colors":{"primary":"#10b981","light":"#059669","dark":"#10b981"},"logo":{"light":"https://mintcdn.com/hypersender/RX4Bj-Mb6ti70ZQe/logo/light.svg?fit=max\u0026auto=format\u0026n=RX4Bj-Mb6ti70ZQe\u0026q=85\u0026s=e38aff8c21e09ed683da236a8ffe8e13","dark":"https://mintcdn.com/hypersender/RX4Bj-Mb6ti70ZQe/logo/dark.svg?fit=max\u0026auto=format\u0026n=RX4Bj-Mb6ti70ZQe\u0026q=85\u0026s=31d31abc2839f94267a1548817b83538","href":"https://docs.hypersender.com"},"favicon":"https://mintcdn.com/hypersender/dAZ_QYs7yJAVpPpO/favicon.svg?fit=max\u0026auto=format\u0026n=dAZ_QYs7yJAVpPpO\u0026q=85\u0026s=74d0e86aaf7cdfe05cbdf2c13a044dec","background":{"image":{"light":"https://mintcdn.com/hypersender/QHanPLHbv0ntvGTU/images/background.png?fit=max\u0026auto=format\u0026n=QHanPLHbv0ntvGTU\u0026q=85\u0026s=bfcb110c086b77caa501a84cab4586a4","dark":"https://mintcdn.com/hypersender/QHanPLHbv0ntvGTU/images/background-dark.png?fit=max\u0026auto=format\u0026n=QHanPLHbv0ntvGTU\u0026q=85\u0026s=3137c58a2031e6febc74d0c1ec3632ac"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.hypersender.com"}},"footer":{"socials":{"x":"https://x.com/hypersender","github":"https://github.com/hypersender","linkedin":"https://linkedin.com/company/hypersender"}},"search":{"prompt":"Search WhatsApp \u0026 SMS API docs"},"seo":{"metatags":{"canonical":"https://docs.hypersender.com","og:site_name":"Hypersender Docs","og:locale":"en_US","twitter:card":"summary_large_image","twitter:site":"@hypersender","robots":"index, follow","googlebot":"index, follow","author":"Hypersender","theme-color":"#10b981"},"organization":{"id":"https://hypersender.com/#organization","name":"Hypersender","url":"https://hypersender.com","sameAs":["https://x.com/hypersender","https://github.com/hypersender","https://linkedin.com/company/hypersender"]},"indexing":"navigable"},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"global":{"anchors":[{"anchor":"WhatsApp Support","icon":"whatsapp","href":"https://wa.me/201065684630"},{"anchor":"Discord Support","icon":"discord","href":"https://discord.gg/ysSmK32ykC"},{"anchor":"Blog","icon":"newspaper","href":"https://hypersender.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hypersender","hasAudioNarration":false,"actualSubdomain":"hypersender","customDomains":["docs.hypersender.com"],"gitSource":{"type":"github","owner":"hypersender","repo":"docs-v2","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aef799cae7fce64eaea8c9e","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"Whatsapp API","count":72},{"language":"default","tag":"SMS API","count":58},{"language":"default","tag":"WhatsApp API","count":47},{"language":"default","tag":"Send Messages","count":36},{"language":"default","tag":"Packages and SDKs","count":30},{"language":"default","tag":"Laravel","count":28},{"language":"default","tag":"SMS Webhooks","count":26},{"language":"default","tag":"Enterprise WhatsApp API","count":22},{"language":"default","tag":"Guides","count":21},{"language":"default","tag":"Overview","count":18}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".prose{--tw-prose-code: #10b981}.dark .prose{--tw-prose-code: #34d399}.prose :not(pre)>code,.mdx-prose :not(pre)>code,article :not(pre)>code{color:#10b981!important}.dark .prose :not(pre)>code,.dark .mdx-prose :not(pre)>code,.dark article :not(pre)>code{color:#34d399!important}"}],"page":{"pagePath":"v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link","slug":"/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link","pageMetadata":{"title":"Generate a WhatsApp OTP Link","description":"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.","openapi":"v2/api-reference/otp/otp-collection.json POST /{instance}/generate-link","keywords":["otp link","whatsapp otp link api","passwordless WhatsApp authentication"],"href":"/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Info}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Call this endpoint from your server to create a WhatsApp OTP link for passwordless login. Deliver the returned `,_jsx(_components.code,{children:`data.whatsapp_link`}),` to the user through your app, email, or SMS. When the user opens the link, WhatsApp opens with a prefilled verification message for them to send. Your application handles the result through the success or failure callbacks you configure.`]}),`\n`,_jsxs(_components.p,{children:[`This is a `,_jsx(_components.strong,{children:`WhatsApp-only`}),` flow. For a code that the user enters in your app, use `,_jsx(_components.a,{href:`/v2/api-reference/otp/otp-service/request-otp-code`,children:`Request OTP Code`}),` instead.`]}),`\n`,_jsx(Info,{children:_jsxs(_components.p,{children:[`You need an active Hypersender account, an API token, and an instance UUID. `,_jsx(_components.a,{href:`https://app.hypersender.com/register`,children:`Create an account`}),`, then see the `,_jsx(_components.a,{href:`/v2/api-reference/otp/otp-api-introduction`,children:`OTP API overview`}),` for the other OTP flows.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`integration-flow`,children:`Integration flow`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Your backend sends an authenticated request with the recipient’s WhatsApp `,_jsx(_components.code,{children:`chatId`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`The API returns a unique code, expiry, status, and `,_jsx(_components.code,{children:`whatsapp_link`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Your application delivers `,_jsx(_components.code,{children:`data.whatsapp_link`}),` to the recipient.`]}),`\n`,_jsx(_components.li,{children:`The recipient opens the link and sends the prefilled message in WhatsApp.`}),`\n`,_jsx(_components.li,{children:`Your application handles the configured success or failure callback and continues its own flow.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The API specification does not define a callback payload, signature, or redirect parameter. Do not grant access based only on a browser redirect or an undocumented callback field. Confirm callback behavior with your account and validate the event before completing a sensitive action.`}),`\n`,_jsx(Heading,{level:`2`,id:`request`,children:`Request`}),`\n`,_jsx(_components.p,{children:`Send the request from your backend. Keep the bearer token out of browser code and public repositories.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.code,{children:`POST`})}),` `,_jsx(_components.code,{children:`https://app.hypersender.com/api/otp/v2/{instance}/generate-link`})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`http`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`http`,children:_jsxs(_components.code,{language:`http`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Authorization`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` Bearer YOUR_API_TOKEN`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`Content-Type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` application/json`})]}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"chatId\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"[email protected]\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expires\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1800`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"YourApp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"prompt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Give me link to login at YourApp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Here is your login link: {link}\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"failed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Login failed, please try again later.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expired\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"This link has expired. Please request another one.\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"callback\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://yourdomain.com/api/otp/success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"failed\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://yourdomain.com/api/otp/failed\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`chatId`}),` is the recipient’s WhatsApp chat ID. `,_jsx(_components.code,{children:`expires`}),` is the requested lifetime in seconds. `,_jsx(_components.code,{children:`name`}),` and `,_jsx(_components.code,{children:`message`}),` customize the verification messages. The callback URLs are optional; use publicly reachable HTTPS URLs.`]}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`On success, the response includes the OTP request details. The generated link is at `,_jsx(_components.code,{children:`data.whatsapp_link`}),`:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`14`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`14`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"success\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"OTP link request created successfully\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"uuid\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"a0b5e14e-95da-4bd4-9e2a-071661244bef\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"RDYFQUBX\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"chat_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"[email protected]\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"pending\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"otp_type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"expires_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2025-12-29T18:14:55+00:00\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"created_at\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2025-12-29T17:44:55+00:00\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"whatsapp_link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://wa.me/201553730661?text=Give+me+link+to+login+at+7enkesh+%5BRDYFQUBX%5D+-+DO+NOT+CHANGE+THIS+MESSAGE\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`php-example`,children:`PHP example`}),`\n`,_jsx(_components.p,{children:`This example uses Laravel’s HTTP client. It checks the HTTP response and the documented response envelope before returning the generated WhatsApp link to the caller.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`32`,language:`php`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`php`,children:_jsxs(_components.code,{language:`php`,numberOfLines:`32`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:` Illuminate\\\\Support\\\\Facades\\\\`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`Http`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`use`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` RuntimeException`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$instance`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'services.hypersender.otp_instance'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'services.hypersender.otp_token'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` Http`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`::`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`withToken`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$token`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`acceptJson`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://app.hypersender.com/api/otp/v2/{`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$instance`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}/generate-link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'chatId'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '[email protected]'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'expires'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 1800`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'name'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'YourApp'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'message'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'prompt'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Give me link to login at YourApp'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'success'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Here is your login link: {link}'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'failed'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'Login failed, please try again later.'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'expired'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'This link has expired. Please request another one.'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'callback'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'success'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://yourdomain.com/api/otp/success'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'failed'`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://yourdomain.com/api/otp/failed'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]);`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`throw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$whatsappLink`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`->`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`json`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'data.whatsapp_link'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`!`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` is_string`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$whatsappLink`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`||`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` $whatsappLink`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ''`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` throw`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:` RuntimeException`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'The OTP API response did not include data.whatsapp_link.'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// Return or deliver this URL through your application.`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Store credentials in server-side environment variables and expose them through Laravel config. The example shows link generation only; connect its result to your own delivery channel and callback handling.`}),`\n`,_jsx(Heading,{level:`2`,id:`errors-and-security`,children:`Errors and security`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If the request fails, handle the HTTP error and do not deliver a link or treat the user as verified. The published API schema does not list endpoint-specific error codes or response bodies.`}),`\n`,_jsx(_components.li,{children:`Use HTTPS callback URLs and keep the API token server-side.`}),`\n`,_jsx(_components.li,{children:`Apply request limits in your application and avoid logging OTP codes or generated links.`}),`\n`,_jsx(_components.li,{children:`The API specification does not document callback signing or a callback payload. Verify the callback contract for your account before using it to authorize access.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`OTP API overview`,icon:`book`,href:`/v2/api-reference/otp/otp-api-introduction`,children:_jsx(_components.p,{children:`Compare the code and link flows.`})}),_jsx(Card,{title:`Generate an OTP link with Laravel`,icon:`laravel`,href:`/v2/packages-and-sdks/laravel/otp/generate-whatsapp-otp-link-with-laravel`,children:_jsx(_components.p,{children:`Use the Hypersender Laravel SDK.`})}),_jsx(Card,{title:`Laravel SDK installation`,icon:`box-open`,href:`/v2/packages-and-sdks/laravel/installation`,children:_jsx(_components.p,{children:`Install and configure the package.`})}),_jsx(Card,{title:`Try it in Postman`,icon:`flask`,href:`/v2/api-reference/otp/how-to-generate-a-whatsapp-otp-link-in-postman`,children:_jsx(_components.p,{children:`Follow the interactive walkthrough.`})})]}),`\n`,_jsx(Card,{title:`Create your Hypersender account`,icon:`rocket`,href:`https://app.hypersender.com/register`,children:_jsx(_components.p,{children:`Get an API token and instance UUID to generate your first OTP link.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Generate a WhatsApp OTP Link","description":"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.","openapi":"v2/api-reference/otp/otp-collection.json POST /{instance}/generate-link","keywords":["otp link","whatsapp otp link api","passwordless WhatsApp authentication"],"href":"/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Integration flow","slug":"integration-flow","depth":2,"children":[]},{"title":"Request","slug":"request","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"PHP example","slug":"php-example","depth":2,"children":[]},{"title":"Errors and security","slug":"errors-and-security","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Generate OTP link","description":"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.","operationId":"generateLink","x-hidden":true,"parameters":["ff4912da-845e-4b81-ae40-b4b28d2d8808"],"requestBody":"f3804fbb-1cc0-406a-9ef8-15ba863be12c","responses":{"200":"d734fc3c-4b78-4008-947c-8c0a53d52e2f"},"method":"post","type":"path","servers":["0f4b2e07-3a62-41c9-af86-2263e9a571d8"],"security":["a2a710f9-72d8-409c-9617-efe905f25b62"],"path":"/{instance}/generate-link","baseUrlOptions":["https://app.hypersender.com/api/otp/v2"],"title":"Generate OTP link","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ff4912da-845e-4b81-ae40-b4b28d2d8808":{"name":"instance","in":"path","description":"Hypersender instance UUID","required":true,"schema":{"type":"string","isRequired":true,"description":"Hypersender instance UUID","uniqueKey":"","typeLabel":"string"},"example":"{{ instance_id }}"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"chatId":{"type":"string","description":"WhatsApp chat ID of the recipient (e.g. [email protected])","isRequired":true,"uniqueKey":"chatId","typeLabel":"string"},"expires":{"type":"integer","description":"TTL in seconds","uniqueKey":"expires","typeLabel":"integer"},"name":{"type":"string","uniqueKey":"name","typeLabel":"string"},"message":{"type":"object","properties":{"prompt":{"type":"string","uniqueKey":"message.prompt","typeLabel":"string"},"success":{"type":"string","uniqueKey":"message.success","typeLabel":"string"},"failed":{"type":"string","uniqueKey":"message.failed","typeLabel":"string"},"expired":{"type":"string","uniqueKey":"message.expired","typeLabel":"string"}},"uniqueKey":"message","typeLabel":"object"},"callback":{"type":"object","properties":{"success":{"type":"string","uniqueKey":"callback.success","typeLabel":"string"},"failed":{"type":"string","uniqueKey":"callback.failed","typeLabel":"string"}},"uniqueKey":"callback","typeLabel":"object"}},"required":["chatId"],"uniqueKey":"","typeLabel":"object"},"examples":{"request":{"title":"request","value":{"chatId":"[email protected]","expires":1800,"name":"Hypersender","message":{"prompt":"Give me link to login at hypersender","success":"Here is your login link: {link}","failed":"Login failed, please try again later.","expired":"The link has been expired, please try another one."},"callback":{"success":"https://yourdomain.com/callback/success","failed":"https://yourdomain.com/callback/failed"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"d734fc3c-4b78-4008-947c-8c0a53d52e2f":{"description":"Link created","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","uniqueKey":"success","typeLabel":"boolean"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","properties":{"uuid":{"type":"string","uniqueKey":"data.uuid","typeLabel":"string"},"code":{"type":"string","uniqueKey":"data.code","typeLabel":"string"},"chat_id":{"type":"string","uniqueKey":"data.chat_id","typeLabel":"string"},"status":{"type":"string","uniqueKey":"data.status","typeLabel":"string"},"otp_type":{"type":"string","uniqueKey":"data.otp_type","typeLabel":"string"},"expires_at":{"type":"string","format":"date-time","uniqueKey":"data.expires_at","typeLabel":"string\u003cdate-time>"},"created_at":{"type":"string","format":"date-time","uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"whatsapp_link":{"type":"string","uniqueKey":"data.whatsapp_link","typeLabel":"string"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"response":{"title":"response","value":{"success":true,"message":"OTP link request created successfully","data":{"uuid":"a0b5e14e-95da-4bd4-9e2a-071661244bef","code":"RDYFQUBX","chat_id":"[email protected]","status":"pending","otp_type":"link","expires_at":"2025-12-29T18:14:55+00:00","created_at":"2025-12-29T17:44:55+00:00","whatsapp_link":"https://wa.me/201553730661?text=Give+me+link+to+login+at+7enkesh+%5BRDYFQUBX%5D+-+DO+NOT+CHANGE+THIS+MESSAGE"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"a2a710f9-72d8-409c-9617-efe905f25b62":{"Authorization":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"Authorization"}}},"servers":{"0f4b2e07-3a62-41c9-af86-2263e9a571d8":{"url":"https://app.hypersender.com/api/otp/v2","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"Authorization"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Authorization","name":"Authorization"}],"title":"Authorization"}]},"originalFileLocation":"v2/api-reference/otp/otp-collection.json"},"subdomain":"hypersender","siteName":"Hypersender","title":"Generate a WhatsApp OTP Link - Hypersender","navMaps":{"firstHrefInVersion":{"v2":{"href":"/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link","matchLevel":0},"v1":{"href":"/v1/hypersender/hypersender-api-for-whatsapp-and-sms-messaging","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-11-07T19:19:02.986Z","gitLastModified":"2026-11-07T19:18:45.000Z","originalFileLocation":"v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hypersender\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Generate a WhatsApp OTP Link - Hypersender\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hypersender Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hypersender.mintlify.site/_mintlify/api/og/v2?division=OTP+Link\u0026amp;title=Generate+a+WhatsApp+OTP+Link\u0026amp;description=Create+a+WhatsApp+OTP+link.+Users+open+WhatsApp+and+send+a+prefilled+verification+message.+Your+app+handles+the+result+via+configured+callbacks.\u0026amp;theme=d6765127fbd2a000fa399d12\u0026amp;signature=b8c419d070baa4ece779871b8e592cee9e40b30460c79b2e111f9fefef5688fd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Generate a WhatsApp OTP Link - Hypersender\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hypersender.mintlify.site/_mintlify/api/og/v2?division=OTP+Link\u0026amp;title=Generate+a+WhatsApp+OTP+Link\u0026amp;description=Create+a+WhatsApp+OTP+link.+Users+open+WhatsApp+and+send+a+prefilled+verification+message.+Your+app+handles+the+result+via+configured+callbacks.\u0026amp;theme=d6765127fbd2a000fa399d12\u0026amp;signature=b8c419d070baa4ece779871b8e592cee9e40b30460c79b2e111f9fefef5688fd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/hypersender/YssXEy8fq447EilS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hypersender\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#10b981\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"googlebot\" content=\"index, follow\">\u003cmeta data-mint-head name=\"author\" content=\"Hypersender\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#10b981\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://hypersender.com/#organization\",\"name\":\"Hypersender\",\"url\":\"https://hypersender.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hypersender/RX4Bj-Mb6ti70ZQe/logo/light.svg?fit=max\u0026auto=format\u0026n=RX4Bj-Mb6ti70ZQe\u0026q=85\u0026s=e38aff8c21e09ed683da236a8ffe8e13\"},\"sameAs\":[\"https://x.com/hypersender\",\"https://github.com/hypersender\",\"https://linkedin.com/company/hypersender\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hypersender.com#website\",\"name\":\"Hypersender\",\"url\":\"https://docs.hypersender.com\",\"publisher\":{\"@id\":\"https://hypersender.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link#webpage\",\"url\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link\",\"name\":\"Generate a WhatsApp OTP Link\",\"description\":\"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.\",\"dateModified\":\"2026-11-07T19:18:45.000Z\",\"isPartOf\":{\"@id\":\"https://docs.hypersender.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"OTP API\",\"item\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/request-otp-code\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generate a WhatsApp OTP Link\",\"item\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link#apireference\",\"headline\":\"Generate a WhatsApp OTP Link\",\"name\":\"Generate a WhatsApp OTP Link\",\"description\":\"Create a WhatsApp OTP link. Users open WhatsApp and send a prefilled verification message. Your app handles the result via configured callbacks.\",\"url\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hypersender.com/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link#webpage\"},\"dateModified\":\"2026-11-07T19:18:45.000Z\",\"keywords\":\"otp link, whatsapp otp link api, passwordless WhatsApp authentication\",\"publisher\":{\"@id\":\"https://hypersender.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hypersender.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hypersender\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Hypersender","nav":{"global":{"anchors":[{"anchor":"WhatsApp Support","icon":"whatsapp","href":"https://wa.me/201065684630"},{"anchor":"Discord Support","icon":"discord","href":"https://discord.gg/ysSmK32ykC"},{"anchor":"Blog","icon":"newspaper","href":"https://hypersender.com/blog"}]},"versions":[{"version":"v2","tabs":[{"tab":"Guides","icon":"book","pages":[{"title":"Guides","href":"/v2/hypersender/hypersender-api-for-whatsapp-and-sms-messaging"}]},{"tab":"Whatsapp API","icon":"whatsapp","pages":[{"title":"Whatsapp API","href":"/v2/api-reference/whatsapp/whatsapp-api-introduction"}]},{"tab":"OTP API","icon":"lock","groups":[{"group":"Overview","boost":3,"pages":[{"title":"OTP API Introduction","href":"/v2/api-reference/otp/otp-api-introduction"},{"title":"How to Send an OTP in Postman","mode":"wide","href":"/v2/api-reference/otp/how-to-send-an-otp-in-postman"},{"title":"How to Generate a WhatsApp OTP Link in Postman","mode":"wide","href":"/v2/api-reference/otp/how-to-generate-a-whatsapp-otp-link-in-postman"}]},{"group":"OTP API","pages":[{"group":"OTP Code","pages":[{"title":"Request OTP Code","openapi":"v2/api-reference/otp/otp-collection.json POST /{instance}/request-code","href":"/v2/api-reference/otp/otp-service/request-otp-code"},{"title":"Validate OTP Code","description":"Validate an OTP code previously generated for a chat to confirm user authentication.","openapi":"v2/api-reference/otp/otp-collection.json POST /{instance}/validate-code","href":"/v2/api-reference/otp/otp-service/validate-otp-code"}]},{"group":"OTP Link","pages":[{"title":"Generate a WhatsApp OTP Link","openapi":"v2/api-reference/otp/otp-collection.json POST /{instance}/generate-link","href":"/v2/api-reference/otp/otp-service/generate-a-whatsapp-otp-link"}]},{"group":"API Reference","pages":[]}]}]},{"tab":"SMS API","icon":"message","pages":[{"title":"SMS API","href":"/v2/api-reference/sms/sms-api-introduction"}]},{"tab":"Enterprise WhatsApp API","icon":"fire","pages":[{"title":"Enterprise WhatsApp API","href":"/v2/api-reference/enterprise/enterprise-whatsapp-api-introduction"}]},{"tab":"Packages and SDKs","icon":"box-open","pages":[{"title":"Packages and SDKs","href":"/v2/packages-and-sdks/packages-and-sdks-overview"}]}]},{"version":"v1","pages":[{"title":"v1","href":"/v1/hypersender/hypersender-api-for-whatsapp-and-sms-messaging"}]}]},"basePath":"","title":"Generate a WhatsApp OTP Link - Hypersender","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}