UCal
  • Welcome
  • 🚀Getting Started
    • Quick Start
      • What is IS-Messenger?
      • Setting Up an Account
      • Connecting Channels
      • Inviting Your Teammates
      • Getting Contacts to Message You
      • Automated Welcome and Away Messages
      • Responding to Messages
      • Glossary of Terms
    • Connecting a Channel
    • Invite your teammates
    • Getting Contacts to Message You
    • Automated Welcome and Away Messages
    • Responding to messages
    • Glossary of Terms
    • Creating a Chatbot
  • ⚙️Workspace Modules
    • Dashboard
    • Inbox
      • Inbox Overview
      • Assignment and closing a conversations
      • Custom Inboxes
      • Interacting with Respond AI Prompts
      • Using AI Assist
    • Contacts
      • Contact Details
      • Contacts Overview
      • Merge Suggestions
      • Contact Activity
      • Contact Channels
      • Contact Import
      • Segments
    • Broadcast
      • Broadcast Overview
      • Managing Broadcasts
    • Workflow
      • Triggers
      • Workflow Step
        • Step: Send a Message
        • Step: Ask a Question
        • Step: Assign To
        • Step: Branch
        • Step: Update Contact Tag
        • Step: Update Contact Field
        • Step: Open Conversation
        • Step: Close Conversation
        • Step: Add Comment
        • Step: Jump To
        • Step: Wait
        • Step: Date & Time
        • Step: HTTP Request
        • Step: Trigger Another Workflow
        • Step: Add Google Sheets Row
        • Step: AI Agent
      • Workflow Templates
    • Reports
      • Reports: Conversations
      • Reports: Responses
      • Reports: Resolutions
      • Reports: Messages
      • Reports: Contacts
      • Reports: Assignments
      • Reports: Leaderboard
      • Reports: Users
      • Reports: Broadcasts
  • ⚙️Workspace Setting
    • Managing a Workspace
    • General
    • Users
      • Access Levels
    • Teams
    • Channels
      • Chat Menus
    • Contact Fields
    • Growth Widgets
      • Website Chat Widget Quick Start
      • Website Chat Widget Overview
      • Workspace Settings: Growth Widgets
      • Install Website Chat Widget on Squarespace
      • Install Website Chat Widget on Joomla
      • Install Website Chat Widget on Wix
      • Install Website Chat Widget on Shopify
      • Install Website Chat Widget on WordPress
      • How to Track Conversation Source from Multiple Websites
    • Respond AI
    • Integrations
      • Dialogflow
        • Dialogflow: Connecting to Dialogflow
        • Dialogflow: Creating a Chatbot
        • Dialogflow : Managing Intents
        • Dialogflow: Parameters
        • Dialogflow: Events
        • Dialogflow: Response Templates
        • Dialogflow: Custom Payloads
        • Dialogflow: Fulfillment Webhook Request
      • E-Commerce & CRM Integrations
        • E-Commerce Integration: Shopify
        • E-Commerce Integration: BigCommerce
        • E-Commerce Integration: WooCommerce
        • E-Commerce Integration: Magento
        • CRM Integration: HubSpot
        • CRM Integration: Salesforce
        • CRM Integration: Pipedrive
        • CRM Integration: ActiveCampaign
      • Zapier
      • Developer API
      • Webhooks
      • Make (formerly Integromat)
    • Closing Notes
    • Snippets
    • Files
    • Data Export
    • Data Import
  • ⚙️User Account
  • Profile
  • User Activity Status
  • Notifications
  • Resetting your Passwords
  • 👨‍👧‍👦CONTACT AND MESSAGES
    • Dynamic Variables
      • Dynamic Variables Overview
      • How to Use Dynamic Variables
    • Contact Search and Custom Inbox
    • Conversations
  • ⚙️MESSAGING CHANNELS
    • Channel Overview
    • Facebook Messenger
      • Facebook Messenger Quick Start
      • Facebook Chat Plugin
      • Private Replies
      • Message Tag
    • Instagram
      • Instagram Overview
      • Instagram Quick Start
    • WhatsApp
      • WhatsApp Business API Quick Start
      • Getting Ready for Inbound Conversations
      • Getting Ready for Promotional Messaging
      • WhatsApp Official Business Account (Green Tick)
      • Grow your WhatsApp Audience by Maximizing Entry Points
      • Get WhatsApp API Account for Government Agencies
      • Meta Business Verification
      • WhatsApp Message Templates
      • WhatsApp Pricing
      • WhatsApp Business Platform (API) Channel Configuration
      • WhatsApp Messaging Limits
      • Meta Product Catalog
      • Change Your WhatsApp Business Display Name
      • Phone Number Migration to IS-Messenger WhatsApp Business API
      • Turn-off WhatsApp Number Two-Step Verification
      • WhatsApp Cloud API
        • Migrating from On-Premises API to Cloud API
        • Migrating from Cloud API to On-Premises API
        • Set up the WhatsApp Echo Bot
        • Load Testing on Cloud API
        • Experiments
        • Webhooks Setup
      • 360Dialog WhatsApp
      • Twillio WhatsApp
      • MessageBird WhatsApp
      • Vonage WhatsApp
      • Phone Number Migration to WhatsApp Cloud API
    • Website Chat Widget
      • Install on WordPress
      • Install on Shopify
      • Install on Wix
      • Install on Squarespace
      • Install Website Chat Widget on Joomla
    • LINE
      • LINE Overview
      • LINE Quick Start
    • Telegram
      • Telegram Overview
      • Telegram Quick Start
    • Viber
      • Viber Overview
      • Viber Quick Start
    • SMS Overview
      • Twilio SMS Quick Start
        • Importing Contacts to Twilio SMS
      • MessageBird SMS Quick Start
      • Vonage SMS Quick Start
    • Twitter Overview
      • Twitter Quick Start
    • WeChat
      • WeChat Overview
      • WeChat Quick Start
    • Google Business Message
    • Email
      • Google Workspace Quick Start
      • Other Email
    • Custom Channel
      • Custom Channel Overview
      • Custom Channel Quick Start
  • New Release Update
  • Support Use Cases
    • How to Identify Contacts by Email and Phone NumberI
    • How to Enrich Customer Data from a CRM or other Business Software
    • How to Route Customers to the Right Team Automatically
    • How to Auto-Assign Customers to a Team or Dedicated Agent
    • How to Send Outbound Support Messages
    • Support: Closing Conversations
    • How to Supervise Your Support Agents
    • How to Analyze Reports for Support
    • How to Send CSAT to Customer and Save Data in Google Sheets or CRMs
  • Handling Inbound Conversations
    • Managing Spam
    • Create Automated Welcome and Away Messages
    • Get Contacts’ Consent for Personal Data Collection
    • Create Automated Chat Menus
    • Collect Contacts’ Emails and Phone Numbers
    • Route Contacts by Shifts
    • Route Contacts by Team Functions
    • Route New & Returning Contacts
    • Route VIP Contacts
    • Assignment Strategy: Automatic Contact Distribution & Load Balancing
    • Assignment Strategy: Unassign Agents after Conversations Closed
  • Capture Conversations
    • How to Streamline Meeting Scheduling via CTC Ads
    • How to Automate Product Info Sharing in Conversations Initiated via CTC Ads
    • How to Track Conversation Source from Multiple Websites
    • How to Route Contacts from CTC Ads to Agents
  • Automate Conversations
    • How to Maximize Customer Service Potential with AI Agent
    • How to Automate Contact Information Collection with AI
    • How to Route Contacts to Preferred AI Agent
    • How to Automatically Qualify Contacts Based on Budget Using AI Agent
    • How to Route Contacts by their Preferred Language
    • How to Create Automated Chat Menus
    • Assignment Strategy: How to Automate Contact Distribution & Load Balancing
    • Assignment Strategy: Unassign Agents after Conversations Closed
    • How to Create Automated Welcome and Away Messages
    • How to Block Contacts and Manage Spam
    • How to Route New and Returning Contacts
    • How to Collect Contacts’ Emails and Phone Numbers
    • How to Route New and Returning Contacts
    • How to Route Contacts by Team Functions
    • How to Route Contacts by Shifts
    • How to Get Contacts’ Consent for Personal Data Collection
    • How to Route VIP Contacts
  • How to Promptly Transfer Conversation Between Agents
  • How to Guide Customers from Exploration to Purchase with Engaging Menus
  • How to Optimize Customer Onboarding with Automated & Customized Welcome Messages
  • Converse with Customers
    • How to Get a Complete View of the Customers
    • How to Simplify Customer Escalation with Automation
    • How to Transfer Contacts to the Next Shift Automatically
    • How to Optimize Agents’ Productivity in the Messages Module
    • How to Align AI Conversations with Your Brand Voice
    • How to Draft Customer Replies with AI
    • How to Convert Image to Text Using AI
    • How Automate Calculations Using AI
  • Broadcasts Use Cases
    • How to Sending a Simple Broadcast
    • How to Start a Workflow Based on Broadcast Response
    • How to Import to Broadcast via WhatsApp
    • How to Troubleshoot a Failed Broadcast
  • Sales Use Cases
    • How to Collect Leads' Email and Phone Number
    • How to Enrich Contact Data and Qualify Leads
    • How to Route Leads
    • How to Auto-Assign Leads to Sales Agents
    • How to Send Outbound Sales Messages
    • How to Track Productivity by Closing Conversations
    • How to Supervise Sales Agents
    • How to Analyze Reports for Sales
  • Accessing Help Menu
