A contact is an entity that links a user and a customer. It serves as a "contact card" that stores information about the customer, including:
When using the methods listed below, include the end‑customer's client_access_token (obtained via simplified authorization or OAuth) in the request header: Authorization: Bearer <client_access_token>
GET /v2/contacts — Retrieve a list of contactsGET /v2/contacts/{contact_id} — Retrieve contact information by IDPOST /v2/contacts — Add contactsPATCH /v2/contacts — Update contactsDELETE /v2/contacts — Delete contactsThis section describes the parameters used when creating or updating a contact, as well as those returned in API responses.
Depending on the method, these parameters may be nested within a contacts or data object — see the request and response examples for each method for details.
Contact │ ├── id * ├── responsible_user_id * ├── name * ├── contact_data[] * │ ├── chat_type * │ ├── chat_id * │ ├── username │ └── phone └── uri *
| Parameter. Required are marked with * | Type | Description |
id* |
string |
Contact ID. Located in the contacts or data object depending on the method |
responsible_user_id* |
string |
ID of the user responsible for the contact. Located in the contacts or data object depending on the method |
name* |
string |
Contact name. Located in the contacts or data object depending on the method |
contact_data* |
array(object) contact_data |
Contact data. Located in the contacts or data object depending on the method |
uri* |
string |
Link to the contact in the CRM |
| Parameter. Required are marked with * | Type | Description |
chat_type* |
string |
Chat type. Supported values:
|
chat_id* |
string |
Chat identifier — the contact's account in the messenger. The format depends on the chat type:
|
username |
string |
For Telegram only. Telegram username without the @ symbol. Use this when sending messages via Telegram if the chat_id is unknown |
phone |
string |
For Telegram and MAX only. Contact's phone number in international format, without the + or any other symbols: only digits with the correct country code. Can be used when sending messages via Telegram if the chat_id is unknown |
Use this method to send information about a new contact to Wazzup.
POST /v2/contactsRequest parameters
Parameters are described in the Contact Model section above. Pass them inside a contacts object.
Example:
curl -L 'https://tech.wazzup24.com/v2/contacts' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"contacts": [
{
"id": "contacts1",
"responsible_user_id": "1",
"name": "TestContact",
"contact_data": [
{
"chat_type": "whatsapp",
"chat_id": "79999999999"
}
],
"uri": "https://example.com/contact/1"
}]
}'
Response example:
{
"data": {
"processed": 1
},
"meta": {
"timestamp": 1759495852
}
}
Result: The contact (or list of contacts) has been added.
This method returns a list of contacts that have already been added to Wazzup.
GET /v2/contactsRequest example:
curl -L 'https://tech.wazzup24.com/v2/contacts?offset=0&limit=100' \ -H 'Authorization: Bearer <client_access_token>'
Response example:
{
"data": [
{
"id": "contacts1",
"name": "TestContact",
"responsible_user_id": "1",
"contact_data": [
{
"chat_type": "whatsapp",
"chat_id": "37199999999",
"username": "",
"phone": ""
}
],
"uri": "/api/v2/contacts/contacts1"
}
],
"meta": {
"timestamp": 1759496601
}
}
Result: A list of all previously created contacts.
GET /v2/contacts/{contact_id}Path parameterscontact_id — Contact ID in the CRM.
Request Example:
curl -L 'https://tech.wazzup24.com/v2/contacts/contacts1' \ -H 'Authorization: Bearer <client_access_token>'
Response example:
{
"data": [
{
"id": "contacts1",
"name": "TestContact",
"responsible_user_id": "1",
"contact_data": [
{
"chat_type": "whatsapp",
"chat_id": "37199999999",
"username": "",
"phone": ""
}
],
"uri": "/api/v2/contacts/contacts1"
}
],
"meta": {
"timestamp": 1759496601
}
}
Result: Returns the contact with ID contacts1, if it exists.
This method allows you to update information about contacts that have already been added to Wazzup — for example, when a contact's name is changed in your CRM.
PATCH /v2/contactsRequest Example:
curl -L -X PATCH 'https://tech.wazzup24.com/v2/contacts' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"contacts": [
{
"id": "contacts1",
"responsible_user_id": "1",
"name": "NewContactName",
"contact_data": [
{
"chat_type": "whatsapp",
"chat_id": "37199999999"
}
],
"uri": "https://example.com/contact/123"
}
]
}'
Response example:
{
"data": {
"processed": 1
},
"meta": {
"timestamp": 1759495852
}
}
Result: If the contact exists, its information has been updated.
DELETE /v2/contactsRequest body parameters
In the request body, provide an array of contact_ids containing the IDs of the contacts to be deleted.
Example:
curl -L -X DELETE 'https://tech.wazzup24.com/v2/contacts' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"contact_ids": [
"contacts1"
]
}'
Response example:
{
"data": null,
"meta": {
"timestamp": 1759393502
}
}
Result: Contact id: contacts1 has been deleted.