Portal Community

create-catalog

Creates a product catalog under a business account.

FieldRequiredDescription
businessAccountId✓ YesWABA/business account ID.
name✓ YesCatalog name.

get-catalog

Fetches a catalog by ID.

FieldRequiredDescription
catalogId✓ YesCatalog ID.

list-catalogs

Lists catalogs for a business account.

FieldRequiredDescription
businessAccountId✓ YesWABA/business account ID.

delete-catalog

Deletes a catalog.

FieldRequiredDescription
catalogId✓ YesCatalog ID.

add-product

Adds a product to a catalog.

FieldRequiredDescription
catalogId✓ YesCatalog ID.
name✓ YesProduct name.
descriptionNoProduct description.
priceNoPrice (numeric string, minor units per catalog config).
currencyNoISO currency code, e.g. USD.
imageUrlNoProduct image URL.

get-product

Fetches a single product.

FieldRequiredDescription
productId✓ YesProduct ID.

list-products

Lists products in a catalog.

FieldRequiredDescription
catalogId✓ YesCatalog ID.
limitNoPage size.
cursorNoPagination cursor from a previous response.

update-product

Updates product fields.

FieldRequiredDescription
productId✓ YesProduct ID.
nameNoUpdated name.
descriptionNoUpdated description.
priceNoUpdated price.

delete-product

Removes a product from its catalog.

FieldRequiredDescription
productId✓ YesProduct ID.

create-collection

Creates a named collection (curated product grouping) within a catalog.

FieldRequiredDescription
catalogId✓ YesCatalog ID.
name✓ YesCollection name.
productIdsNoComma-separated product IDs to include.

update-collection

Updates a collection's name or product membership.

FieldRequiredDescription
collectionId✓ YesCollection ID.
nameNoUpdated name.
productIdsNoUpdated comma-separated product IDs.

delete-collection

Deletes a collection.

FieldRequiredDescription
collectionId✓ YesCollection ID.

send-single-product

Sends a single-product message (product card) in a chat.

FieldRequiredDescription
to✓ YesRecipient phone number.
catalogId✓ YesCatalog the product belongs to.
productRetailerId✓ YesMerchant's own SKU/retailer ID for the product.
bodyTextNoMessage body text above the product card.
footerTextNoFooter text below the product card.

send-multi-product

Sends a multi-product message with sectioned product lists.

FieldRequiredDescription
to✓ YesRecipient phone number.
catalogId✓ YesCatalog the products belong to.
sectionsJson✓ YesJSON array of sections, each listing product retailer IDs.
headerTextNoHeader text.
bodyTextNoBody text.
footerTextNoFooter text.

send-product-template

Sends an approved message template that references a specific catalog product.

FieldRequiredDescription
to✓ YesRecipient phone number.
templateName✓ YesApproved template name.
languageCode✓ YesTemplate language/locale code.
catalogId✓ YesCatalog the product belongs to.
productRetailerId✓ YesMerchant's retailer ID for the featured product.

enable-commerce

Turns on cart/catalog visibility for the sending number.

FieldRequiredDescription
enableCartNoBoolean — enables the in-chat cart.
catalogVisibleNoBoolean — makes the catalog visible/browsable in-chat.

get-commerce-settings

Returns current cart/catalog visibility settings for the sending number.

No fields beyond the shared credential pair.

receive-order

Parses an inbound WhatsApp Commerce order payload (already received via webhook) into a structured order.

FieldRequiredDescription
webhookPayload✓ YesRaw JSON payload containing the order (from Meta's webhook delivery).
Catalog-scoped vs. phone-scoped: catalog/product/collection management (create-catalog through delete-collection) only needs accessToken — they act on IDs owned by the business, not a specific phone number. Sending product messages (send-single-product, send-multi-product, send-product-template) and enable-commerce / get-commerce-settings need both accessToken and phoneNumberId.
receive-order is a parser, not a live webhook receiver: this operation synchronously parses a webhookPayload string you already have (e.g. captured by an upstream HTTP-trigger node) — it makes no outbound API call. It does not itself listen for Meta's webhook deliveries; that piece is covered under the pending Trigger operations in Roadmap.

Example receive-order output:

{
  "success": true,
  "orderId": "wamid.HBg...",
  "catalogId": "1234567890",
  "customerPhone": "14155551234",
  "text": "Here's my order",
  "items": [
    { "productRetailerId": "sku-001", "quantity": 2, "itemPrice": "19.99", "currency": "USD" }
  ],
  "itemCount": 1,
  "totalAmount": "39.98",
  "currency": "USD",
  "status": "ok"
}