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

NombreEnTipoDescripción
appIdquerystring
pagequeryinteger
perPagequeryinteger

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

CampoTipoDescripción
appIdstring
namestringmáx. 120 caracteres
target*object
category"transactional" | "marketing"
validateOnlyboolean
abTest*object
abTest.variants*object[]máx. 4 elementos
abTest.samplePercentinteger10–50
abTest.waitMinutesinteger30–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

NombreEnTipoDescripción
id*pathstring

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

NombreEnTipoDescripción
id*pathstring

Cuerpo

CampoTipoDescripción
variant*integer1–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

NombreEnTipoDescripción
id*pathstring

Respuestas: 200

curl -X POST "https://api.pushhub.daertec.com/v1/ab-tests/ID_ID/cancel" \
  -H "Authorization: Bearer sk_test_TU_LLAVE_SECRETA"