Este endpoint ejecuta un flujo de acumulación personalizado para un cliente. Los puntos, los límites de recurrencia y el máximo por cliente son los que definiste al configurar el flujo en el panel. La API simplemente inicia la ejecución.
Úsalo cuando un sistema externo a JeriCommerce, como tu CRM, plataforma de reseñas o herramienta de encuestas, deba determinar si el cliente ha obtenido los puntos.
Para consultar la especificación completa, legible por máquinas y con opción de prueba, visita el endpoint Execute Custom Earning Flow en la documentación de la API de JeriCommerce.
Endpoint ¶
// POST
https://api.jericommerce.com/v1/programs/{programId}/custom-earning-flows/{earningFlowId}/execute
Sustituye {programId} por el ID real del programa, que encontrarás en Settings → Technical → Program Information, y {earningFlowId} por una de estas opciones:
- El identificador de posición del flujo:
CUSTOM_1,CUSTOM_2,CUSTOM_3,CUSTOM_4oCUSTOM_5. - El UUID de la fila
ProgramEngagementFlowconcreta, si prefieres usar identificadores estables.
El identificador de posición es más sencillo porque no cambia aunque restablezcas el flujo.
Autenticación ¶
Este endpoint acepta dos métodos de autenticación. Elige el que se adapte a tu caso.
Usa la clave API de tu programa en el encabezado `api-key`. Consulta [Autenticación mediante la API](/integrations/api/1-authentication-through-the-api/).
Con una clave API puedes ejecutar el flujo para **cualquier** cliente del programa. El cuerpo de la solicitud debe incluir el correo del cliente.
Envía el JWT del cliente en el encabezado `Authorization`. El flujo se ejecuta para el cliente autenticado y el cuerpo de la solicitud queda vacío.
Úsalo cuando el navegador o la aplicación del propio cliente llame al endpoint, por ejemplo, desde una integración personalizada de la tienda.
Cuerpo de la solicitud ¶
{
"customerEmail": "customer@example.com"
}
| Campo | Tipo | Obligatorio | Notas |
|---|---|---|---|
customerEmail |
string | Obligatorio con autenticación API key. Se ignora con Customer JWT. | Correo del cliente que recibirá los puntos. Debe coincidir con un cliente ya inscrito en el programa. |
Respuesta ¶
Una solicitud correcta devuelve 200 con un cuerpo JSON:
{
"pointsAwarded": 100,
"remainingExecutions": 0,
"recurrence": "lifetime"
}
| Campo | Tipo | Notas |
|---|---|---|
pointsAwarded |
number | Cantidad de puntos añadida al saldo del cliente en esta ejecución. |
remainingExecutions |
number | Número de veces que el cliente todavía puede ejecutar el flujo en el periodo de recurrencia actual. 0 significa que ha alcanzado el máximo. |
recurrence |
string | Periodo de recurrencia del flujo: once, daily, weekly, monthly, quarterly, semiannually o yearly. |
Errores ¶
Si no se puede completar la solicitud, la API devuelve un código de error para que tu integración pueda reaccionar.
| Código | Significado |
|---|---|
CUSTOMER_EMAIL_REQUIRED |
Has usado API key auth sin enviar customerEmail en el cuerpo. |
EARNING_FLOW_NOT_FOUND |
earningFlowId no existe en este programa. |
NOT_A_CUSTOM_EARNING_FLOW |
El ID del flujo apunta a un flujo estándar, por ejemplo INCENTIVIZE_PURCHASES, que no se puede activar de esta forma. |
EARNING_FLOW_INACTIVE |
El flujo existe, pero está desactivado en el panel. |
EARNING_FLOW_NOT_CONFIGURED |
Faltan propiedades obligatorias del flujo, como los puntos, la recurrencia o el máximo de ejecuciones. Ábrelo en el panel y guárdalo. |
CUSTOMER_NOT_FOUND |
No hay ningún cliente con ese correo en el programa. |
MAX_EXECUTIONS_REACHED |
El cliente ya ha ejecutado el flujo el número máximo de veces dentro del periodo de recurrencia actual. |
Ejemplo ¶
Configuras CUSTOM_2 para conceder 100 puntos, una vez durante toda la vida, al completar una encuesta posterior a la compra. La herramienta de encuestas llama al endpoint cuando el cliente envía una respuesta.
// Request
POST https://api.jericommerce.com/v1/programs/{{program_id}}/custom-earning-flows/CUSTOM_2/execute
api-key: {your_api_key}
Content-Type: application/json
{
"customerEmail": "customer@example.com"
}
// Response
{
"pointsAwarded": 100,
"remainingExecutions": 0,
"recurrence": "lifetime"
}
El saldo del cliente aumenta en 100 puntos y la tarjeta del flujo en su aplicación web se actualiza para mostrar "Ya has obtenido esta recompensa".
Si lo activas desde Shopify Flow o Klaviyo, no tienes que crear la solicitud. Usa la acción Execute earning flow, descrita en Shopify Flows y eventos, o genera un webhook listo para pegar con el generador de webhooks de Klaviyo.