Menú de endpoints

CloudPromo API — Integración Pública (selección) · v2.1.9.2-public-v1 · Servidor: https://cloudpromo.cloudtecnologias.cl/api

Servidor actual para validación técnica. Reemplazar por sandbox antes de publicación pública.

Promotions

Evaluación y sugerencia de promociones y beneficios.

POST/promotions/transactions/evaluate

Evaluar promociones y beneficios de una transacción

Evalúa una transacción y retorna los descuentos y beneficios aplicables. El contrato mostrado aquí es una versión simplificada para integración: `transaction` e `items` forman el núcleo; `customer`, `payment` y `coupons` se envían solo cuando corresponde.

Los contratos públicos simplifican deliberadamente algunos servicios: este request omite las secciones avanzadas `account`, `card` y `credit`, y reduce los atributos internos del contrato completo. Esto no implica que el backend haya eliminado soporte para esos campos.
Respuestas
StatusDescripción
200Existen beneficios aplicables.
204No existen beneficios aplicables.
400Solicitud inválida
422Entidad no procesable
500Error interno del servidor
Request · JSON
{
  "transaction": {
    "date": "2026-09-11T14:05:00-03:00",
    "store": "5413",
    "code": "TX-20260911-000123",
    "pos": 12,
    "number": 156546
  },
  "customer": {
    "code": "12345678-9"
  },
  "payment": [
    {
      "paymentType": "1",
      "paymentSubtype": "11",
      "currency": "CLP",
      "amount": 14990
    }
  ],
  "items": [
    {
      "id": 1,
      "qty": 1,
      "product": {
        "productCode": "603739502000",
        "price": 14990
      }
    }
  ]
}
Response · JSON
{
  "discount": 2998,
  "itemsBenefits": [
    {
      "id": 1,
      "productCode": "603739502000",
      "qty": 1,
      "price": 14990,
      "discount": 2998,
      "promoApplied": [
        {
          "promoId": 1401,
          "promoName": "20% descuento notebooks",
          "discount": 2998,
          "condbenef": "B"
        }
      ]
    }
  ],
  "transBenefits": {
    "points": [
      {
        "pointType": 1,
        "qty": 120,
        "promoId": 1401
      }
    ],
    "usedCoupons": [
      {
        "code": "7796052576444",
        "name": "Cupón próxima compra",
        "qty": 1,
        "promoId": 1401,
        "promoName": "Beneficio próxima compra"
      }
    ]
  }
}
cURL
curl -X POST 'https://cloudpromo.cloudtecnologias.cl/api/promotions/transactions/evaluate' \
  -H 'Content-Type: application/json' \
  -d '{"transaction":{"date":"2026-09-11T14:05:00-03:00","store":"5413","code":"TX-20260911-000123","pos":12,"number":156546},"customer":{"code":"12345678-9"},"payment":[{"paymentType":"1","paymentSubtype":"11","currency":"CLP","amount":14990}],"items":[{"id":1,"qty":1,"product":{"productCode":"603739502000","price":14990}}]}'
POST/promotions/transactions/suggestions

Obtener sugerencias de promociones para una transacción

Busca promociones que podrían aplicar a la transacción utilizando el mismo request simplificado de evaluación.

Los contratos públicos simplifican deliberadamente algunos servicios: este request omite las secciones avanzadas `account`, `card` y `credit`, y reduce los atributos internos del contrato completo. Esto no implica que el backend haya eliminado soporte para esos campos.
Respuestas
StatusDescripción
200Promociones potencialmente aplicables.
204No se encontraron promociones sugeridas.
400Solicitud inválida
422Entidad no procesable
500Error interno del servidor
Request · JSON
{
  "transaction": {
    "date": "2026-09-11T14:05:00-03:00",
    "store": "5413",
    "code": "TX-20260911-000123",
    "pos": 12,
    "number": 156546
  },
  "customer": {
    "code": "12345678-9"
  },
  "payment": [
    {
      "paymentType": "1",
      "paymentSubtype": "11",
      "currency": "CLP",
      "amount": 14990
    }
  ],
  "items": [
    {
      "id": 1,
      "qty": 1,
      "product": {
        "productCode": "603739502000",
        "price": 14990
      }
    }
  ]
}
Response · JSON
{
  "products": [
    {
      "id": 1,
      "productCode": "603739502000",
      "qty": 1,
      "price": 14990,
      "discount": 2998,
      "promoApplied": [
        {
          "promoId": 1401,
          "promoName": "20% descuento notebooks",
          "discount": 2998,
          "condbenef": "B"
        }
      ]
    }
  ],
  "promotions": [
    {
      "promoId": 1401,
      "promoName": "20% descuento notebooks",
      "discount": 2998,
      "condbenef": "B",
      "itemId": 1
    }
  ]
}
cURL
curl -X POST 'https://cloudpromo.cloudtecnologias.cl/api/promotions/transactions/suggestions' \
  -H 'Content-Type: application/json' \
  -d '{"transaction":{"date":"2026-09-11T14:05:00-03:00","store":"5413","code":"TX-20260911-000123","pos":12,"number":156546},"customer":{"code":"12345678-9"},"payment":[{"paymentType":"1","paymentSubtype":"11","currency":"CLP","amount":14990}],"items":[{"id":1,"qty":1,"product":{"productCode":"603739502000","price":14990}}]}'

