Skip to main content
OTP.ID can deliver one-time passwords through five distinct channels, each suited to different user environments and trust requirements. When you create an OTP transaction with POST /v3/request or POST /v3/send, you select a channel by setting the channel field in your request body. This page explains how each channel works, what field values to use, and what behaviours or restrictions apply.

Channel Summary

The table below gives a quick overview of all five channels before you dive into the details.
whatsapp_inbound is the only channel that cannot be used with POST /v3/send. It is exclusively available through POST /v3/request.

Channel Details

WhatsApp (whatsapp)

OTP.ID sends an outbound WhatsApp message containing the one-time password directly to your user’s phone number. The message is delivered through OTP.ID’s WhatsApp Business integration and appears in the user’s WhatsApp inbox.channel field value: whatsappCompatible endpoints: POST /v3/request, POST /v3/sendRequired fields:
  • number — The destination phone number in international format, digits only, minimum 10 characters (e.g. 6281234567890).
Key behaviours:
  • The OTP appears as a readable message in the user’s WhatsApp chat.
  • Delivery depends on the user having an active WhatsApp account linked to the number.
  • If delivery fails (e.g. the number is not registered on WhatsApp), the transaction status is set to failed and your balance is not deducted.

Choosing the Right Channel

Not sure which channel to pick? Use this guidance:
  • WhatsApp — Best default for markets with high WhatsApp adoption (e.g. Indonesia, Brazil, India). Rich, readable messages.
  • SMS — Best fallback for users without WhatsApp or internet access. Maximum reach.
  • Email — Use when your authentication flow is email-first or your users don’t provide a phone number.
  • Missed Call — Use when SMS delivery is unreliable, or when you want a zero-text, caller-ID-based flow that works on feature phones.
  • WhatsApp Inbound — Use when you want the user to initiate contact (e.g. opt-in flows, customer support contexts) or when outbound messaging templates are restricted.
For maximum resilience, consider requesting WhatsApp first and falling back to SMS if the transaction status returns failed.