Saltar al contenido principal

Integración con Store Credit

Se explica como es la comunicación desde Magento hacia el microservicio de Store Credit.

Consulta de saldo con email​

Cuando es la primera vez que Magento consulta el monedero de un cliente entonces hace una consulta de saldo usando el correo electronico del usuario y con esto la respuesta del microservicio regresara el ID generado que guardara en la base de datos de Magento y asi proximas consultas se usara el ID en lugar del correo.

Entonces solo en caso de no existir el monedero es cuando se crea y al mismo tiempo se puede utilizar este endpoint para consultar saldo e historial de un monedero siendo la respuesta igual que cuando se hace Consulta de saldo con ID.

Petición​

GET - https://stg-storecredit.gaia.design/balance?email=testp1@test.com

Respuesta​

{
"data": {
"email": "testp1@test.com",
"balance": 0,
"updatedAt": "2025-09-15T22:19:15.601Z",
"id": "68c88ea232245b2d9ce1e244",
"transactions": []
}
}
  • El atributo 'balance' indica el saldo actual del cliente.
  • El atributo 'transactions' contiene el historico de movimientos al monedero.

Consulta de saldo con ID​

En este ejemplo se envia el ID del monedero en la URL.

Petición​

GET - https://stg-storecredit.gaia.design/balance/68c88ea232245b2d9ce1e244

Respuesta​

{
"data": {
"email": "testp1@test.com",
"balance": 80,
"updatedAt": "2025-09-15T22:19:15.601Z",
"id": "68c88ea232245b2d9ce1e244",
"transactions": [
{
"_id": "68c890e3fc30cb01e3fe52b7",
"userId": "68c88ea232245b2d9ce1e244",
"email": "testp1@test.com",
"amount": -20,
"balance": 80,
"type": "dim",
"reason": "orden creada",
"reference": "Pedido #SHEXP-002",
"createdBy": "test@test.com",
"createdAt": "2025-09-15T22:19:15.601Z",
},
{
"_id": "68c89013fc30cb01e3fe52b0",
"userId": "68c88ea232245b2d9ce1e244",
"email": "testp1@test.com",
"amount": 100,
"balance": 100,
"type": "add",
"reason": "casback",
"reference": "Pedido #SHEXP-001",
"createdBy": "test@test.com",
"createdAt": "2025-09-15T22:15:47.514Z",
}
]
}
}
  • El atributo 'balance' indica el saldo actual del cliente.
  • El atributo 'transactions' contiene el historico de movimientos al monedero.

Abonar saldo​

En este ejemplo se envia el ID del monedero en la URL; Se solicitara agregar $100 al monedero y en el payload se especifica lo siguiente:

  • amount: El monto a sumar el cual debe ser un numero positivo.
  • reason: La razón que origina esta actualizacion como puede ser reembolso, cashback, compensación, etc.
  • reference: Se indica el identificador de referencia que generó este movimiento como puede ser un numero de pedido o nombre de campaña de marketing.
  • createdBy: Correo electronico de quien generó el movimiento. Regularmente se pone el correo del empleado que lo realizo o tambien puede ser el correo del mismo cliente si el hizo su compra.

Petición​

POST - https://stg-storecredit.gaia.design/update/68c88ea232245b2d9ce1e244

{
"amount": 100,
"reason": "casback",
"reference": "Pedido #SHEXP-001",
"createdBy": "test@test.com"
}

Respuesta​

{
"data": {
"email": "testp1@test.com",
"balance": 100,
"updatedAt": "2025-09-15T22:15:47.514Z",
"id": "68c88ea232245b2d9ce1e244",
"transactions": [
{
"_id": "68c89013fc30cb01e3fe52b0",
"userId": "68c88ea232245b2d9ce1e244",
"email": "testp1@test.com",
"amount": 100,
"balance": 100,
"type": "add",
"reason": "casback",
"reference": "Pedido #SHEXP-001",
"createdBy": "test@test.com",
"createdAt": "2025-09-15T22:15:47.514Z",
},
... // otros movimientos
]
}
}

Consumir saldo​

En este ejemplo se envia el ID del monedero en la URL; Se solicitara descontar $20 del monedero y en el payload se especifica lo siguiente:

  • amount: El monto a descontar el cual debe ser un numero negativo. No debe ser mayor al saldo actual del monedero.
  • reason: La razón que origina esta actualizacion como puede ser reembolso, cashback, compensación, etc.
  • reference: Se indica el identificador de referencia que generó este movimiento como puede ser un numero de pedido o nombre de campaña de marketing.
  • createdBy: Correo electronico de quien generó el movimiento. Regularmente se pone el correo del empleado que lo realizo o tambien puede ser el correo del mismo cliente si el hizo su compra.

Petición​

POST - https://stg-storecredit.gaia.design/update/68c88ea232245b2d9ce1e244

{
"amount": -20,
"reason": "orden creada",
"reference": "Pedido #SHEXP-002",
"createdBy": "test@test.com"
}

Respuesta​

{
"data": {
"email": "testp1@test.com",
"balance": 80,
"updatedAt": "2025-09-15T22:19:15.601Z",
"id": "68c88ea232245b2d9ce1e244",
"transactions": [
{
"_id": "68c890e3fc30cb01e3fe52b7",
"userId": "68c88ea232245b2d9ce1e244",
"email": "testp1@test.com",
"amount": -20,
"balance": 80,
"type": "dim",
"reason": "orden creada",
"reference": "Pedido #SHEXP-002",
"createdBy": "test@test.com",
"createdAt": "2025-09-15T22:19:15.601Z",
},
... // otros movimientos
]
}
}