Coupons

Consulta, validación y uso de cupones.

GET/coupons/customers/{customerCode}

Consultar cupones asociados a un cliente

Parámetros
NombreEnTipoRequeridoEjemplo
customerCodepathstringSí12345678-9
mediaTypequerystring (physical | virtual | all)Noall
Respuestas
StatusDescripción
200Lista de cupones.
404Cliente o cupones no encontrados.
400Solicitud inválida
500Error interno del servidor
Response · JSON
[
  {
    "code": "7796052576444",
    "used": 0,
    "status": "A",
    "mediaType": "V",
    "text": "20% descuento en electrónica",
    "couponType": {
      "id": "99",
      "description": "Cupón 20% próxima compra"
    },
    "promotion": {
      "id": "1210",
      "description": "20% descuento en electrónica",
      "discount": {
        "type": "%",
        "amount": "20"
      }
    },
    "coverage": {
      "code": "5413",
      "description": "Tienda Parque Arauco",
      "type": "S"
    }
  }
]
cURL
curl -X GET 'https://cloudpromo.cloudtecnologias.cl/api/coupons/customers/12345678-9?mediaType=all'
GET/coupons/{couponcode}/validate

Validar si un cupón está activo

Parámetros
NombreEnTipoRequeridoEjemplo
couponcodepathstringSí7796052576444
Respuestas
StatusDescripción
200Cupón válido/consultado.
404Cupón no encontrado.
423Cupón bloqueado.
400Solicitud inválida
500Error interno del servidor
Response · JSON
{
  "code": "7796052576444",
  "idPrmUsr": 1654,
  "used": 0,
  "status": "A"
}
cURL
curl -X GET 'https://cloudpromo.cloudtecnologias.cl/api/coupons/7796052576444/validate'
PATCH/coupons/{code}/use

Registrar uso de un cupón

Parámetros
NombreEnTipoRequeridoEjemplo
codepathstringSí7796052576444
Respuestas
StatusDescripción
200Cupón actualizado.
404Cupón no encontrado.
422Entidad no procesable
400Solicitud inválida
500Error interno del servidor
Request · JSON
{
  "customerCode": "12345678-9",
  "amount": 20000,
  "times": 1,
  "transaction": {
    "date": "2026-09-11T14:05:00-03:00",
    "store": "5413",
    "code": "TX-20260911-000123",
    "pos": 12,
    "number": 156546
  }
}
Response · JSON
{
  "code": "7796052576444",
  "idPrmUsr": 1654,
  "used": 0,
  "status": "A"
}
cURL
curl -X PATCH 'https://cloudpromo.cloudtecnologias.cl/api/coupons/7796052576444/use' \
  -H 'Content-Type: application/json' \
  -d '{"customerCode":"12345678-9","amount":20000,"times":1,"transaction":{"date":"2026-09-11T14:05:00-03:00","store":"5413","code":"TX-20260911-000123","pos":12,"number":156546}}'

Points

Consulta y canje de puntos.

GET/points/customers/{customerCode}

Consultar puntos de un cliente

Parámetros
NombreEnTipoRequeridoEjemplo
customerCodepathstringSí12345678-9
Respuestas
StatusDescripción
200Saldos de puntos por tipo.
404Cliente/puntos no encontrados.
406Solicitud no aceptable.
400Solicitud inválida
500Error interno del servidor
Response · JSON
[
  {
    "pointType": 1,
    "qty": 5400,
    "amount": 5400,
    "expirated": 0,
    "toExpire": 250
  }
]
cURL
curl -X GET 'https://cloudpromo.cloudtecnologias.cl/api/points/customers/12345678-9'
POST/points/redemption

