API · Pruebas A/B
Variantes a una muestra de la audiencia y envío automático del ganador al resto.
Base: https://api.pushhub.daertec.com. Todas las respuestas usan { errCode, errMsg, data, meta }. Autenticación y llaves · Catálogo de errores
GET/v1/ab-tests
Pruebas A/B (las mas recientes primero)
Llave: sk_
Parámetros
| Nombre | En | Tipo | Descripción |
|---|---|---|---|
appId | query | string | |
page | query | integer | |
perPage | query | integer |
Respuestas: 200
curl -X GET "https://api.pushhub.daertec.com/v1/ab-tests" \
-H "Authorization: Bearer sk_test_TU_LLAVE_SECRETA"POST/v1/ab-tests
Crear una prueba A/B (202): 2-4 variantes a una muestra; el ganador va solo al resto
Llave: sk_
Mismos campos que POST /v1/notifications (audiencia, categoria, opciones) mas abTest. Cada variante puede cambiar content, deepLink, data, actions y media. samplePercent 10-50 (repartido entre las variantes), waitMinutes 30-1440, metric open_rate o click_rate. Envio inmediato (no admite schedule: 2011). Funcion de plan ab_testing (3004). Si alguna variante no llega a 100 entregas aceptadas, o nadie abre, la prueba queda inconclusive y el ganador se elige con /winner.
Cuerpo
| Campo | Tipo | Descripción |
|---|---|---|
appId | string | |
name | string | máx. 120 caracteres |
target* | object | |
category | "transactional" | "marketing" | |
validateOnly | boolean | |
abTest* | object | |
abTest.variants* | object[] | máx. 4 elementos |
abTest.samplePercent | integer | 10–50 |
abTest.waitMinutes | integer | 30–1440 |
abTest.metric | "open_rate" | "click_rate" |
Respuestas: 202422
curl -X POST "https://api.pushhub.daertec.com/v1/ab-tests" \
-H "Authorization: Bearer sk_test_TU_LLAVE_SECRETA" \
-H "Content-Type: application/json" \
-d '{
"appId": "texto",
"name": "texto",
"target": {},
"category": "transactional",
"validateOnly": true,
"abTest": {
"variants": []
}
}'GET/v1/ab-tests/{id}
Estado (testing, sending_winner, completed, inconclusive, cancelled), tasas de cada variante y envio del ganador
Llave: sk_
Parámetros
| Nombre | En | Tipo | Descripción |
|---|---|---|---|
id* | path | string |
Respuestas: 200
curl -X GET "https://api.pushhub.daertec.com/v1/ab-tests/ID_ID" \
-H "Authorization: Bearer sk_test_TU_LLAVE_SECRETA"POST/v1/ab-tests/{id}/winner
Elegir el ganador a mano (antes de la decision o si quedo inconclusive); 4009 si ya tiene ganador
Llave: sk_
Parámetros
| Nombre | En | Tipo | Descripción |
|---|---|---|---|
id* | path | string |
Cuerpo
| Campo | Tipo | Descripción |
|---|---|---|
variant* | integer | 1–4 |
Respuestas: 202
curl -X POST "https://api.pushhub.daertec.com/v1/ab-tests/ID_ID/winner" \
-H "Authorization: Bearer sk_test_TU_LLAVE_SECRETA" \
-H "Content-Type: application/json" \
-d '{
"variant": 1
}'POST/v1/ab-tests/{id}/cancel
Cancelar (no se envia ganador; las variantes enviadas no se deshacen)
Llave: sk_
Parámetros
| Nombre | En | Tipo | Descripción |
|---|---|---|---|
id* | path | string |
Respuestas: 200
curl -X POST "https://api.pushhub.daertec.com/v1/ab-tests/ID_ID/cancel" \
-H "Authorization: Bearer sk_test_TU_LLAVE_SECRETA"