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.