---
title: "WhatsApp API for software houses — ship the channel inside your client's project | WAME API"
description: "Software houses: stop rebuilding the WhatsApp integration on every project. One SDK, three official Meta channels and one webhook — plus a monthly fee of your own on top of each client. Partner Program from 20 instances, no lock-in."
url: "https://api-wa.me/en/api-whatsapp-para-software-house"
language: "en"
og:type: "website"
og:site_name: "WAME API"
---

For teams that build custom software

# Every proposal you send says “WhatsApp integration”.
Stop billing it by the hour.

WAME is your software house's messaging layer. **One SDK, three official Meta channels and one webhook** — the same code in every project you ship. Plus a monthly fee of your own on top of each client.

WhatsAppInstagramMessenger

[Talk to the partner team](https://wa.me/556697145103?text=Hi!%20I%20run%20a%20software%20house%20and%20I%27d%20like%20to%20know%20about%20WAME%27s%20Partner%20Program.)

From 20 instances · no lock-in · [see partner pricing](https://api-wa.me/en/api-whatsapp-para-software-house#precos-parceiro)

Since 2017

in the messaging API market

50k+

instances created

99.9%

uptime

Meta

official Business Partner

## What changes in your next proposal

You write the integration once. It serves every project you ship from here on.

1SDK

### Write it once, reuse it in every project

The module you build for today's client drops into the next one unchanged. The integration stops being a line item and becomes an in-house library.

1webhook

### One handler serves all three channels

WhatsApp, Instagram and Messenger arrive in the same envelope. A single field names the channel. The client who asks for Instagram tomorrow is not a new project.

0Meta apps

### The red tape is neither yours nor your client's

No approved app, no business verification under your client's name, no becoming a Tech Provider. The step that stalls delivery for weeks — the one nobody can estimate — disappears.

What leaves the quote

## What you rebuild on every project

The work was never sending a message. It is keeping alive an integration you already delivered and no longer bill for.

### Rebuilding it on every project

- Creating a Meta for Developers app per client
- Business verification under the client's company — and the wait
- One webhook parser per channel, three in total
- Unbilled support every time Meta changes the API
- A 40-hour estimate that turns into 200
- Project delivered, revenue over

### With WAME underneath

- No Meta app — the infrastructure is ours
- Nothing under your client's name, no waiting
- One parser for all three channels
- API changes are our problem, not yours
- A predictable integration, from the first project to the tenth
- Project delivered, subscription starting

We are a **Meta Business Partner**. The official infrastructure is already built and maintained on our side — your team consumes it and ships.

## Want to see this running in the project on your desk?

Send us a message. We will walk you through the API, the webhook and firm pricing for your volume.

[Talk to the partner team](https://wa.me/556697145103?text=Hi!%20I%20run%20a%20software%20house%20and%20I%27d%20like%20to%20know%20about%20WAME%27s%20Partner%20Program.)

That simple

## How it fits the system you deliver

The end client never sees WAME. They see WhatsApp working inside the system you built.

01

### You create the instance through the API

Create, activate, deactivate and delete are your calls. Provisioning happens inside your own onboarding — nobody opens a dashboard of ours.

02

### Your client connects their account

Secure login through Meta itself on the official API, or a QR code on the unofficial one. They pick WhatsApp, Instagram and/or Messenger.

03

### Everything lands on your webhook

All three channels in the same envelope, at the URL you configured. WhatsApp becomes a feature of your system — not a separate project.

**Fully API-managed.** The client lifecycle lives in your billing, not in our dashboard — so trials, suspensions and reactivations are your call.

One single pattern

## Three channels. The same webhook.

You write the handler once. It serves all three — and the next client too.

WhatsApp, Instagram and Messenger in the same payload format

Official and unofficial with the same SDK and the same webhook

The choice is per instance — migrate without rewriting anything

SDKs in PHP and JavaScript

See the code — incoming event and handler →Hide the code

The incoming event — only the provider field changes

```
{
  "object": "wame",
  // whatsapp | instagram | messenger
  "provider": "instagram",
  "entry": [{
    "id": "<instance-id>",
    "changes": [{
      "field": "messages",
      "value": {
        "messages": [{
          "from": "5511999990000",
          "type": "text",
          "text": { "body": "Hi! 👋" }
        }]
      }
    }]
  }]
}
```

Your side of it — one module for all three

```
// One module. Every project you deliver reuses it.
export function wameWebhook(req, res) {
  const { provider, entry } = req.body;
  const msg = entry[0].changes[0].value.messages?.[0];
  if (!msg) return res.sendStatus(200);

  onIncomingMessage({
    channel: provider,   // whatsapp | instagram | messenger
    from: msg.from,
    text: msg.text?.body,
  });

  res.sendStatus(200);
}
```

[All events →](https://api-wa.me/en/docs/webhooks)[JavaScript SDK →](https://api-wa.me/en/docs/sdk/ts)[PHP SDK →](https://api-wa.me/en/docs/sdk/php)

Partner Program

## From fixed scope to recurring revenue

Volume pricing, a single consolidated monthly invoice and Enterprise permissions on every instance. From 20 instances, no lock-in.

### Price per instance/month

The more clients you connect, the less you pay for each one.

20–99 instancesBRL 28.00

100–299 instancesBRL 24.00

300–799 instancesBRL 20.00

800+ instances[Talk to us](https://wa.me/556697145103?text=Hi!%20I%20run%20a%20software%20house%20and%20I%27d%20like%20to%20know%20about%20WAME%27s%20Partner%20Program.)

[Become a partner](https://wa.me/556697145103?text=Hi!%20I%20run%20a%20software%20house%20and%20I%27d%20like%20to%20know%20about%20WAME%27s%20Partner%20Program.)[Prefer email? Talk to sales →](https://api-wa.me/en/contact)

### Model your recurring revenue

What the client base you already have would bring in monthly with the channel switched on.

Clients with the channel activeWhat you charge per client (BRL/month)

Your cost

BRL1,400.00

Your revenue

BRL3,450.00

Your margin

BRL2,050.00

That is BRL 24,600.00 over 12 months — recurring, with no new project to deliver.

Tier applied: 20–99 instances at BRL 28.00 per instance/month. Platform cost only. On official instances, conversations are billed separately by Meta, straight to your client's account.

Small client and large client

## The choice is per client, not per vendor

You do not need two vendors to serve two sizes of client. Same platform, same SDK, same webhook.

### Official API (Meta)

For the client who needs a contract, scale and the number under their own name.

- No risk of the number being blocked
- Coexistence: your client keeps replying from the phone
- Instagram and Messenger on the same instance

### Unofficial API (QR code)

For the small client who wants to start today with no per-conversation cost.

- Connects by scanning a QR code, no approval
- No per-conversation charge from Meta
- Buttons, lists, polls, groups and Pix in the message

Moving a client from one to the other does not rewrite your code: the instance changes, the handler stays the same.

## Before you ask

### What if the client wants to take their number and leave?

The number belongs to the client, and that does not change. On the official API the account is created in their own Business Manager, so they can leave whenever they want — including leaving you. It is an awkward thing to say on a sales page, but it is what separates a partner from a hostage: whoever stays, stays by choice.

### Can I run it under the client's company or does it have to be mine?

Either works. On the official API the WhatsApp account sits in the client's Business Manager while the instance sits in your partner account — they own the number, you own the operation. If you would rather keep everything under your own name, that works too.

### Who supports the end client when something breaks?

You do — it is your brand in front. But the people supporting you are the ones who build the platform, directly, not a tier-1 agent reading a script. Channel failures, odd webhook behaviour and payload questions reach whoever touches the code.

### Can the client be unaware that WAME exists?

Yes. Everything is managed through the API, inside your onboarding and your billing. The client sees WhatsApp working in the system you delivered; there is no dashboard of ours in front of them.

### I only have 3 clients asking for WhatsApp today. Is it worth it?

Not for the partner program yet — that starts at 20 instances. But you can use the platform per client right away and join the program once the volume is there. The code does not change; the invoice does.

### What if I already have an unofficial integration running?

No need to throw it away. Official and unofficial share the same SDK and the same webhook format, and the choice is per instance. Put new clients on the official API and migrate the older ones at your own pace, without rewriting the handler.

## Ship WhatsApp inside your client's project without becoming an integration company

One SDK, three channels, one webhook — and a revenue line that does not end when the project does.

[Talk to the partner team](https://wa.me/556697145103?text=Hi!%20I%20run%20a%20software%20house%20and%20I%27d%20like%20to%20know%20about%20WAME%27s%20Partner%20Program.)

[Got your own product? See the CRM and SaaS page](https://api-wa.me/en/whatsapp-api-para-crm-e-saas)[About the official API](https://api-wa.me/en/oficial)[API reference](https://api-wa.me/en/docs/api)[Public uptime](https://wame.statuspage.io/)

## Structured data

```json
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "WAME API",
  "alternateName": "Official and Unofficial API for WhatsApp, Instagram and Messenger",
  "url": "https://api-wa.me",
  "inLanguage": "pt-BR",
  "publisher": {
    "@id": "https://api-wa.me/#organization",
    "@type": "Organization",
    "name": "WAME API",
    "url": "https://api-wa.me"
  }
}
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://api-wa.me/#organization",
  "name": "WAME API",
  "alternateName": [
    "WAME",
    "Wame API",
    "wame.api.br",
    "api-wa.me"
  ],
  "url": "https://api-wa.me",
  "logo": {
    "@type": "ImageObject",
    "url": "https://api-wa.me/images/web-app-manifest-512x512.png",
    "width": 512,
    "height": 512
  },
  "disambiguatingDescription": "WAME API é uma empresa brasileira de software, fundada em 2017 e parceira oficial da Meta (Meta Business Partner), que fornece APIs de WhatsApp, Instagram Direct e Messenger. Não tem relação com o wa.me, que é o encurtador de links operado pela WhatsApp LLC.",
  "identifier": {
    "@type": "PropertyValue",
    "propertyID": "INPI-BR",
    "name": "Pedido de registro de marca (INPI, classe NCL 42)",
    "value": "944724159"
  },
  "foundingDate": "2017",
  "slogan": "Official Meta Partner — WhatsApp, Instagram and Messenger in a single instance. Since 2017.",
  "description": "Brazilian platform and Official Meta Partner (Meta Business Partner) for the official WhatsApp (Cloud API), Instagram Direct and Messenger APIs — all three in a single instance, with the same endpoints and one webhook format. Also offers the unofficial QR Code API on the same platform. On the market since 2017, with over 50,000 instances created, 99.9% uptime and 24/7 human support. Official SDKs for Node.js/TypeScript and PHP.",
  "knowsAbout": [
    "WhatsApp Cloud API oficial (Meta)",
    "API oficial de Instagram (Direct)",
    "API oficial de Messenger",
    "API multicanal Meta",
    "Meta Business Partner",
    "WhatsApp API",
    "API não oficial de WhatsApp",
    "automação de WhatsApp",
    "números virtuais",
    "webhooks"
  ],
  "sameAs": [
    "https://github.com/wame-api",
    "https://www.linkedin.com/company/wameapi",
    "https://www.instagram.com/wame.api/",
    "https://www.youtube.com/@wameapi"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "customer support",
    "url": "https://api-wa.me/contact",
    "availableLanguage": [
      "Portuguese"
    ]
  }
}
{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "WhatsApp API for software houses — ship the channel inside your client's project",
  "serviceType": "API de mensageria white-label para software house",
  "description": "Software houses: stop rebuilding the WhatsApp integration on every project. One SDK, three official Meta channels and one webhook — plus a monthly fee of your own on top of each client. Partner Program from 20 instances, no lock-in.",
  "url": "https://api-wa.me/en/api-whatsapp-para-software-house",
  "provider": {
    "@type": "Organization",
    "name": "WAME API",
    "url": "https://api-wa.me",
    "description": "Meta Business Partner para as APIs oficiais de WhatsApp Cloud API, Instagram Direct e Messenger."
  },
  "inLanguage": "en",
  "audience": {
    "@type": "BusinessAudience",
    "name": "Software houses, fábricas de software e agências de desenvolvimento que entregam sistemas sob medida"
  },
  "offers": {
    "@type": "AggregateOffer",
    "priceCurrency": "BRL",
    "lowPrice": 20,
    "highPrice": 28,
    "offerCount": 4,
    "eligibleQuantity": {
      "@type": "QuantitativeValue",
      "minValue": 20,
      "unitText": "instances"
    },
    "offers": [
      {
        "@type": "Offer",
        "name": "20–99 instances",
        "price": 28,
        "priceCurrency": "BRL",
        "url": "https://api-wa.me/en/api-whatsapp-para-software-house",
        "availability": "https://schema.org/InStock",
        "eligibleQuantity": {
          "@type": "QuantitativeValue",
          "minValue": 20,
          "maxValue": 99,
          "unitText": "instances"
        },
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": 28,
          "priceCurrency": "BRL",
          "unitText": "instância por mês",
          "billingIncrement": 1
        }
      },
      {
        "@type": "Offer",
        "name": "100–299 instances",
        "price": 24,
        "priceCurrency": "BRL",
        "url": "https://api-wa.me/en/api-whatsapp-para-software-house",
        "availability": "https://schema.org/InStock",
        "eligibleQuantity": {
          "@type": "QuantitativeValue",
          "minValue": 100,
          "maxValue": 299,
          "unitText": "instances"
        },
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": 24,
          "priceCurrency": "BRL",
          "unitText": "instância por mês",
          "billingIncrement": 1
        }
      },
      {
        "@type": "Offer",
        "name": "300–799 instances",
        "price": 20,
        "priceCurrency": "BRL",
        "url": "https://api-wa.me/en/api-whatsapp-para-software-house",
        "availability": "https://schema.org/InStock",
        "eligibleQuantity": {
          "@type": "QuantitativeValue",
          "minValue": 300,
          "maxValue": 799,
          "unitText": "instances"
        },
        "priceSpecification": {
          "@type": "UnitPriceSpecification",
          "price": 20,
          "priceCurrency": "BRL",
          "unitText": "instância por mês",
          "billingIncrement": 1
        }
      }
    ]
  }
}
{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How it fits the system you deliver",
  "description": "The end client never sees WAME. They see WhatsApp working inside the system you built.",
  "inLanguage": "en",
  "totalTime": "PT30M",
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "You create the instance through the API",
      "text": "Create, activate, deactivate and delete are your calls. Provisioning happens inside your own onboarding — nobody opens a dashboard of ours.",
      "url": "https://api-wa.me/en/api-whatsapp-para-software-house#passo-1"
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "Your client connects their account",
      "text": "Secure login through Meta itself on the official API, or a QR code on the unofficial one. They pick WhatsApp, Instagram and/or Messenger.",
      "url": "https://api-wa.me/en/api-whatsapp-para-software-house#passo-2"
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "Everything lands on your webhook",
      "text": "All three channels in the same envelope, at the URL you configured. WhatsApp becomes a feature of your system — not a separate project.",
      "url": "https://api-wa.me/en/api-whatsapp-para-software-house#passo-3"
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "inLanguage": "en",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What if the client wants to take their number and leave?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The number belongs to the client, and that does not change. On the official API the account is created in their own Business Manager, so they can leave whenever they want — including leaving you. It is an awkward thing to say on a sales page, but it is what separates a partner from a hostage: whoever stays, stays by choice."
      }
    },
    {
      "@type": "Question",
      "name": "Can I run it under the client's company or does it have to be mine?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Either works. On the official API the WhatsApp account sits in the client's Business Manager while the instance sits in your partner account — they own the number, you own the operation. If you would rather keep everything under your own name, that works too."
      }
    },
    {
      "@type": "Question",
      "name": "Who supports the end client when something breaks?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "You do — it is your brand in front. But the people supporting you are the ones who build the platform, directly, not a tier-1 agent reading a script. Channel failures, odd webhook behaviour and payload questions reach whoever touches the code."
      }
    },
    {
      "@type": "Question",
      "name": "Can the client be unaware that WAME exists?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes. Everything is managed through the API, inside your onboarding and your billing. The client sees WhatsApp working in the system you delivered; there is no dashboard of ours in front of them."
      }
    },
    {
      "@type": "Question",
      "name": "I only have 3 clients asking for WhatsApp today. Is it worth it?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Not for the partner program yet — that starts at 20 instances. But you can use the platform per client right away and join the program once the volume is there. The code does not change; the invoice does."
      }
    },
    {
      "@type": "Question",
      "name": "What if I already have an unofficial integration running?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No need to throw it away. Official and unofficial share the same SDK and the same webhook format, and the choice is per instance. Put new clients on the official API and migrate the older ones at your own pace, without rewriting the handler."
      }
    }
  ]
}
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "WAME API",
      "item": "https://api-wa.me"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "For teams that build custom software",
      "item": "https://api-wa.me/en/api-whatsapp-para-software-house"
    }
  ]
}
```