Powered by GitBook
On this page
  • Best Practices
  • API Differences
  • Downtime
  • Step 1: Integrate On-Premises API
  • Step 2: Prepare for Migration
  • Step 3: Register API Client
  • Step 4: Set Shards
  • Step 5: Start Sending Messages
  1. MESSAGING CHANNELS
  2. WhatsApp
  3. WhatsApp Cloud API

Migrating from Cloud API to On-Premises API

This document explains how to migrate business phone numbers from Cloud API to On-Premises API. To migrate from On-Premises API to Cloud API, see Migrating from On-Premises API to Cloud API.

PreviousMigrating from On-Premises API to Cloud APINextSet up the WhatsApp Echo Bot

Last updated 1 year ago

Note that migrating a business phone number from one API to another is not the same as .

Migration does NOT affect:

  • the business phone number's display name, verification status, or quality rating

  • templates used by the business phone number, or their statuses

  • the owning WABA, its Official Business Account status, or its messaging limit

In order to support migration, however, you must be aware of any and take appropriate action to address them before performing the migration steps described in this document.

Best Practices

After making sure that your app can handle all API differences, we recommend that you first migrate a low-volume business phone number and verify that all functionality that you intend to offer with On-Premises API works correctly. After verifying that everything is working properly, migrate additional numbers.

