Meta Graph API Onboarding Guide

Onboarding Guide

This guide walks you through the end-to-end onboarding process for integrating with Meta APIs directly via the Graph API. Follow each step in sequence to ensure your WhatsApp Business Account (WABA) is correctly configured.

Prerequisites

Before proceeding, ensure you have a valid global username and the following identifiers ready:

PrerequisiteDescription
Global UsernameCreated before starting onboarding
WABA IDWhatsApp Business Account ID
Phone Number IDLinked phone number identifier
Client MSISDNYour registered phone number
User TokenAuthorization token for API requests

Onboarding flow

1. User Creation

Create the user using the parent token provided to the TSP.

2. Login API

Generate the Login API user token using the username and password received on Email ID.

3. System User Mapping

Map your WABA ID to a system user.

4. Redis Entry

Store and map WABA details for coexistence.

5. Credit Line Mapping

Map a credit line to your WABA account.

Step 1: User Creation

Use the provided API to create a user. Ensure that the country in the payload is from the supported countries list (refer to the attached file for the list).

Endpoint Details

FieldValue
MethodPOST
URLhttps://apis.rmlconnect.net/wbm-analytics-apis/api/analytics/create-user-with-pageaccess
AuthorizationParent token provided to the TSP (in Authorization header)
Additional HeadersApi-Type: reseller-onboard

Note: This API must be called using the parent token provided to the TSP.

Request Body

{
    "first_name": "XXXX",
    "last_name": "XXXX",
    "username": "XXXX",
    "isv_username": "<ISV_USERNAME>",
    "email": "XXXX",
    "phone": "+9123232XXXX",
    "legal_company_name": "RML",
    "legal_company_address": "RML",
    "country": "American Samoa"
}

Sample cURL Command

curl --location '[https://apis.rmlconnect.net/wbm-analytics-apis/api/analytics/create-user-with-pageaccess](https://apis.rmlconnect.net/wbm-analytics-apis/api/analytics/create-user-with-pageaccess)' <br />--header 'Authorization: <token>' <br />--header 'Api-Type: reseller-onboard' <br />--header 'Accept: application/json' <br />--header 'Content-Type: application/json' <br />--data '{
st_name": "XXXX",
t_name": "XXXX",
rname": "XXXX",
_username": "<ISV_USERNAME>",
il": "XXXX",
ne": "+9123232XXXX",
al_company_name": "RML",
al_company_address": "RML",
ntry": "American Samoa"
'

After hitting the user creation API, the username and password generated will be triggered to the registered Email ID.

Step 2: Login API (User Token)

Hit the Login API using the username and password generated on Email ID in order to create the user token.

Endpoint Details

FieldValue
MethodPOST
URLhttps://apis.rmlconnect.net/auth/v1/login/
AuthorizationThis API must be called using the parent token provided to the TSP.

Sample cURL Command

curl --location '[https://apis.rmlconnect.net/auth/v1/login/](https://apis.rmlconnect.net/auth/v1/login/)' <br />--header 'Content-Type: application/json' <br />--header 'Accept: application/json' <br />--data '{
rd": "<string>",
me": "<string>"
'

Step 3: System User Mapping

Map your WABA ID to a system user by calling the System User Mapping API. This establishes the permissions your integration will have over the WhatsApp Business Account.

Endpoint Details

FieldValue
MethodPOST
URLhttps://apis.rmlconnect.net/wam/v1/system-user-mapping
AuthorizationLogin API (User Token) generated for the user (in Authorization header)

Request Body

{
  "waba_id": "2061629777XXXXX",
  "tasks": [
    "DEVELOP",
    "MANAGE_TEMPLATES",
    "MANAGE_PHONE",
    "VIEW_COST",
    "MANAGE_EXTENSIONS",
    "MANAGE_PHONE_ASSETS",
    "VIEW_TEMPLATES",
    "VIEW_INSIGHTS",
    "MANAGE_USERS",
    "MANAGE_BILLING",
    "VIEW_PHONE_ASSETS"
  ]
}

Sample cURL Command

curl --location '[https://apis.rmlconnect.net/wam/v1/system-user-mapping](https://apis.rmlconnect.net/wam/v1/system-user-mapping)' <br />--header 'Authorization: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...' <br />--header 'Content-Type: application/json' <br />--data '{
id":"2061629777XXXXX",
":["DEVELOP","MANAGE_TEMPLATES","MANAGE_PHONE",
   "VIEW_COST","MANAGE_EXTENSIONS","MANAGE_PHONE_ASSETS",
   "VIEW_TEMPLATES","VIEW_INSIGHTS","MANAGE_USERS",
   "MANAGE_BILLING","VIEW_PHONE_ASSETS"]
'

Step 4: Redis Entry — Set Details for Coexistence

After completing the system user mapping, use the Redis Entry API to store and map the WABA details. This is required to configure the coexistence settings for the Graph API integration.

Endpoint Details

FieldValue
MethodPOST
URLhttps://apis.rmlconnect.net/wba/management/v1/set-details-for-coexistence?debug=1
AuthorizationLogin API (User Token) generated for the user (in authorization header)

Request Body

{
  "waba_id":        "<WABA_ID>",
  "phone_no_id":    "<PHONE_NUMBER_ID>",
  "client_msisdn":  "<PHONE_NUMBER>",
  "user_type":      "GRAPH-API"
}

Sample cURL Command

curl --location '[https://apis.rmlconnect.net/wba/management/v1/set-details-for-coexistence?debug=1](https://apis.rmlconnect.net/wba/management/v1/set-details-for-coexistence?debug=1)' <br />--header 'authorization: \<USER_TOKEN>' <br />--header 'content-type: application/json' <br />--data '{
id":       "<WABA_ID>",
_no_id":   "<PHONE_NUMBER_ID>",
t_msisdn": "<PHONE_NUMBER>",
type":     "GRAPH-API"
'

Note: Always select 'GRAPH-API' in the user_type field. Do not use any other value for Graph API onboarding.

Step 5: Credit Line Mapping

Map a credit line to your WABA account. This ensures that the account is correctly linked to its payment and billing setup before sending messages.

Endpoint Details

FieldValue
MethodPOST
URLhttps://apis.rmlconnect.net/wam/v1/credit-line-mapping?debug=True
AuthorizationLogin API (User Token) generated for the user (in Authorization header)

Request Body

{
  "waba_id":       "1234",
  "waba_currency": "INR"
}

Sample cURL Command

curl --location '[https://apis.rmlconnect.net/wam/v1/credit-line-mapping?debug=True](https://apis.rmlconnect.net/wam/v1/credit-line-mapping?debug=True)' <br />--header 'Authorization: Rml Token' <br />--header 'Content-Type: application/json' <br />--data '{
id":       "1234",
currency": "INR"
'

Summary

Once all four steps are completed successfully, your WhatsApp Business Account will be fully onboarded to the Meta Graph API. The table below summarizes the process:

StepNameAPI EndpointKey Parameter
1User Creation/wbm-analytics-apis/api/analytics/create-user-with-pageaccessfirst_name, username, country
2Login API (User Token)/auth/v1/login/username, password
3System User Mapping/wam/v1/system-user-mappingwaba_id + tasks
4Redis Entry (Coexistence)/wba/management/v1/set-details-for-coexistencewaba_id, phone_no_id, user_type
5Credit Line Mapping/wam/v1/credit-line-mappingwaba_id, waba_currency

Did this page help you?