Webhooks
This section explains how to use rules to create webhooks on CargoX Platform. Webhooks allow you to perform certain actions when a specific event occurs.
Parameters
Rules are managed through the https://cargox.digital/api/v3/companies/COMPANY_ID/rules/ API endpoint. Allowed methods are GET, POST, PUT, PATCH, DELETE.
Each rule you create must have the following arguments:
| Argument | Description | Type | Required | Default |
|---|---|---|---|---|
| name | Name of the webhook. | String | Yes | |
| event | Event ID (see Supported events table). | String | Yes | |
| actions | Array of action objects (see table below for details). | Array | Yes | |
| enabled | Controls if rule is processed or not. | Boolean | No | True |
Action objects have the following arguments:
| Argument | Description | Required |
|---|---|---|
| type | Action ID (see Supported actions table). | Yes |
| data | Data argument (see Supported actions table). | Depends on action |
Example request
Example request using Bearer access token for authorization. See Authorization and authentication page on how to obtain a bearer token.
curl --location --request POST 'https://cargox.digital/api/v3/companies/COMPANY_ID/rules/' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Notify John and Anne",
"event": "envelope_received",
"actions": [
{
"type": "send_email_to",
"data": [
"[email protected]",
"[email protected]"
]
}
]
}'
Example response
A call such as the one above will generate the following response:
{
"id": "e4a9e4bd-f108-49a6-89b5-af534d28a8ea",
"name": "Notify John and Anne",
"event": "envelope_received",
"event_name": "Envelope received",
"enabled": true,
"actions": [
{
"id": "fd636faa-1437-494e-b5b1-6887e8ec838d",
"rule_id": "e4a9e4bd-f108-49a6-89b5-af534d28a8ea",
"type": "send_email_to",
"type_name": "Send email to",
"data": ["[email protected]", "[email protected]"]
}
],
"actions_description": "Send email to [email protected], [email protected]"
}
Supported events
| Event | Event ID | Description |
|---|---|---|
| Envelope received | envelope_received | Triggered when an envelope is received. If the envelope contains documents that transferred via blockchain, this event triggers when all blockchain transactions are confirmed and processed. |
| Contact invitation accepted | contact_invitation_accepted | Triggered when a sent contact invitation is accepted. |
Supported actions
| Action | Action ID | Description | Data required | Data type |
|---|---|---|---|---|
| Send email to | send_email_to | Sends email to specified email address(es). | Yes | Array of email addresses |
| Send email to everyone | send_email_to_everyone | Sends email to every user in the company. | No | None |
| Post webhook | post_webhook | Send an HTTP POST request to a webhook with a serialized envelope as data. | Yes | Array of URL addresses |