We also recommend that you perform migration when traffic to your On-Premises API deployment is low.

API Differences

Make sure your app is able to handle these differences before starting the migration process.

Webhooks

Cloud API and Business Management API webhooks payload structures are different from On-Premises API payload structures. We recommend that you create a new webhook endpoint that can handle On-Premises API webhooks exclusively.

Refer to the following documents to help you understand payload differences:

  • Configuration:

  • Cloud API webhook payloads:

  • Business Management API webhook payloads:

Once migration to On-Premises API is complete, the business phone number's Cloud API webhooks will no longer be delivered and On-Premises API webhooks delivery will begin.

Media

Error Codes

Cloud API and Business Management API error codes are different from On-Premises API error codes. See the following documents:

Push-To-Talk Messages

On-Premises identifies push-to-talk (PTT) messages in webhooks by setting messages.type to voice, but Cloud API identifies PTT messages by setting messages.audio.voice to true.

Downtime

Downtime begins as soon as you perform registration step (step 3) and should only last a few seconds. During this time, messages sent to the number from WhatsApp users will be silently dropped.

We highly encourage you to schedule migration during a time when the number experiences low activity, to minimize any downtime impact.

Step 1: Integrate On-Premises API

Since you are migrating a business phone number to On-Premises API, make sure that your app can successfully use your On-Premises API client and that the WhatsApp Business Account associated with the business phone number has webhooks configured correctly.

Step 2: Prepare for Migration

We suggest that you stop sending messages while you complete the migration.

Step 3: Register API Client

POST /v1/account

{
    "cc": "COUNTRY_CODE",
    "phone_number": "PHONE_NUMBER_WITHOUT_COUNTRY_CODE",
    "method": "sms" or "voice",
    "cert": "VERIFIED_NAME_CERT_IN_BASE64",
    "pin": "EXISTING_6_DIGIT_PIN" # required if two-step verification is enabled
}

Depending on the response received, the registration procedure can be considered complete or require another step to complete. If successful, you receive one of the following HTTP status codes. Follow the instructions that match the response you received:

  • 201 Created — The account already exists. You are already registered, so you do not need to do anything else.

Once the registration is complete, the On-Premises API client will be the one receiving messages.

Step 4: Set Shards

Step 5: Start Sending Messages

Media IDs for any media uploaded to Cloud API cannot be used when sending messages with On-Premises API, so you must either to generate new media IDs, or use media URLs if the media is hosted on a public server. See .

The WhatsApp Business API On-Premises client has certain network requirements for connecting to the WhatsApp servers. To make sure you are ready, check .

Register the business phone number on your On-Premises API client. To do that, call the :

202 Accepted — The account does not exist. Depending on the method selected in the request, check your SMS or voice number for the registration code. This response will include a returned payload that contains the vname decoded from the cert parameter for you to confirm the right display name is being set. If correct, proceed to to complete registration.

See all available fields for this endpoint .

Once your client is registered, you can , if needed.

You are ready to send messages to your customers. See the guides for guidance.

⚙️
migrating a number from one WhatsApp Business Account (WABA) to another
API differences
Webhooks for WhatsApp
Webhooks Notification Payload Reference
Webhooks Setup
reupload media using On-Premises API
Sending Media Messages
Cloud API Error Codes
Business Management API Error Codes
Set Up and Debug Your Network
/account endpoint
Completing Your Account Registration
here
set shards
Send Messages