ARTHAM
WhatsApp Business API — Partner Integration Setup
Version 1.0 · July 2026
1. Overview
Artham sends order-confirmation messages to end clients over WhatsApp and receives their Approve / Cancel replies to authorise trades. This document lists everything the partner's team must configure on their WhatsApp Business Account (WABA) so that these messages send from the partner's number and the replies reach Artham's servers.
It is intended for the person who administers the partner's Meta Business account and WABA. All configuration in Sections 4–7 happens inside the partner's own Meta account; Artham only receives the two values described in Section 2.
2. What Artham Needs Back
Only two values need to be sent to Artham once setup is complete. Everything else is configured inside the partner's own Meta account.
| Value | Where it comes from |
| Phone Number ID | Numeric ID of the sending number (Section 4). This is not the phone number itself. |
| Permanent Access Token | System-User token generated in Section 5. |
Send these two values through a secure channel (e.g. a password-manager share or an encrypted message), not over plain email or chat. The access token grants the ability to send messages from the partner's number — treat it like a password.
3. Before You Start — Two Meta Portals
Setup spans two different Meta websites. This is the most common source of confusion, so keep both open, logged in with an account that has admin rights on the WABA:
- business.facebook.com — Business Settings, message templates, System-User tokens
- developers.facebook.com — the App dashboard, where the Phone Number ID and Webhook live
4. Phone Number ID
- Go to developers.facebook.com → My Apps → open the app the WhatsApp number is connected to.
- Left sidebar → WhatsApp → API Setup (may be labelled "Getting Started").
- Under the "From" dropdown you'll see Phone number ID — a long number. Copy it. SEND TO ARTHAM
- Note the WhatsApp Business Account ID (WABA ID) shown on the same page — you'll need it to confirm the template in Section 7.
Do not use the "Temporary access token" shown on this page. It expires in 24 hours and will break sending the next day. The correct, non-expiring token is generated in Section 5.
5. Permanent Access Token
- Go to business.facebook.com → Settings (gear icon) to open Business Settings.
- Left sidebar → Users → System Users.
- Use an existing System User, or click Add to create one (role: Admin or Employee).
- Select the System User → Add Assets → choose WhatsApp Accounts (and/or Apps) → select the WABA → enable Full control / Manage.
This asset assignment is required — without it the token cannot send messages.
- Click Generate token → select the app → tick these two permissions:
whatsapp_business_messaging
whatsapp_business_management
- Copy the token immediately — Meta displays it only once. SEND TO ARTHAM
System-User tokens do not expire (unlike the temporary token in Section 4), so this is a one-time setup.
6. Webhook Configuration
This is what routes the client's Approve / Cancel button taps back to Artham. If this step is skipped, messages will still send but no reply will ever reach Artham, and every order will stall awaiting approval.
- Go to developers.facebook.com → same app → WhatsApp → Configuration.
- Under Webhook, click Edit and enter exactly:
| Callback URL | https://api.artham.co/dealer/execution/consent/webhook |
| Verify Token | whatsapp_secret_artham |
- Click Verify and save. Meta will contact Artham's server and the check should pass immediately.
- In Webhook fields, find
messages and click Subscribe.
This subscription is essential — it is what actually forwards incoming replies.
Before changing the callback URL: if this same app currently sends webhooks to a system the partner already uses, redirecting it here will move those notifications to Artham. If the partner needs to keep receiving them, tell Artham before this step — there is an alternative setup (sharing the WABA with Artham's app) that avoids the conflict.
7. Message Template
Message templates do not carry over between WhatsApp Business Accounts, so the order-confirmation template must exist and be Approved on the partner's WABA. Create it exactly as specified below — the field structure must match or sending will fail.
- Go to business.facebook.com → WhatsApp Manager → Manage templates (confirm the WABA selected at the top matches the WABA ID from Section 4).
- Click Create template and configure:
| Name | order_confirm_auto_schedule |
| Category | Utility |
| Language | English (US) — en_US not plain "English" (en) |
| Header | Type Text, content: Order Consent (static text, no variable) |
| Body | Enter this text exactly, with the two variables {{1}} and {{2}}:
Order details: {{1}} {{2}} Please review and respond. |
| Buttons | Type Quick reply. Add two, in this order:
1st button = Approve · 2nd button = Cancel.
Button order matters — the first must be the approval action. |
Sample values for the variables
Meta's template-creation page asks for a sample value for each variable so the template can be reviewed. Enter these:
{{1}} | Client : John Doe | Portfolio BSTE |
{{2}} | Buy APPL Qty : 10 | BUY GOOGL Qty : 5 |
These samples are only for the approval preview — at send time Artham fills {{1}} and {{2}} with each client's live order details.
Submit for review and wait until status shows Approved (usually minutes to a day). Let Artham know once approved.
8. Completion Checklist
- Phone Number ID copied and sent to Artham (Section 4)
- System-User permanent token generated with both permissions, and sent to Artham securely (Section 5)
- Webhook callback URL + verify token saved, and the
messages field subscribed (Section 6)
- Template
order_confirm_auto_schedule created and showing Approved (Section 7)
- Business verification complete and a payment method attached to the WABA (required for template messages to bill and send)