Connect a WhatsApp Number by Code or QR
Everything starts with a linked number: a QR code or a pairing code, a session Wapito keeps alive, and a webhook telling you what state it is in. No business verification, no Meta review, any number.
Can the official WhatsApp Cloud API do this?
No. Meta registers the number and takes it off the app.
Read the full comparisonHow it works
Read the state, request a pairing code, use the QR only as a fallback, and drive everything else from the channel webhook.
Check the channel state
Read the state before you ask for anything. A code can only be issued while the session is waiting to be linked, so polling for one against a connected channel just produces errors.
API reference for this stepRequest a pairing code
Ask for a code for the number you intend to link, and have the person type it into the linked-devices screen on that phone. Codes expire quickly, so request one while they are already looking at the phone.
API reference for this stepFall back to a QR if you need to
The QR refreshes every few seconds, so stream it to the browser rather than emailing a screenshot. New-device QR linking has been unreliable across engines since mid-2026, which is why the code is the primary path.
API reference for this stepWatch the connection over the webhook
Every state change arrives as an event carrying the new state, the previous one and a reason. A ban needs a human and a restart does not, so branch on the reason rather than treating every disconnect the same.
curl --request GET \
--url https://api.wapito.com/v1/channel \
--header 'Authorization: Bearer wpt_YOUR_TOKEN'Endpoints
- GET
/channelGet channel status and settings - POST
/channel/pairing-codeRequest a pairing code for a number - GET
/channel/qrGet the pairing QR code - GET
/channel/healthCheck channel and engine health - GET
/channel/limitsGet quotas, warm-up and timelock state - PATCH
/channel/settingsUpdate channel settings - POST
/channel/logoutLog the number out of the channel
Webhook events
channelChannel connection state changedonChannel()
What you can build with it
- Automate the number customers already know
A shop that has printed its WhatsApp number on every receipt for five years links that same number, so the history, the saved contacts and the reputation come with it instead of starting again on a number nobody recognises.
- Onboard a client without a screen share
An agency reads the pairing code over the phone to a client who types it on their own handset, which takes under a minute and avoids photographing a QR from a laptop screen that refreshes while they aim the camera.
- Monitor session health in production
An operations dashboard polls the health endpoint and subscribes to the channel webhook, so an unlinked device raises an alert within seconds rather than being discovered when a customer complains that nobody replied.
What the official WhatsApp Cloud API does here
Meta's official WhatsApp Cloud API is built for business messaging: templates, customer-service windows and per-conversation pricing. A large part of what WhatsApp itself can do — groups, channels, status, presence, contact lookups — has no endpoint there at all, which is why so many teams end up looking past it. Everything below is checked against Meta's own published reference, with the link and the date we checked it.
Restricted on the Cloud API
No. Meta registers the number and takes it off the app.
On the official platform a number is registered with Meta rather than paired from a phone, and Meta's own documentation is explicit that a registered number can no longer be used with WhatsApp Messenger. Advanced access generally requires business verification as well, so the number, the onboarding and the ownership are all different in kind.
"Registered numbers can still be used for everyday purposes, such as calling and text messages, but cannot be used with WhatsApp Messenger." (verbatim)
The official workaround
Register a second, dedicated number with Meta and keep the human-facing one on the phone. That is a real answer for many businesses - it just is not the same thing as automating the number your customers already message.
Wapito is an independent product. It is not affiliated with, endorsed by, sponsored by or certified by WhatsApp or Meta Platforms, Inc. WhatsApp is a trademark of Meta Platforms, Inc.
Gotchas
- WhatsApp drops a linked device if the phone has not been seen for roughly two weeks, so the phone has to stay charged and online - act on the reminders before the deadline rather than re-pairing afterwards.
- A pairing code is short-lived and single-use. Request it when the person is already on the linked-devices screen, not in advance, or it will have expired by the time they look.
Tutorials by language
Frequently asked questions
Should I use a pairing code or a QR?
A pairing code, in almost every case. It can be read aloud, pasted into a chat or typed from a support ticket, and it does not depend on a camera pointed at a refreshing image. QR linking of new devices has also been unreliable across engine libraries since mid-2026, so treat it as the fallback.
Can I keep using WhatsApp on the phone afterwards?
Yes - that is the central difference from the official platform. Wapito links a companion device, exactly like WhatsApp Web, so the human keeps their app, their chats and their history while your automation works alongside them on the same number.
What happens if the session drops?
The channel webhook fires with the new state, the previous state and a reason. A transient engine restart reconnects by itself; a logout by the phone's owner or a ban does not, and both need a person. Branch on the reason rather than retrying blindly into a session that is gone.
Can one phone number be linked to two channels?
A phone supports several linked devices, and a Wapito channel occupies one of those slots, so in principle yes - but running two automations against one number is a good way to double-send and to confuse your own records. Use one channel per number unless you have a specific reason.
Related
Try it on your own number
Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.