---
title: "WhatsApp API for Marketing | Campaigns that convert | D-API"
description: "WhatsApp API for marketing: multiple isolated numbers, reply rate reports and native CTAs (buttons, lists, payment links) for campaigns at scale without bans."
url: https://d-api.cloud/en/whatsapp-api-for-marketing
---

Use case · Marketing

# The WhatsApp API for campaigns that land without getting numbers banned.

Your team needs to run campaigns at scale without watching numbers get banned at the peak. The D-API WhatsApp API delivers real isolation, a unique IP per connection and response reports so your operation grows safely.

-   Reports: In real time
-   Native CTAs: Buttons, lists, carousels
-   Isolation: 1:1 per number

## Talk to our team

See how D-API fits into your product. Support in English, and we reply within 1 business day.

Short answer

## How do you run WhatsApp campaigns with less risk of bans?

Spread the volume across several numbers, each in an isolated connection, instead of concentrating everything on one number. At D-API each connection has a dedicated proxy with its own IP, and the dashboard shows delivery, reads and replies per campaign. Bans depend on sending behavior, so relevant content and gradual volume remain the main protection.

The problem

## You shouldn't be solving this.

Problems D-API takes off your plate.

1.  ### Campaigns that never arrive
    
    Unstable infrastructure makes your campaign fail without you knowing.
    
2.  ### Numbers banned without warning
    
    A single number carrying everything means ban risk and a lost audience.
    
3.  ### No reporting
    
    Without delivery, read and reply data, your decisions are guesswork.
    

How it works

## From zero to production in four steps.

1.  ### Connect your numbers
    
    Add as many numbers as you want in the dashboard and the system provisions isolated instances.
    
2.  ### Build the campaign
    
    Use the API or an automation node (n8n, Make) to send messages at scale.
    
3.  ### Engage with native CTAs
    
    Add buttons, lists, carousels and payment links to increase conversion inside the chat.
    
4.  ### Track results
    
    See delivery, read and reply rates by campaign, instance or period.
    

Node.jscURLPythonPHP

```
import { DApi } from 'd-api-sdk'

const dapi = new DApi({ apiKey: process.env.DAPI_API_KEY })

await dapi.sessions.create({
  sessionId: 'customer-42',
  webhookUrl: 'https://your-app.com/webhooks/whatsapp',
})

const { qrCodeImage } = await dapi.sessions.getQRCode('customer-42')

// once the number scans the QR code
await dapi.messages.sendText({
  sessionId: 'customer-42',
  to: '14155550123',
  text: 'Your order is confirmed!',
})
```

```
curl -X POST https://api.d-api.cloud/api/v1/sessions \
  -H "Authorization: $DAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sessionId": "customer-42", "webhookUrl": "https://your-app.com/webhooks/whatsapp"}'

curl https://api.d-api.cloud/api/v1/sessions/customer-42/qr \
  -H "Authorization: $DAPI_API_KEY"

# once the number scans the QR code
curl -X POST https://api.d-api.cloud/api/v1/messages/send/text \
  -H "Authorization: $DAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sessionId": "customer-42", "to": "14155550123", "text": "Your order is confirmed!"}'
```

```
import os
import requests

API = "https://api.d-api.cloud/api/v1"
HEADERS = {"Authorization": os.environ["DAPI_API_KEY"]}

requests.post(f"{API}/sessions", headers=HEADERS, timeout=10, json={
    "sessionId": "customer-42",
    "webhookUrl": "https://your-app.com/webhooks/whatsapp",
})

qr = requests.get(f"{API}/sessions/customer-42/qr", headers=HEADERS, timeout=10).json()

# once the number scans the QR code
requests.post(f"{API}/messages/send/text", headers=HEADERS, timeout=10, json={
    "sessionId": "customer-42",
    "to": "14155550123",
    "text": "Your order is confirmed!",
})
```

```
<?php
use GuzzleHttp\Client;

$dapi = new Client([
    'base_uri' => 'https://api.d-api.cloud/api/v1/',
    'headers'  => ['Authorization' => getenv('DAPI_API_KEY')],
    'timeout'  => 10,
]);

$dapi->post('sessions', ['json' => [
    'sessionId'  => 'customer-42',
    'webhookUrl' => 'https://your-app.com/webhooks/whatsapp',
]]);

$qr = json_decode($dapi->get('sessions/customer-42/qr')->getBody(), true);

// once the number scans the QR code
$dapi->post('messages/send/text', ['json' => [
    'sessionId' => 'customer-42',
    'to'        => '14155550123',
    'text'      => 'Your order is confirmed!',
]]);
```

### Works with the tools you already use

-   Datacrazy CRM
-   n8n
-   RabbitMQ
-   Amazon S3
-   Native reports

What you get

## WhatsApp campaigns that arrive, convert and report back.

-   ### Multiple isolated numbers
    
    Run a campaign across dozens of numbers without a problem on one affecting the others.
    
-   ### Dedicated proxy per number
    
    Each connection gets a proxy with its own IP, managed automatically by D-API, reducing the risk of bans as you scale sends.
    
-   ### Real response rates
    
    Track delivery, reads and replies for each campaign in real time in the dashboard.
    
-   ### Buttons, lists and carousels
    
    Increase conversion with native WhatsApp CTAs, with no reliance on external links.
    
-   ### Payment links in the chat
    
    Shorten the path to purchase by sending the payment link in a native button, right inside the conversation.
    
-   ### Fast number swaps
    
    Retire a problematic number and bring up another without redoing the integration.
    
-   ### Smart distribution
    
    Integrate with Datacrazy CRM to distribute leads automatically across sales reps.
    
-   ### Health monitoring
    
    Early risk signals on each number (reconnections, send failures and stability) so you act before a ban.
    
-   ### Dedicated onboarding
    
    We set up a WhatsApp group with your marketing team to unblock setup and first campaigns, all at no cost.
    

FAQ

## Frequently asked questions.

### Can D-API get my number banned?

Bans depend on behavior (spam, volume, content). D-API is infrastructure: if you follow best practices, stability works in your favor.

### How many numbers can I connect?

Unlimited. On the Scale plan you only pay for the connections you use, and the unit price drops as the total grows.

### Can I get reports per campaign?

Yes. Filters by instance, period and message type let you analyze the performance of any campaign or flow.

## Related guides

-   [How to avoid bans](https://d-api.cloud/en/avoid-whatsapp-ban)
-   [Buttons and lists](https://d-api.cloud/en/whatsapp-buttons-and-lists)
-   [Multiple numbers](https://d-api.cloud/en/whatsapp-api-multiple-numbers)
-   [Bulk messaging](https://d-api.cloud/en/whatsapp-bulk-messaging-api)

## Ready to go to production?

3-day free trial with full access. No credit card, no lock-in.

[Talk to sales](https://d-api.cloud/#lead)[See pricing](https://d-api.cloud/en/pricing)
