Cotizaciones & Contratos
Cotizaciones Pro
Listar cotizaciones
GET /admin/crm/quotes
Detalle de cotización
GET /admin/crm/quotes/:id
Descargar PDF
GET /admin/crm/quotes/:id/pdf
Enviar cotización
POST /admin/crm/quotes/:id/send
Envía la cotización por email al contacto.
Enviar para firma
POST /admin/crm/quotes/:id/sign
Envía la cotización para firma electrónica.
Convertir a orden
POST /admin/crm/quotes/:id/convert
Convierte la cotización firmada en una orden de venta.
Archivar
POST /admin/crm/quotes/:id/archive
Duplicar
POST /admin/crm/quotes/:id/duplicate
Plantillas de cotización
| Acción | Método | Endpoint |
|---|---|---|
| Listar | GET | /admin/crm/quotes/templates |
| Crear | POST | /admin/crm/quotes/templates |
| Editar | POST | /admin/crm/quotes/templates/:id |
| Eliminar | DELETE | /admin/crm/quotes/templates/:id |
| Marcar default | POST | /admin/crm/quotes/templates/:id/default |
Configuración de firmas
GET /admin/crm/quotes/settings/signatures — Ver proveedores de firma
POST /admin/crm/quotes/settings/signatures — Guardar configuración
Portal público de cotizaciones
| Endpoint | Descripción |
|---|---|
GET /q/:tid/:qid/pdf | PDF público |
GET /q/:tid/:qid/sign | Página de firma |
POST /q/:tid/:qid/sign | Enviar firma |
Contratos
Modelo de contrato
{
"id": "uuid",
"number": "CT-2026-001",
"title": "Contrato de Servicio Anual",
"status": "draft",
"contact_name": "Juan Pérez",
"account_name": "Empresa SAC",
"start_date": "2026-01-01",
"end_date": "2026-12-31",
"renewal_type": "auto",
"notice_days": 30,
"amount_cents": 1200000,
"currency": "PEN",
"billing_frequency": "annually",
"signature_status": "pending"
}
Listar contratos
GET /admin/crm/contracts
Crear contrato
POST /admin/crm/contracts
| Campo | Requerido | Tipo | Descripción |
|---|---|---|---|
title | sí | string | Título |
description | no | string | Descripción |
contact_name | sí | string | Contacto |
account_name | no | string | Empresa |
start_date | sí | date | Fecha inicio |
end_date | sí | date | Fecha fin |
renewal_type | no | string | auto, manual, none |
notice_days | no | int | Días de aviso para renovación |
amount_cents | no | int64 | Monto en centavos |
currency | no | string | Moneda |
billing_frequency | no | string | annually, quarterly, monthly, one_time |
Detalle de contrato
GET /admin/crm/contracts/:id
Renovar contrato
POST /admin/crm/contracts/:id/renew
Enviar para firma
POST /admin/crm/contracts/:id/send-signature
Agregar adjunto
POST /admin/crm/contracts/:id/attachments
Portal público de contratos
| Endpoint | Descripción |
|---|---|
GET /c/:tid/:cid/sign | Página de firma |
POST /c/:tid/:cid/sign | Enviar firma |