Skip to content

Contacts and fields ​

The contacts of your account feed the campaigns of the console. Keep them in sync from your system — a new player, a changed name, a fresh deposit — with POST /v1/contacts. The endpoints need a key with the contacts permission.

Custom fields ​

Besides the number and the name, a contact has custom fields: values your account defines in the console (Settings → Fields). A campaign template refers to a field as a variable with its key, for example {{promo_code}}, and every recipient gets their own value.

GET /v1/fields lists the fields:

json
{
  "data": [
    { "key": "promo_code", "label": "Promo code", "type": "text", "fallback": "BONUS10" },
    { "key": "amount", "label": "Deposit amount", "type": "money", "fallback": null },
    { "key": "vip_since", "label": "VIP since", "type": "date", "fallback": null }
  ]
}
TypeSendKept as
textany text up to 255 charactersas sent
number1234.5, 1 234,51234.5
moneyan amount in the currency of the account: 150, 1,234.50, $1 234,501234.5
date2026-10-30, 30.10.2026, 30/10/2026 (day first)2026-10-30

A campaign formats numbers, amounts and dates in the language of the message.

Create or update a contact ​

POST /v1/contacts finds the contact by its number: it creates it (201) or changes it (200).

json
{
  "to": "+5521998120937",
  "name": "Ana Souza",
  "fields": { "promo_code": "VIP25", "amount": "150", "vip_since": "2026-09-14" }
}
  • name replaces the name; null or an empty string clears it; leave it out to keep it.
  • fields changes only the keys you send; null removes a value.
  • An unknown key is refused (fields.<key> with the code in), and so is a value that does not fit the type (field_value). Nothing is saved when any field is refused.

A contact created through the API belongs to no contact list (its source is manual).

ACE SEND API v1