Skip to content

Platform mode overview

If you’re building a SaaS that resells WhatsApp messaging to your own clients — a CRM for logistics companies, a helpdesk for retail brands, an agency managing 200 client inboxes — platform mode gives each of your tenants a first-class home on Kirimdev.

Each end-customer:

  • Connects their own WhatsApp Business number via Meta Embedded Signup
  • Keeps their own inbox, contacts, and message history
  • Gets attributed back to your organization via every API response
  • Stays cleanly isolated when archived

…all under your single Kirimdev integration.

Each row owns the rows nested beneath it. Soft delete cascades inward (archive a customer → its accounts remain); hard delete never happens.

LayerExamplePublic idOwns
Organization”Your Platform Inc”org_…Teams
└─ Team”Operations”(internal)Customers + direct-org accounts
    └─ Customer”Acme Logistics — Jakarta”cus_…One or more WhatsApp accounts
        └─ WhatsApp account+6281-1111-1111phone_number_idConversations, contacts, messages
LayerOwnsAPI surface
OrganizationYour platform’s Kirimdev account/v1/me
TeamAn operations unit inside the orgReturned in /v1/me
CustomerYour end-tenant (logistics company, store, agency, …)/v1/customers
WhatsApp accountA single phone number a customer owns/v1/accounts
Conversation / Message / ContactCustomer’s chats and partners/v1/{phone_number_id}/...

Good fits

  • A SaaS automating reminders for 200+ tenant businesses, each with their own number
  • An agency managing WhatsApp for 50 client brands
  • An e-commerce platform sending order updates from each store’s own number
  • A helpdesk where every business owns their support number

Don't use it for

  • A single in-house team running their own numbers — just connect them under your Team directly, no Customer layer needed
  • WhatsApp chat partners — those go to contacts
SurfaceWhere
Public REST API (/v1/customers/*)Same auth and conventions as the rest of /v1 — bearer token, idempotency keys, error envelope
Onboarding page ({APP_URL}/onboard/{token})Branded landing page your end-customer opens to complete Meta Embedded Signup
TypeScript SDK (kirim.customers)@kirimdev/sdk ≥ 3.3
Webhook eventsSix customer.* event types
MCP server toolsFive customer-scoped tools for AI agent integration
Dashboard pages/customers list + detail in the operator dashboard

Quickstart

Five minutes from kirim.customers.create({...}) to a tenant sending their first message. Open quickstart

Customers

Concept reference — fields, status transitions, multi-team resolution. Read customers

Setup links

How tokens are minted, stored, expired, and consumed — plus the security model. Read setup links

Onboarding flow

The end-to-end sequence diagram from POST /setup_links to customer.onboarded. Read flow

Redirect URLs

Stripe Connect-style return URLs that bounce the tenant back to your own UI. Read redirects

Webhooks

Six customer.* events with realistic sample payloads. Read webhooks

Start the quickstart →