Skip to Content
API ReferenceWhatsAppQR Codes & Short Links

QR Codes & Short Links

Generate a QR code (or short link) that opens a WhatsApp chat with your number when scanned or tapped, optionally with a pre-filled outgoing message. Useful for receipts, posters, packaging, and in-store signage.

1. Create a QR code

POST /api/v25.0/{PHONE_NUMBER_ID}/message_qrdls Authorization: Bearer pk_live_<your-key> Content-Type: application/json

Request body

{ "prefilled_message": "Hi, I'd like to know more about your Diwali offer", "generate_qr_image": "PNG" }
FieldNotes
prefilled_messageThe text auto-populated in the user’s compose box (≤ 250 chars). Leave empty for an empty compose box
generate_qr_imagePNG, SVG, or omit to skip the image

Response — 200

{ "code": "ABCD1234", "prefilled_message": "Hi, I'd like to know more about your Diwali offer", "deep_link_url": "https://wa.me/message/ABCD1234", "qr_image_url": "https://scontent.fb.com/qr/ABCD1234.png" }
FieldNotes
codeShort opaque code — also the key for the update/delete endpoints below
deep_link_urlThe wa.me/message/… link. Stable for the life of the code
qr_image_urlTemporary URL — download and host the image yourself for long-term use. Expires after ~1 hour

2. List all QR codes on a phone number

GET /api/v25.0/{PHONE_NUMBER_ID}/message_qrdls Authorization: Bearer pk_live_<your-key>

Response — 200

{ "data": [ { "code": "ABCD1234", "prefilled_message": "Hi, I'd like to know more about your Diwali offer", "deep_link_url": "https://wa.me/message/ABCD1234" } ] }

3. Update a QR code (change the prefilled message)

POST /api/v25.0/{PHONE_NUMBER_ID}/message_qrdls/{QR_CODE_ID} Authorization: Bearer pk_live_<your-key> Content-Type: application/json
{ "prefilled_message": "Hi, I'd like to redeem the Diwali coupon" }

The code and deep_link_url stay the same — printed posters keep working, the in-WhatsApp prompt changes.

4. Delete a QR code

DELETE /api/v25.0/{PHONE_NUMBER_ID}/message_qrdls/{QR_CODE_ID} Authorization: Bearer pk_live_<your-key>

Response — 200

{ "success": true }

Once deleted, the wa.me/message/{QR_CODE_ID} link returns a “this link isn’t available” page in WhatsApp. There’s no undelete.

Errors

BodyWhen
(#100) prefilled_message exceeds 250 charactersTrim the message
(#100) Maximum 100 QR codes per phone number reachedDelete unused ones first

cURL

# Create curl -X POST \ "https://api.splashifypro.com/api/v25.0/$PHONE_NUMBER_ID/message_qrdls" \ -H "Authorization: Bearer $SPLASHIFY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prefilled_message": "Hi, I want to book a slot", "generate_qr_image": "PNG" }' # Delete curl -X DELETE \ "https://api.splashifypro.com/api/v25.0/$PHONE_NUMBER_ID/message_qrdls/ABCD1234" \ -H "Authorization: Bearer $SPLASHIFY_API_KEY"

Notes

  • Codes are case-sensitive. Don’t normalise — ABCD1234 and abcd1234 are different codes.
  • Per-phone-number limit: 100. Audit and delete stale codes periodically. The list endpoint paginates if needed.
  • No analytics on scans. Meta does not report scan counts per code; if you need attribution, point the prefilled message at a short URL on your side and log the redirect.