TP-Signup
Enrol one of your customers’ WhatsApp Business Accounts (WABA) into
your partner pipeline. Authenticate with your Splashify partner API
key (Authorization: Bearer pk_live_…). The request body uses the
standard tech-partner enrollment shape; we handle the WhatsApp
Business platform call on your behalf.
After the request succeeds, the actual onboarding completion is
asynchronous: a whatsapp.waba_onboarded event arrives on your
configured account-level webhook URL.
At that point your customer’s phone numbers are visible through the
Phone Numbers endpoint.
POST /api/v1/partner/customers/{customer_id}/whatsapp/tp-signupPrerequisites
customer_idmust belong to your partner account.- Your account must have WhatsApp partner integration enabled (set up by our team during onboarding). If not, the endpoint returns 503.
Request body
{
"entry": [
{
"changes": [
{
"value": {
"event": "PARTNER_ADDED",
"waba_info": {
"waba_id": "123456789012345",
"solution_id": "987654321012345",
"phone_number": "+919999999999",
"data_localization_region": "IN"
}
}
}
]
}
],
"auto_subscribe": false,
"object": "tech_partner"
}Fields
| Field | Type | Required | Notes |
|---|---|---|---|
entry[].changes[].value.event | string | yes | Use "PARTNER_ADDED" |
entry[].changes[].value.waba_info.waba_id | string | yes | Customer’s WABA ID |
entry[].changes[].value.waba_info.solution_id | string | yes | Your Solution ID |
entry[].changes[].value.waba_info.phone_number | string | yes | E.164 phone number, e.g. +91... |
entry[].changes[].value.waba_info.data_localization_region | string | yes | 2-letter ISO region code (IN, SG, etc.) |
auto_subscribe | boolean | no | Defaults to false. If true, your app is auto-subscribed to webhooks for this WABA. |
object | string | yes | Always "tech_partner" |
Response — 200
{
"success": true
}A 200 means the enrollment was accepted for processing — not that the WABA is fully onboarded yet. Watch for the WABA-onboarded webhook on your configured URL.
Errors
| Status | Example |
|---|---|
400 | { "success": false, "message": "entry[0].changes[0].value.waba_info.waba_id is required" } |
401 | { "success": false, "message": "unauthorized" } |
404 | { "success": false, "message": "customer not found" } |
502 | { "success": false, "message": "WhatsApp request failed. Try again shortly." } |
503 | { "success": false, "message": "WhatsApp integration is not configured for your account. Contact support." } |
Errors from the WhatsApp Business platform (4xx) pass through with their original status code.
cURL
curl -X POST \
"https://api.splashifypro.com/api/v1/partner/customers/$CUSTOMER_ID/whatsapp/tp-signup" \
-H "Authorization: Bearer $SPLASHIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"entry": [{
"changes": [{
"value": {
"event": "PARTNER_ADDED",
"waba_info": {
"waba_id": "123456789012345",
"solution_id": "987654321012345",
"phone_number": "+919999999999",
"data_localization_region": "IN"
}
}
}]
}],
"auto_subscribe": false,
"object": "tech_partner"
}'Notes
- Authentication. Use your Splashify partner API key — that’s the only credential you ever need to send.
- Idempotency. Re-submitting the same
waba_idis safe — the call returns success and the existing link is updated in place. - Webhook follow-up. Once the customer completes embedded
signup on the WhatsApp side, you receive
whatsapp.waba_onboardedat your webhook URL with the resolvedwaba_idandphone_number_id. Internal tokens are stripped before delivery.