contacts.consent_set
Definir permissão de envio de um canal. status: opted_out = "Não quer receber"; opted_in = "Pode receber". Registra quem mudou e quando. Devolve a lista completa de canais.
- Endpoint:
POST https://app.atomiks.com.br/api/v1/contacts.consent_set(corpo JSON) - Quem pode chamar: membro da conta
- Escopo da chave:
crm:write - Grava dados: sim
- Pela chave de API: sim
- Ferramenta MCP:
contacts_consent_set - Ficha em JSON:
https://app.atomiks.com.br/api/v1/openapi.json(operationIdcontacts.consent_set)
Entrada
| Campo | Tipo | Obrigatório | Nota |
|---|---|---|---|
contactId | string (uuid) | sim | |
channel | "whatsapp" | "email" | "sms" | "instagram" | "telegram" | "voice" | sim | |
status | "opted_in" | "opted_out" | sim |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"contactId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"channel": {
"type": "string",
"enum": [
"whatsapp",
"email",
"sms",
"instagram",
"telegram",
"voice"
]
},
"status": {
"type": "string",
"enum": [
"opted_in",
"opted_out"
]
}
},
"required": [
"contactId",
"channel",
"status"
]
}Exemplo
curl -X POST https://app.atomiks.com.br/api/v1/contacts.consent_set \
-H "Authorization: Bearer $ATOMIKS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contactId":"00000000-0000-0000-0000-000000000000","channel":"whatsapp","status":"opted_out"}'CLI:
node cli/atomiks.mjs contacts.consent_set --json '{"contactId":"00000000-0000-0000-0000-000000000000","channel":"whatsapp","status":"opted_out"}'MCP: ferramenta contacts_consent_set com a mesma entrada.
Saída
Sucesso: {"data": ...} com o formato abaixo.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"channel": {
"type": "string",
"enum": [
"whatsapp",
"email",
"sms",
"instagram",
"telegram",
"voice"
]
},
"status": {
"type": "string",
"enum": [
"opted_in",
"opted_out"
]
},
"recorded": {
"type": "boolean"
},
"changedAt": {
"type": [
"string",
"null"
]
},
"source": {
"anyOf": [
{
"type": "string",
"enum": [
"manual",
"inbound",
"import",
"api"
]
},
{
"type": "null"
}
]
}
},
"required": [
"channel",
"status",
"recorded",
"changedAt",
"source"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
}Erros
{"error": {"code", "message", "requestId"}}. Códigos: invalid_input (400), unauthorized (401), forbidden / account_pending / scope_missing (403), not_found (404), limit_reached (409), internal (500).