> ## Documentation Index
> Fetch the complete documentation index at: https://onextel-09023014.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Callback: URL Click

> Callback payload structure for WhatsApp URL click tracking events, including browser, device, campaign, link, and recipient metadata.

When an end user clicks a tracked URL in a WhatsApp message, the OneXtel platform
posts a URL Click callback to your configured endpoint. Unlike the other callback
event types, this payload is a flat JSON object.

<Note>
  The sample below shows a placeholder for each field's value rather than example data.
  All fields are typed as `string`.
</Note>

## Payload format

```json theme={null}
{
  "to_number": "to_number",
  "bot_id": "bot_id",
  "repush_count": "repush_count",
  "waba_id": "waba_id",
  "template_name": "template_name",
  "browser": "browser",
  "track_location": "track_location",
  "ip": "ip",
  "msg_type": "msg_type",
  "custref1": "cust_param_1",
  "custref2": "cust_param_2",
  "operator": "operator",
  "custref3": "cust_param_3",
  "short_url": "short_url",
  "source": "source",
  "is_mmlite": "is_mmlite",
  "clicked_time": "clicked_time",
  "channel": "channel",
  "onex_received_ts": "onex_received_ts",
  "template_category": "template_category",
  "provider_id": "provider_id",
  "circle": "circle",
  "tuc_id": "tuc_id",
  "custref4": "cust_param_4",
  "retry_count": "retry_count",
  "api_key": "api_key",
  "os": "os",
  "uuid": "uuid",
  "campaign_name": "campaign_name",
  "request_time": "request_time",
  "sender_profile": "sender_profile",
  "custref5": "cust_param_5",
  "template_type": "template_type",
  "onex_msg_id": "onex_msg_id",
  "phone_number": "phone_number",
  "billing_category": "billing_category",
  "long_url": "long_url",
  "country_name": "country_name",
  "tenant_id": "tenant_id",
  "campaign_instance_id": "campaign_instance_id"
}
```

## Field reference

### Link and click details

<ResponseField name="short_url" type="string">
  The shortened tracked URL that the user clicked.
</ResponseField>

<ResponseField name="long_url" type="string">
  The full destination URL behind the short URL.
</ResponseField>

<ResponseField name="clicked_time" type="string">
  Time at which the URL was clicked.
</ResponseField>

<ResponseField name="browser" type="string">
  Browser used by the recipient when clicking the URL.
</ResponseField>

<ResponseField name="os" type="string">
  Operating system of the device used to click the URL.
</ResponseField>

<ResponseField name="ip" type="string">
  IP address from which the click originated.
</ResponseField>

<ResponseField name="track_location" type="string">
  Location tracking value for the click.
</ResponseField>

<ResponseField name="country_name" type="string">
  Country associated with the click or recipient.
</ResponseField>

<ResponseField name="circle" type="string">
  Telecom circle (regional zone) of the recipient's number.
</ResponseField>

<ResponseField name="operator" type="string">
  Mobile operator of the recipient's number.
</ResponseField>

### Message and recipient details

<ResponseField name="to_number" type="string">
  Number the original message was sent to.
</ResponseField>

<ResponseField name="phone_number" type="string">
  Phone number field. Use `to_number` for the number the original message was sent to.
</ResponseField>

<ResponseField name="msg_type" type="string">
  Type of the original message.
</ResponseField>

<ResponseField name="channel" type="string">
  Messaging channel of the original message.
</ResponseField>

<ResponseField name="onex_msg_id" type="string">
  OneXtel platform message identifier of the original message.
</ResponseField>

<ResponseField name="uuid" type="string">
  Unique identifier of the event or message.
</ResponseField>

<ResponseField name="request_time" type="string">
  Time of the original send request.
</ResponseField>

<ResponseField name="onex_received_ts" type="string">
  Timestamp at which the OneXtel platform received the event.
</ResponseField>

<ResponseField name="is_mmlite" type="string">
  MM Lite flag for the message.
</ResponseField>

### Template and campaign details

<ResponseField name="template_name" type="string">
  Name of the WhatsApp template used in the original message.
</ResponseField>

<ResponseField name="template_type" type="string">
  Type of the template.
</ResponseField>

<ResponseField name="template_category" type="string">
  Category of the template.
</ResponseField>

<ResponseField name="billing_category" type="string">
  Billing category applied to the message.
</ResponseField>

<ResponseField name="campaign_name" type="string">
  Name of the campaign the message belongs to.
</ResponseField>

<ResponseField name="campaign_instance_id" type="string">
  Identifier of the specific campaign run or instance.
</ResponseField>

### Account and sender details

<ResponseField name="waba_id" type="string">
  WhatsApp Business Account ID.
</ResponseField>

<ResponseField name="bot_id" type="string">
  Identifier of the bot or sender configuration used.
</ResponseField>

<ResponseField name="sender_profile" type="string">
  Sender profile the message was sent from.
</ResponseField>

<ResponseField name="api_key" type="string">
  API key associated with the account that sent the message.
</ResponseField>

<ResponseField name="tenant_id" type="string">
  Tenant identifier on the OneXtel platform.
</ResponseField>

<ResponseField name="provider_id" type="string">
  Identifier of the provider.
</ResponseField>

<ResponseField name="source" type="string">
  Source of the event or message.
</ResponseField>

<ResponseField name="tuc_id" type="string">
  Identifier field. Treat the value as an opaque identifier.
</ResponseField>

### Delivery mechanics

<ResponseField name="repush_count" type="string">
  Number of times the callback has been re-pushed to your endpoint.
</ResponseField>

<ResponseField name="retry_count" type="string">
  Number of retries.
</ResponseField>

### Custom references

`custref1`–`custref5` carry the custom parameters you supply with the original send
request. See
[custom reference passthrough](/api-reference/whatsapp/callback-events#custom-reference-passthrough).

<ResponseField name="custref1" type="string">
  Custom reference field 1, echoed back from the original send request.
</ResponseField>

<ResponseField name="custref2" type="string">
  Custom reference field 2, echoed back from the original send request.
</ResponseField>

<ResponseField name="custref3" type="string">
  Custom reference field 3, echoed back from the original send request.
</ResponseField>

<ResponseField name="custref4" type="string">
  Custom reference field 4, echoed back from the original send request.
</ResponseField>

<ResponseField name="custref5" type="string">
  Custom reference field 5, echoed back from the original send request.
</ResponseField>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.