AISARAISAR
All webhooks

Contacts

Contacts merged

contact.merged

Fires when two contacts are merged into one. data.contact is the surviving (target) contact; the contact referenced by merged_from_contact_id no longer exists — update any references in your system to point to data.contact.id.

HTTP request

AISAR sends a signed POST request to your webhook_url:

http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...

{
  "event": "contact.merged",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "contact": {
      "id": 10,
      "display_name": "John Doe",
      "first_name": "John",
      "last_name": "Doe",
      "second_name": null,
      "phone": "+77001234567",
      "email": "john@example.com",
      "status": "lead",
      "company": null,
      "title": null,
      "is_group": false,
      "phones": ["+77001234567"],
      "emails": ["john@example.com"],
      "created_at": "2026-03-26T10:00:00.000000Z"
    },
    "merged_from_contact_id": 25
  }
}

The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.

Example payload

json
{
  "event": "contact.merged",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "contact": {
      "id": 10,
      "display_name": "John Doe",
      "first_name": "John",
      "last_name": "Doe",
      "second_name": null,
      "phone": "+77001234567",
      "email": "john@example.com",
      "status": "lead",
      "company": null,
      "title": null,
      "is_group": false,
      "phones": ["+77001234567"],
      "emails": ["john@example.com"],
      "created_at": "2026-03-26T10:00:00.000000Z"
    },
    "merged_from_contact_id": 25
  }
}

Payload fields

FieldTypeDescription
contactobjectThe contact that survives after the merge (target contact)
contact.idintegerTarget contact ID
merged_from_contact_idintegerID of the contact that was merged in and no longer exists