---
title: "WhatsApp Business extension"
description: "Send trackable Inttegro Buy links through approved WhatsApp Business templates."
canonical: "https://studio.inttegro.com/extensions/whatsapp"
format: inttegro-machine-docs/v1
language: "Python"
sdk_version: "v12.0.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/python/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 314
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: []
estimated_tokens: 1428
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Send trackable Inttegro Buy links through approved WhatsApp Business templates. This Python representation uses the selected SDK's native names wherever Studio has a verified mapping.

### Five questions

#### Q1. When should the reader use WhatsApp Business extension?

Use this page as orientation before selecting the narrower guide or reference that owns the implementation contract.

#### Q2. What is authoritative on this page?

Use this page for orientation; follow its canonical SDK, guide, API, or MCP links for exact contracts.

#### Q3. What page-specific constraint matters most?

Use the page to choose a canonical next source instead of treating summary material as a complete implementation contract.

#### Q4. Can Inttegro MCP materially help with this task?

No catalog ability is sufficiently specific to recommend for this page. Use the documentation directly; consult the MCP catalog only if the task later requires governed live account context or a supported operation.

#### Q5. How should the reader verify the answer and continue?

Select the narrowest linked guide or reference, apply its stated completion condition, and verify against authoritative resource state when the task changes data.

## Document content

![WhatsApp](/img/logos/extensions/whatsapp.svg)

# Sell through a WhatsApp conversation

Turn a product selection into an Inttegro Buy link, deliver it with an approved
WhatsApp template, and see whether the message was sent, delivered, or read. This
is a small connector service for your merchant system—not a WordPress plugin. [Start with Meta setup](https://developers.facebook.com/docs/whatsapp) [Plan the pilot](mailto:support@inttegro.com) |              |                                                                 |
| ------------ | --------------------------------------------------------------- |
| Version      | 1.0.0                                                           |
| Requirements | Node.js 24+, HTTPS, and a provisioned WhatsApp Business account |
| Availability | Ghana pilot; Meta approval required                             |

## Before you deploy

In Meta, provision an app and WhatsApp Business phone number, then approve a
message template whose body accepts exactly two values: the product label and
the complete Inttegro Buy URL.

Create a dedicated Inttegro key intended only for
`purchase_intents:create`. Also generate an internal connector token containing
at least 32 random characters.

:::warning API-key scopes are not enforced yet

Keep this key isolated from product writes, orders, refunds, payouts, financial
accounts, and account administration. Rotate it onto the restricted profile when
Inttegro begins enforcing scopes.

:::

## Connect WhatsApp Business

1. Ask Inttegro for pilot access, then deploy the connector behind a public
   HTTPS endpoint.
2. Add the environment values below through your hosting provider's secret
   manager—never through browser or mobile configuration.
3. Configure the connector webhook URL and verification token in Meta.
4. Send a test request from your merchant system with a customer, product,
   price, and quantity.
5. Open the returned status from the authenticated message-status endpoint and
   follow it through delivery.

```text
CONNECTOR_TOKEN
INTTEGRO_API_KEY
META_ACCESS_TOKEN
META_APP_SECRET
META_BUY_LINK_TEMPLATE
META_GRAPH_API_VERSION
META_PHONE_NUMBER_ID
META_VERIFY_TOKEN
```

## Verify the setup

- \[ ] Meta accepts the webhook challenge.
- \[ ] A test customer receives the approved template with the right product
  label and a complete Inttegro Buy URL.
- \[ ] Selecting the link opens Inttegro Checkout.
- \[ ] Signed Meta callbacks advance the message to `delivered` or `read`.
- \[ ] Repeating the same request does not send a duplicate message.

After these checks pass, connect the send operation to the staff tool or merchant
workflow that already chooses the customer and product. The connector will
create the Buy link, submit the approved message, and preserve the latest
delivery state.

## If a check fails

Check the template name, Graph API version, phone number ID, and Meta webhook
signature configuration first. Do not automatically resend after an ambiguous
Meta response—the connector intentionally stops to avoid duplicate messages.
Contact [Inttegro support](mailto:support@inttegro.com) with the operation ID,
never the access tokens.

## Running more than one connector

The included connector is ready to run as a single instance. It keeps message
delivery records on that instance so repeated requests do not send duplicate
WhatsApp messages.

If you need multiple running instances, contact
[Inttegro support](mailto:support@inttegro.com) before scaling. The connector
must first be connected to a shared database so every instance can recognize
requests that have already been processed.
