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
]
}
}