Arrow
Get started with Wazzup
Arrow
How to connect a messenger
Arrow
How to use Wazzup chats
Arrow
How to pay for the service
Arrow
Bitrix24
Arrow
Kommo
Arrow
Zoho CRM
Arrow
HubSpot
Arrow
Pipedrive
Arrow
Other CRMs
Arrow
How to sell even easier
Arrow
All about WABA
Arrow
For partners
Arrow
Public API
For partners
Arrow

Deals

A deal is an entity that brings together one or more contacts and has an assigned responsible user. In most CRMs, this is referred to as an "order" or a "deal."

For example: a customer reaches out regarding the purchase of new doors and flooring. They have two distinct needs and require assistance from two different managers. In this case, two separate deals should be created — both linked to the same contact but each assigned to a different responsible manager.

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

Methods

Deal Model

This section describes the parameters used when creating or updating deals, as well as those returned in API responses.

All parameters are nested within a deals or data object — see the request and response examples for each method to understand which object is used.

Parameter. Required are marked with * Type Description
id* number Deal ID (max 100 characters). Located in the deals or data object depending on the method
responsible_user_id* string ID of the responsible user. This ensures the conversation is visible to the assigned manager. Located in the deals or data object depending on the method
name* string Deal name (max 200 characters). Located in the deals or data object depending on the method
uri* string Link to the deal in the CRM (max 200 characters). Enables navigation to the deal directly from the list. Located in the deals or data object depending on the method
contacts* object Array of contact IDs associated with the deal. IDs can be strings. Located in the deals or data object depending on the method
closed* boolean Indicates whether the deal is closed: true or false. Located in the deals or data object depending on the method

Adding Deals

Method POST /v2/deals

Parameters are described in the Deal Model section above. Pass them inside a deals object.

Request example:

curl -L 'https://tech.wazzup24.com/v2/deals' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"deals": [
{
"id": "deal1",
"responsible_user_id": "222",
"name": "TestDeal",
"uri": "https://example.com/deal/123",
"contacts": [
"chat1"
],
"closed": false
}
]
}'

Response example:

{
"data": {
"processed": 1
},
"meta": {
"timestamp": 1759495852
}
}

Result: The deal (or list of deals) has been added.

Retrieving a List of Deals

This method returns information about deals that you have previously sent to Wazzup.

Method GET /v2/deals

Request Example:

curl -L 'https://tech.wazzup24.com/v2/deals?offset=0&limit=10' \
-H 'Authorization: Bearer <client_access_token>'

Response example:

{
"data": [
{
"id": "deal1",
"name": "TestDeal",
"responsible_user_id": "222",
"uri": "https://example.com/deal/123",
"contacts": ["chat1"],
"closed": false
}
],
"meta": {
"timestamp": 1759496750
}
}

Result: Returns a list of all deals that have been previously created.

Retrieving a Deal by ID

Method GET /v2/deals/{deal_id}

Path parameters
deal_id — Deal ID in the CRM.

Request Example:

curl -L 'https://tech.wazzup24.com/v2/deals/deal1' -H 'Authorization: Bearer <client_access_token>'

Response example:

{
"data": [
{
"id": "deal1",
"name": "TestDeal",
"responsible_user_id": "222",
"uri": "https://example.com/deal/123",
"contacts": ["chat1"],
"closed": false
}
],
"meta": {
"timestamp": 1759496750
}
}

Result: Returns the deal with id: deal1, if it exists.

Updating Deals

Method PATCH /v2/deals

Request Example:

curl -L -X PATCH 'https://tech.wazzup24.com/v2/deals' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"deals": [
{
"id": "deal1",
"responsible_user_id": "222",
"name": "TestDeal",
"uri": "https://example.com/deal/123",
"contacts": [
"contact-id-123"
],
"closed": false
}
]
}'

Response example:

{
"data": {
"processed": 1
},
"meta": {
"timestamp": 1759495852
}
}

Result: If the deal exists, its information has been updated.

Deleting Deals

Method DELETE /v2/deals

Example:

curl -L -X DELETE 'https://tech.wazzup24.com/v2/deals' \
-H 'Authorization: Bearer <client_access_token>' \
-H 'Content-Type: application/json' \
-d '{
"deal_ids": [
"deal1"
]
}'

Response example:

{
"data": null,
"meta": {
"timestamp": 1759393502
}
}

Result: Deal id: deal1 has been deleted.