Públicos
Públicos de Meta para incluir o excluir en un grupo: una lista de clientes (correos y teléfonos, guardados solo como SHA-256), las personas que tu Píxel de Dátil vio disparar un evento, las que interactuaron con tu página de Facebook, o un público similar a otro. Se procesa aparte:
status
pasa de
pending
a
processing
,
syncing
y
ready
(o
partial
, o
failed
con
error_message
).
Listar públicos#
/api/v1/audiences
Bearer
De la más antigua a la más reciente, por páginas:
limit
(1 a 100, 25 por defecto) y
after
(el
next_cursor
de la página anterior).
status
string
El estado de procesamiento.
limit
integer
Cuántos por página, de 1 a 100.
after
string
El
next_cursor
de la página anterior.
Devuelve
·
200
con la lista (
data
,
has_more
,
next_cursor
) ·
422
con un filtro inválido.
curl "https://edge.datil.com/api/v1/audiences" \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"object": "list",
"data": [
{
"id": "7f8a9b0c-1d2e-4f3a-9b4c-5d6e7f8a9b0c",
"object": "audience",
"name": "Clientes 2026",
"audience_type": "custom",
"source_type": "customer_list",
"pixel_event": null,
"window_days": null,
"source_audience_id": null,
"lookalike_ratio": null,
"countries": [],
"status": "pending",
"total_rows": 2,
"processed_rows": 0,
"matched_rows": 0,
"progress_percent": 0,
"platform_audience_ids": [],
"error_message": null,
"last_refreshed_at": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
],
"has_more": false,
"next_cursor": null
}
Crear un público#
/api/v1/audiences
Bearer
Crea el público y lo procesa aparte.
Content-Type: application/json
name
string
requerido
El nombre del público.
audience_type
string
Por defecto
custom
.
customlookalike
source_type
string
De dónde salen las personas de un público
custom
.
customer_listpixelengagement
people
array de objetos
Lista de clientes:
[{email, phone}]
, tal cual o en SHA-256.
pixel_event
string
Píxel:
page_view
,
view_content
,
add_to_cart
,
begin_checkout
,
lead
o
purchase
.
window_days
integer
Píxel o interacción: cuántos días atrás, de 1 a 180.
source_audience_id
string
Similar: el público de origen.
lookalike_ratio
string
Similar: de
0.01
a
0.10
.
countries
array
Similar: los países donde buscar.
Devuelve
·
201
con el público (
pending
) ·
400 network_not_connected
·
400 social_page_required
·
422
con
errors
.
curl -X POST https://edge.datil.com/api/v1/audiences \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Clientes 2026",
"source_type": "customer_list",
"people": [
{
"email": "ana@example.com"
},
{
"phone": "+593987654321"
}
]
}'
{
"id": "7f8a9b0c-1d2e-4f3a-9b4c-5d6e7f8a9b0c",
"object": "audience",
"name": "Clientes 2026",
"audience_type": "custom",
"source_type": "customer_list",
"pixel_event": null,
"window_days": null,
"source_audience_id": null,
"lookalike_ratio": null,
"countries": [],
"status": "pending",
"total_rows": 2,
"processed_rows": 0,
"matched_rows": 0,
"progress_percent": 0,
"platform_audience_ids": [],
"error_message": null,
"last_refreshed_at": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
Consultar un público#
/api/v1/audiences/:id
Bearer
Un objeto de tu organización, con su estado de entrega.
id
string
requerido
El
id
del objeto.
Devuelve
·
200
con el objeto ·
404 not_found
para uno que no es de tu organización.
curl "https://edge.datil.com/api/v1/audiences/7b0f6a52-3c1e-4d7e-9a57-0c1f5c2e9b10" \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"id": "7f8a9b0c-1d2e-4f3a-9b4c-5d6e7f8a9b0c",
"object": "audience",
"name": "Clientes 2026",
"audience_type": "custom",
"source_type": "customer_list",
"pixel_event": null,
"window_days": null,
"source_audience_id": null,
"lookalike_ratio": null,
"countries": [],
"status": "pending",
"total_rows": 2,
"processed_rows": 0,
"matched_rows": 0,
"progress_percent": 0,
"platform_audience_ids": [],
"error_message": null,
"last_refreshed_at": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
Renombrar un público#
/api/v1/audiences/:id
Bearer
Cambia el nombre del público.
Content-Type: application/json
id
string
requerido
El
id
del público.
name
string
requerido
El nombre nuevo.
Devuelve
·
200
con el público ·
404
.
curl -X PATCH https://edge.datil.com/api/v1/audiences/7b0f6a52-3c1e-4d7e-9a57-0c1f5c2e9b10 \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Clientes activos"
}'
{
"id": "7f8a9b0c-1d2e-4f3a-9b4c-5d6e7f8a9b0c",
"object": "audience",
"name": "Clientes 2026",
"audience_type": "custom",
"source_type": "customer_list",
"pixel_event": null,
"window_days": null,
"source_audience_id": null,
"lookalike_ratio": null,
"countries": [],
"status": "pending",
"total_rows": 2,
"processed_rows": 0,
"matched_rows": 0,
"progress_percent": 0,
"platform_audience_ids": [],
"error_message": null,
"last_refreshed_at": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}
Eliminar un público#
/api/v1/audiences/:id
Bearer
Ningún grupo lo segmenta desde ahora; queda en el registro.
id
string
requerido
El
id
del objeto.
Devuelve
·
200
con
deleted: true
·
404
·
409
por su estado.
curl -X DELETE https://edge.datil.com/api/v1/audiences/7b0f6a52-3c1e-4d7e-9a57-0c1f5c2e9b10 \
-H "Authorization: Bearer $DATIL_API_KEY"
{
"id": "3b4c5d6e-7f8a-4b9c-8d0e-2f3a4b5c6d7e",
"object": "ad_campaign",
"deleted": true
}
Agregar personas#
/api/v1/audiences/:id/people
Bearer
Suma personas a una lista de clientes; se procesa de nuevo.
Content-Type: application/json
id
string
requerido
El
id
del público.
people
array de objetos
requerido
[{email, phone}]
, hasta 10 000.
Devuelve
·
200
con el público (
pending
) ·
409 not_a_list
·
422
con
errors
.
curl -X POST https://edge.datil.com/api/v1/audiences/7b0f6a52-3c1e-4d7e-9a57-0c1f5c2e9b10/people \
-H "Authorization: Bearer $DATIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"people": [
{
"email": "luis@example.com"
}
]
}'
{
"id": "7f8a9b0c-1d2e-4f3a-9b4c-5d6e7f8a9b0c",
"object": "audience",
"name": "Clientes 2026",
"audience_type": "custom",
"source_type": "customer_list",
"pixel_event": null,
"window_days": null,
"source_audience_id": null,
"lookalike_ratio": null,
"countries": [],
"status": "pending",
"total_rows": 2,
"processed_rows": 0,
"matched_rows": 0,
"progress_percent": 0,
"platform_audience_ids": [],
"error_message": null,
"last_refreshed_at": null,
"created_at": "2026-09-27T14:03:01Z",
"updated_at": "2026-09-27T14:03:01Z"
}