Puedes crear o actualizar la información de fidelización de un cliente mediante el endpoint dedicado, que acepta una matriz de objetos en el cuerpo de la solicitud.
// API POST
https://api.jericommerce.com/v1/programs/{{program_id}}/integrations/api
El cliente ya debe existir en la API antes de añadir sus datos de fidelización.
Puedes enviar los datos del cliente y de fidelización en una misma solicitud, pero debes mantener el orden e incluir primero la información del cliente.
El cliente debe estar creado antes de añadir su información de fidelización.
Este es un ejemplo del cuerpo para actualizar un cliente:
[
{
"email": "{{customer_email}}",
"feature": "loyalty",
"payload": {
"loyaltyCustomerId": "{{customer_loyalty_id}}",
"balance": "{{balance_to_apply}}",
"memberSince": "{{customer_join_date}}",
"tierStatus": "{{customer_tier}}"
}
}
]
Propiedades del payload ¶
loyaltyCustomerId ¶
Es la referencia externa de los datos de fidelización y sirve para asociarlos a otra base de datos.
Es obligatoria en cada solicitud.
Balance ¶
El saldo del cliente es una de las propiedades más importantes. Nuestra API no calcula el valor: actualiza el saldo con el importe que se proporciona en la solicitud.
El campo es obligatorio, debe tener formato numérico y ser mayor que 0.
memberSince ¶
Es la fecha en que el cliente se registró en el programa de fidelización.
El campo obligatorio debe tener formato de cadena ISO y enviarse en cada llamada.
tierStatus ¶
Según la configuración del programa, puede haber niveles o no. Si los hay, puedes indicar aquí el nombre del nivel.
Esta propiedad de texto es opcional; puede contener el valor que quieras asignar.
Recupera el catálogo público de recompensas ¶
Usa este endpoint para recuperar el catálogo de recompensas del programa:
GET https://api.jericommerce.com/v1/programs/{{program_id}}/coupons/rewards-public
La respuesta es una matriz de recompensas. Los campos del catálogo incluyen id, title, description, image, redeemCost, order, visibilityRules y redeemabilityRules. El endpoint devuelve datos del catálogo, no una lista personalizada de las recompensas que puede canjear un cliente en ese momento.
Los campos type, currencyPerPoint, minPoints y maxPoints describen el tipo de recompensa y los límites de conversión. En el panel, Points as cash corresponde al tipo de recompensa dynamic de la API. Mantén los nombres y valores de los campos de la API al crear solicitudes.