---
title: "Send WhatsApp conversion event — estimate"
method: POST
path: "/v1/messaging/whatsapp/conversions/estimate"
tags: ["WhatsApp"]
---

# Send WhatsApp conversion event — estimate

`POST /v1/messaging/whatsapp/conversions/estimate`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/messaging/whatsapp/conversions/estimate`
- Auth: HTTP bearer

Price the request without executing it. Same body as `POST /v1/messaging/whatsapp/conversions`.

## Request body

- object: In addition to the `required` list, at least one of `conversationId` or `phoneE164` must be supplied (used to resolve the originating CTWA conversation). The route enforces this at the Zod boundary; OpenAPI's `required` cannot express OR-required cleanly.
  - `email` string, email: User email. Normalized + SHA-256 hashed before sending to Meta.
  - `value` number: Conversion value (e.g. order total).
  - `eventId` string, required: Stable dedup key. Reuse to suppress duplicate events (Meta dedupes against pixel events with the same id).
  - `currency` string: ISO 4217 currency code (e.g. `USD`).
  - `testCode` string: Meta `test_event_code` passthrough. Routes the event to the Test Events tab in Events Manager instead of the production dataset, useful for development.
  - `accountId` string, required: WhatsApp SocialAccount ID.
  - `eventName` 'LeadSubmitted' | 'Purchase' | 'AddToCart' | 'InitiateCheckout' | 'ViewContent', required: Live-verified allowlist of event names accepted by Meta's CAPI for Business Messaging (Graph API v25.0). Other standard pixel events including `Lead`, `CompleteRegistration`, `Subscribe`, `Schedule`, `Contact`, `StartTrial`, `AddPaymentInfo`, `Search`, and `SubmitApplication` are rejected with subcode 2804066 ("Messaging Event Invalid Event Type") on `action_source = business_messaging` events. Custom event names are also rejected. Use `LeadSubmitted` (NOT `Lead`) for lead-style conversions.
  - `eventTime` number: Unix seconds. Defaults to the time of the request when omitted. Meta's attribution window is 7 days from click; events older than that lose attribution.
  - `phoneE164` string: Contact phone number, digits only with no '+'. When used in lieu of `conversationId`, the handler resolves to the most recent CTWA-attributed conversation for this phone on the supplied account.
  - `contentIds` string[]: Optional product / content identifiers.
  - `externalId` string: Stable customer identifier. Lowercased + SHA-256 hashed before sending to Meta.
  - `conversationId` string: Zernio Conversation `_id` (preferred lookup). The conversation must have a captured `ctwa_clid` in metadata (set automatically by the WhatsApp webhook on the first inbound message after a CTWA ad click).

## Response `200`

Estimate

- Estimate
  - `operation` string
  - `estimated_credits` number
  - `credits_to_reserve` number
  - `estimated_usage` object
  - `note` string, nullable
  - `balance` object
    - `available` number
  - `sufficient` boolean

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
