Verify API: Quick Start

Setting Up Bird Verify API: A Step-by-Step Guide

The Bird Verify API empowers you to implement automated, multi-step verification strategies across various channels. This guide will walk you through the process of setting up Verify, focusing on SMS and WhatsApp integration.

Setting Up SMS Verification

Step 1: Country Coverage

  • Identify your target countries, and check the best sender to use using this guide

  • Submit a ticket to Bird to provision alphanumeric senders and/or numbers for those countries.

To obtain global coverage, you will need only two channels

  1. A USA Toll Free number is the most cost-effective solution for USA< Canada, and Puerto Rico. You can purchase it under developer -> numbers -> phone numbers, searching for USA and Toll Free

  2. An alphanumeric (A max 11-character string related to your brand name), you can request one via developers -> numbers -> alphanumeric -> request new alphanumeric

Step 2: Install SMS Channels

  • Navigate to Developers -> SMS -> SMS Setup.

  • Install SMS channels for each Bird-provisioned sender. (you may have to repeat this step twice one for your toll-free number and one for your alphanumeric)

  • Crucially, always select "2FA" as the message type for navigator compatibility.

Bird strongly recommends using navigators over direct channel selection. Even if you start with just one SMS channel, when using the Verify API , always send OTPs via navigators. Navigators abstract channel UUID changes, ensuring your integration remains stable even if you add or remove channels. This means your API calls will stay consistent, simplifying maintenance.

Set Up WhatsApp 2FA

Step 3: Install WhatsApp Channel

  • Navigate to Developers -> WhatsApp -> WhatsApp Setup -> Install WhatsApp.

  • You can use your own number or purchase a cost-effective number (e.g., a Canadian number).

Picture: use your own number

  • Important: the Phone number of your WhatsApp account is not directly visible to end-users during the verification. They will see your company logo and anime, making choosing a great number a secondary matter.

Tip: Don't delay setup trying to get a number from your own country, as these can be expensive or hard to obtain due to regulations. Using your own or a readily available number enables you to get started quickly. You can always add a localized number later as an improvement.

Step 4 Create WhatsApp 2FA Template

  • Go to Developers -> WhatsApp -> Manage Templates -> Create Template.

  • Tips, use 2FA template configurations

  • Set the authentication body's validity period to match your OTP validity (recommended: 300 seconds or less). This prevents stale OTPs from being delivered if a user's data connection is delayed.

  • If your business uses an app, enable 0-click authentication for automatic password autofill in the action button. You can do so in the Action Buttons -> Authentication Button. This feature works seamlessly on Android phones and gracefully skips on iPhones or unsupported Android versions.

Use a Two-Step Approach

When using the Verify API, always set up at least two steps (you can optionally add a third step via email). This provides the following advantages:

  • Benefit of WhatsApp-Only Features: You can showcase your brand logo and name to your users and utilize buttons and auto-complete, which are impossible on SMS.

  • Fallback Mechanism: Implement a two-step approach, starting with WhatsApp and automatically falling back to SMS when necessary.

  • Mitigating WhatsApp Limitations: Meta does not provide WhatsApp number lookup. Bird's Verify API automatically falls back to SMS when a "not supported" error occurs, ensuring high verification rates.

  • Seamless User Experience: This fallback is internal to the Bird platform and happens quickly, providing a smooth experience for your users.

For less time-sensitive application email could be used as a 3rd step

Step 5. Prepare your API call

The only action missing is Retrieving IDs:

  • WhatsApp channel and template IDs are available in WhatsApp Setup and WhatsApp -> Manage Templates, respectively.

  • OTP navigator UUID is visible in Developers -> Navigators -> Navigator Setup.

API Request Example:

{
    "identifier": {
        "phonenumber": "Recipient Number"
    },
    "maxAttempts": 3,
    "timeout": 300,
    "codeLength": 6,
    "steps": [
        {
            "channelId": "whatsapp_channel_ID",
            "template": {
                "projectId": "whatsapp_template_ID",
                "locale": "en",
                "version": "whatsapp_template_version"
            }
        },
        {
            "navigatorId": "navigator_UUID"
        }
    ]
}

Auto Fallback: Whenever a WhatsApp message fails, Verify will move to send an OTP via SMS without any action from your side. If or when needed, you can always retrigger a specific step (refer to API documentation for more info)

Last updated

Was this helpful?