Canjear puntos

Respuestas
StatusDescripción
200Canje registrado.
404Cliente o saldo no encontrado.
406Canje no aceptable.
400Solicitud inválida
500Error interno del servidor
Request · JSON
{
  "customerCode": "12345678-9",
  "qty": 500,
  "points": [
    {
      "pointType": 1,
      "qty": 500
    }
  ],
  "transaction": {
    "date": "2026-09-11T14:05:00-03:00",
    "store": "5413",
    "code": "TX-20260911-000123",
    "pos": 12,
    "number": 156546
  }
}
Response · JSON
{
  "pointType": 1,
  "qty": 500
}
cURL
curl -X POST 'https://cloudpromo.cloudtecnologias.cl/api/points/redemption' \
  -H 'Content-Type: application/json' \
  -d '{"customerCode":"12345678-9","qty":500,"points":[{"pointType":1,"qty":500}],"transaction":{"date":"2026-09-11T14:05:00-03:00","store":"5413","code":"TX-20260911-000123","pos":12,"number":156546}}'

Gift Cards

Consulta de saldo, movimientos y autorización de uso de Gift Cards.

GET/giftcards/{code}/balance

Consultar saldo de Gift Card

Parámetros
NombreEnTipoRequeridoEjemplo
codepathstringSí9961180641333
Respuestas
StatusDescripción
200Saldo y estado.
404Gift Card no encontrada.
500Error interno del servidor
Response · JSON
{
  "balance": 40000,
  "status": "A"
}
cURL
curl -X GET 'https://cloudpromo.cloudtecnologias.cl/api/giftcards/9961180641333/balance'
GET/giftcards/{code}/movements

Consultar movimientos de Gift Card

Parámetros
NombreEnTipoRequeridoEjemplo
codepathstringSí9991475146564
typequerystring (1 | 2)No—
Respuestas
StatusDescripción
200Movimientos encontrados.
404Gift Card no encontrada.
500Error interno del servidor
Response · JSON
[
  {
    "store": "5413",
    "amount": 10000,
    "operType": "7",
    "department": "Moda",
    "productName": "Audífonos",
    "codeRef": "SKU-001"
  }
]
cURL
curl -X GET 'https://cloudpromo.cloudtecnologias.cl/api/giftcards/9991475146564/movements'
PATCH/giftcards/{code}/authorize

Autorizar pago con Gift Card

Autoriza un pago contra el saldo de una Gift Card. El request se presenta de forma simplificada. Los campos obligatorios definitivos deben confirmarse con el backend porque el Swagger fuente contiene una inconsistencia en el schema original de autorización.

Confirmar required reales de autorización antes de publicar la versión definitiva: el Swagger fuente presenta inconsistencias entre la lista `required` y las propiedades disponibles del request de autorización.
Parámetros
NombreEnTipoRequeridoEjemplo
codepathstringSí9991785042860
Respuestas
StatusDescripción
200Pago autorizado/resultado de operación.
404Gift Card no encontrada.
500Error interno del servidor
Request · JSON
{
  "pin": "1234",
  "paymentAuthType": 1,
  "transaction": {
    "date": "2026-09-11T14:05:00-03:00",
    "store": "5413",
    "amount": 10000
  }
}
Response · JSON
{
  "code": "9991598335548",
  "amount": 50000,
  "balance": 40000,
  "movementAuthCode": "2657",
  "status": "A"
}
cURL
curl -X PATCH 'https://cloudpromo.cloudtecnologias.cl/api/giftcards/9991785042860/authorize' \
  -H 'Content-Type: application/json' \
  -d '{"pin":"1234","paymentAuthType":1,"transaction":{"date":"2026-09-11T14:05:00-03:00","store":"5413","amount":10000}}'

Reference Data

Datos de referencia usados durante la integración.

GET/stores/list

Consultar lista de tiendas

Respuestas
StatusDescripción
200Lista de tiendas.
404No se encontraron tiendas.
400Solicitud inválida
500Error interno del servidor
405Entrada o método inválido.
Response · JSON
[
  {
    "storeCode": "5413",
    "name": "Parque Arauco",
    "storeType": 20,
    "phone": "+56221234567"
  }
]
cURL
curl -X GET 'https://cloudpromo.cloudtecnologias.cl/api/stores/list'