Descarga la colección una sola vez y luego importa el ambiente correspondiente. Los archivos de ambiente son plantillas seguras: debes completar la URL y el token entregados para cada servidor.
Importa uno de los tres ambientes y selecciónalo en la esquina superior derecha.
Reemplaza baseUrl e integrationToken con los valores entregados para ese ambiente.
Ninguna descarga contiene credenciales reales. Solicita las credenciales del ambiente por el canal autorizado y no las incluyas en código ni archivos compartidos.
Tu primer envío, paso a paso
Usa la URL del ambiente donde estás trabajando: DEV, QA o Producción.
Agrega el token de integración en el header X-Integration-Token.
Envía un POST con JSON a /api/v1/integraciones/cotizaciones.
Guarda la respuesta. Allí vendrán el id y el numero de la cotización creada.
Para una cotización pagada, usa estadoPago: "PAGADO", deja saldo en 0, informa el total en montoPagado y agrega al menos un elemento en pagos.
Antes de enviar: cinco reglas simples
No repitas una clave de idempotencia para otra cotización. Un GUID funciona bien.
Los totales deben cuadrar: neto + IVA = total, tanto en cada línea como en la cotización.
La suma de pagos debe coincidir con montoPagado. Si no hay pagos, envía "pagos": [].
Cada línea debe indicar su stock:FISICO con bodega o EN_CAMINO con número de envío.
Una cotización PAGADA debe tener saldo cero. Si está pendiente, después un aprobador de pago decidirá si se habilita para facturar.
Mapa completo del contrato
Usa el índice lateral para llegar al objeto que necesitas y abre su bloque para consultar todos sus campos. Cada sección explica qué representa el objeto, sus tipos de datos y sus reglas; el JSON mínimo anterior muestra cómo se combinan en una solicitud real.
Obligatorio significa que la API lo exige; Condicional, que depende de otro valor; Opcional, que puedes omitir.
bodySolicitud completa
Campo
Tipo
Uso
versionContrato
string
Obligatorio. Envía 1.0. La API rechaza versiones diferentes.
idSolicitud
string
Obligatorio. Identifica este intento de envío; puede ser GUID.
claveIdempotencia
string
Obligatorio. Clave única de la operación. Reúsala solo al reintentar exactamente el mismo JSON.
fechaHoraEnvio
fecha ISO 8601
Opcional. Momento en que tu sistema envió el mensaje.
origenQuién y desde qué sistema envía
evento
string
Opcional. Recomendado: FORMALIZAR_COTIZACION.
fechaHoraEvento
fecha ISO 8601
Opcional. Fecha de formalización en el sistema de origen.
softwareDatos del sistema de origen
identificador
string
Opcional. Código corto del sistema, por ejemplo ERP.
nombre
string
Opcional. Nombre legible del software.
version
string
Opcional. Versión del software.
ambiente
string
Opcional. Ambiente de origen, por ejemplo DEV.
usuarioUsuario que formalizó
idUsuarioOrigen
string
Opcional. ID del usuario en origen.
nombreUsuario
string
Opcional. Usuario de acceso.
nombreCompleto
string
Opcional. Nombre que verá el historial.
correo
string
Opcional. Correo del usuario.
destinoEmpresa y sucursal que reciben la cotización
codigoEmpresa
string
Obligatorio. Empresa receptora, por ejemplo REVESTIMIENTOS-CHILE.
codigoOrganizacion
string
Obligatorio. Sucursal u organización, por ejemplo RC-SCL.
cotizacionDocumento, cliente, líneas, pagos y stock
idCotizacionOrigen
string
Obligatorio. ID estable de tu cotización. No se puede repetir en la misma empresa y sucursal.
numeroCotizacion
string
Opcional. Número visible en el sistema de origen.
versionOrigen
entero
Opcional. Versión del documento en origen.
fechaHoraFormalizacion
fecha ISO 8601
Opcional. Fecha de formalización.
moneda
string
Opcional. Por defecto CLP.
estadoPago
string
Obligatorio.PAGADO, PAGO_PENDIENTE, PENDIENTE o PARCIAL.
clienteCotizacionCliente asociado a la venta
idClienteOrigen
string
Opcional. ID del cliente en origen.
rut
string
Obligatorio. Identificador del cliente. Se usa para crear o actualizar el maestro.
nombreORazonSocial
string
Opcional. Nombre preferido del cliente.
razonSocial
string
Opcional. Alternativa a nombreORazonSocial.
giro
string
Opcional. Giro comercial.
correo
string
Opcional. Correo general.
correoDte
string
Opcional. Correo para documentos tributarios; tiene prioridad sobre correo.
telefono
string
Opcional. Teléfono de contacto.
direccion y direccionTributariaDirecciones del cliente
Ambos objetos son opcionales y tienen la misma estructura. Si envías direccionTributaria, tiene prioridad al guardar el cliente.
linea
string
Dirección o calle.
comuna
string
Comuna.
ciudad
string
Ciudad.
region
string
Región.
pais
string
País.
clienteFacturacionCliente que aparecerá al facturar
Es opcional. Si no lo envías, se usa clienteCotizacion. Tiene exactamente los mismos campos de cliente indicados arriba y agrega:
inicialmenteIgualAClienteCotizacion
boolean
Opcional. Marca informativa para el sistema de origen.
lineas[]Productos cotizados; debe existir al menos una
numeroLinea
entero
Prácticamente obligatorio. Debe ser único dentro de la cotización.
idLineaOrigen
string
Opcional. ID de la línea en origen.
cantidad
decimal
Obligatorio. Mayor que cero.
precioUnitarioNeto
decimal
Opcional. Precio unitario sin IVA.
montoNeto
decimal
Obligatorio en la práctica. Debe cuadrar con los totales.
montoIva
decimal
Obligatorio en la práctica. Debe cuadrar con los totales.
montoTotal
decimal
Obligatorio en la práctica. Neto + IVA.
productoProducto o material de la línea
idProductoOrigen
string
Opcional. ID en origen.
sku
string
Obligatorio. Código único del producto dentro de la empresa.
nombre
string
Obligatorio. Nombre que se mostrará.
descripcion
string
Opcional. Descripción ampliada.
unidadMedida
string
Opcional. Por defecto UN.
descuentoDescuento aplicado a la línea
porcentaje
decimal
Opcional. Porcentaje de descuento.
monto
decimal
Opcional. Monto de descuento usado en la cotización.
asignacionesStock[]Origen del stock; debe cubrir toda la cantidad de la línea
secuencia
entero
Opcional. Orden de la asignación.
tipoStock
string
Obligatorio.FISICO o EN_CAMINO.
cantidad
decimal
Obligatorio en la práctica. La suma de asignaciones debe ser igual a la cantidad de la línea.
numeroEnvio
string
Condicional. Obligatorio si tipoStock es EN_CAMINO.
bodegaBodega del stock físico
idBodegaOrigen
string
Opcional. ID de bodega en origen.
codigo
string
Condicional. Obligatorio para FISICO.
nombre
string
Opcional. Nombre visible de la bodega.
totalesResumen monetario
montoNeto
decimal
Obligatorio en la práctica. Suma de netos de las líneas.
montoIva
decimal
Obligatorio en la práctica. Suma de IVA de las líneas.
montoTotal
decimal
Obligatorio en la práctica. Neto + IVA.
montoPagado
decimal
Obligatorio en la práctica. Suma de los pagos enviados.
saldo
decimal
Obligatorio en la práctica. Total menos monto pagado.
pagos[]Pagos informados; usa un arreglo vacío si no hay pagos
idPagoOrigen
string
Obligatorio. ID único del pago en tu sistema.
fechaHoraPago
fecha ISO 8601
Obligatorio. Fecha y hora del pago.
monto
decimal
Obligatorio. Mayor que cero.
medioPago
string
Obligatorio. Por ejemplo, TRANSFERENCIA.
referencia
string
Obligatorio. Número de transacción o comprobante verificable.
observacion
string
Opcional. Nota sobre el pago.
pagadorPersona o empresa que pagó
rut
string
Obligatorio. RUT del pagador.
nombreORazonSocial
string
Obligatorio. Nombre verificable del pagador.
correo
string
Opcional. Correo del pagador.
registradoPorUsuario que registró el pago
Es opcional. Si lo omites, se usa origen.usuario. Tiene los mismos campos de usuario.
observacionesNotas de la cotización
comercial
string
Opcional. Nota que acompaña la venta.
interna
string
Opcional. Nota interna.
embarquesEnCamino[]Envíos que contienen stock aún no recibido
numeroEnvio
string
Opcional. Debe coincidir con numeroEnvio de una asignación EN_CAMINO.
fechaTentativaArribo
fecha
Opcional. Formato AAAA-MM-DD.
estado
string
Opcional. Estado descriptivo del envío.
Puedes enviar campos adicionales en los objetos del JSON. La API los conserva en el payload original para trazabilidad, pero no les aplica reglas de negocio en esta versión.
Documentación viva
Historial de cambios del contrato
Versión vigente: v1.0
Consulta esta sección antes de actualizar tu integración. Aquí se resumen los cambios que pueden afectar el JSON enviado, sus validaciones o la interpretación de una respuesta.
v1.0Vigente
Primera versión documentada
Define la solicitud de cotización formalizada, sus clientes, líneas, totales, pagos, observaciones y stock asignado.
Establece idempotencia mediante claveIdempotencia y trazabilidad mediante los identificadores del sistema de origen.
Exige declarar una versión de contrato soportada; una versión desconocida responde HTTP 422.
Documenta los estados de pago, las validaciones monetarias y las reglas para stock físico o en camino.
La documentación es parte del contrato. Toda modificación de campos, validaciones, ejemplos, errores o comportamiento de la API debe publicarse aquí junto con su versión correspondiente.
Qué significa cada respuesta
HTTP
Qué pasó
Qué hacer
201
La cotización fue creada.
Guarda el id y el numero retornados.
200
Es un reintento del mismo envío.
Es correcto; no se creó un duplicado.
401
La solicitud no está autorizada.
Verifica la credencial del ambiente y, si el problema continúa, contacta al responsable de la integración.
409
La clave idempotente o el ID de origen ya se usó con datos distintos.
No reintentes cambiando el JSON; revisa el envío original.
422
El JSON no cumple una regla.
Lee el detalle de errores y corrige los campos antes de reenviar.