Portal Community
API endpoint: This operation calls GET /{qrCodeId} on the Meta Graph API and returns the full details for the specified QR code. The qrCodeId is the code string returned when the QR code was created.

When to Use

Configuration

Connection

FieldRequiredDescription
accessTokenRequiredPermanent System User access token. Store in BizFirst Credentials Manager.
phoneNumberIdRequiredNumeric string ID of the phone number that owns this QR code.
apiVersionOptionalMeta Graph API version. Defaults to v18.0.

Operation

FieldRequiredDescription
qrCodeIdRequiredThe QR code identifier (the code string returned by qr-code/create).

Sample Configuration

{
  "resource": "qrcode",
  "operation": "get",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "qrCodeId": "{{ $input.qrCode }}"
}

Validation Errors

ErrorCause
accessToken is requiredThe accessToken field is empty.
phoneNumberId is requiredNo Phone Number ID supplied.
qrCodeId is requiredNo QR code identifier provided.
100 (Meta)QR code not found — the code identifier does not exist or has been deleted.
200 (Meta)Insufficient permissions to read this QR code.

Output

Success Port

FieldTypeDescription
codestringThe QR code identifier.
prefilledMessagestringThe prefilled message text currently stored for this QR code.
deepLinkUrlstringThe https://wa.me/qr/{code} deep link URL.
qrImageUrlstringHosted URL of the QR code image. May be null if no image was generated.
statusstring"success".
rawResponsestringFull raw JSON from the Meta Graph API.

Error Port

FieldTypeDescription
codestringThe QR code identifier echoed from input.
statusstring"failed" or "error".
errorCodestringMeta error code or "timeout".
errorMessagestringHuman-readable error description.

Sample Output

{
  "code": "4RNL66ENMHZJ7A1",
  "prefilledMessage": "Hi! I'd like to know more about your summer sale.",
  "deepLinkUrl": "https://wa.me/qr/4RNL66ENMHZJ7A1",
  "qrImageUrl": "https://scontent.whatsapp.net/v/qr/4RNL66ENMHZJ7A1.png",
  "status": "success"
}

Expression Reference

ValueExpressionNotes
Prefilled message{{ $output.getQr.prefilledMessage }}Compare against expected text to detect unauthorised modifications.
Deep link URL{{ $output.getQr.deepLinkUrl }}Use dynamically in web pages or emails to display an up-to-date chat link.
QR image URL{{ $output.getQr.qrImageUrl }}Use as an image source in print PDFs or marketing emails.

Node Policies & GuardRails

Policy AreaRecommendation
Credential storageStore the access token in BizFirst Credentials Manager.
Image URL persistenceQR image URLs may not be permanent. Download the image to your own CDN storage on creation rather than relying on qrImageUrl long-term.
Error portConnect the error port. A 100 not-found error is expected if the QR code has been deleted — handle this case in the error branch to avoid downstream failures.
Rate limitingDo not query individual QR codes in a tight loop. Use qr-code/getMany to retrieve all codes at once if auditing more than a handful.

Examples

Campaign Asset Retrieval for Print

{
  "resource": "qrcode",
  "operation": "get",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "qrCodeId": "{{ $input.campaignQrCode }}"
}

A print production workflow queries the QR code details for a campaign stored in the database. The qrImageUrl is passed to a PDF builder node which embeds it in the print layout. The deepLinkUrl is added as a hyperlink to the digital version of the same document.

Pre-Update Content Check

{
  "resource": "qrcode",
  "operation": "get",
  "accessToken": "{{ $credentials.whatsAppToken }}",
  "phoneNumberId": "123456789012345",
  "qrCodeId": "{{ $item.qrCode }}"
}

Before a scheduled message refresh, this node retrieves the current prefilled text. An IfCondition compares {{ $output.getQr.prefilledMessage }} against the new intended message — if they match, the update is skipped. If different, the workflow proceeds to qr-code/update.