QuickLink
One link connects their own number
Stop walking customers through pairing. Create a hosted link with one API call and send it. They confirm their number, connect by QR code, pairing code or Embedded Signup, and the number joins your project.
- Ways to connect: QR, pairing code, Embedded Signup
- 3
- How long a link stays open
- Until used
- Statuses you can poll
- 6
- Page languages, English and Portuguese
- 2
How it works
No pairing screen to build.
Polymorfa hosts the page that confirms the phone and runs the pairing. Your code creates the link and reads the result.
Create the link. One call returns a URL that stays open until the number connects or you cancel it. They connect. The phone holder confirms the number, then scans a QR code, types a pairing code or completes Embedded Signup. You get the number. It joins your project. The link reads connected, the page returns to your success URL and session.connected fires.
Browser Tunnel
Pairing from their own network.
WhatsApp checks the network a new linked device pairs from, and data-center addresses can fail that check. QuickLink sends the pairing handshake through the recipient's browser, so it leaves from their connection.
- Works for QR codes and pairing codes
- The browser relays encrypted frames and never holds the keys
- Nothing to install for the person pairing
Routes you allow
Choose the route, or let them choose.
Set a preferred connection per link, and whether it is only a preference or the one route allowed.
Your rules
The right number, on your page.
Lock the expected phone, test without a real number, brand the page and send people back to your app.
- Business name, headline, logo, accent, theme and corners
- English or Brazilian Portuguese, from the browser language
- Branded QuickLink removes Powered by Polymorfa and uses your own Meta app
In your code
Onboarding in a few lines.
Create the link where your onboarding already happens, then react when the number connects. Real numbers need a Pay-As-You-Go team. Test-number links work on Free.
import { MessagingClient } from "@polymorfa/sdk";
const messaging = new MessagingClient({
credential: { type: "apiKey", value: process.env.POLYMORFA_KEY! },
});
const created = await messaging.quickLinks.create(
{
projectId,
externalId: "crm-account-42",
configuration: {
prefillPhone: "+5511912345678",
connectionPreference: "linked",
connectionEnforcement: "prefer",
methods: ["qr", "pairing"],
},
},
{ idempotencyKey: "connect-crm-account-42" },
);
await sendToAccountOwner(created.data.data.url);API surface
The QuickLink API.
Creating, reading and cancelling links needs quicklink:manage. Page text, branding and callbacks are saved settings on the Platform API.
Links
- POST
/Create a link for one numbermessaging/ quicklinks - GET
/Read its statusmessaging/ quicklinks/ {id} - DELETE
/Cancel itmessaging/ quicklinks/ {id} - GET
/Check whether a number can add a connectionmessaging/ quicklinks/ availability - POST
/Renew Meta credentials with a new linkmessaging/ {session}/ cloud-credentials/ reauthorize - PUT
/Save page text, branding and callbacksplatform/ quicklink
Webhook events
- Event
session.connectedThe new number is online - Event
session.statusThe number's connection changed - Event
history.syncChat history from the connected number - Event
customer.pairing_link.connectedA customer's pairing link connected
Start with a free number
Your first real number is free. Add more numbers on Pay-As-You-Go.