Cotizaciones
Referencia de 17 endpoints generados desde mosend-wb-backend/src/modules/cotizaciones/cotizaciones.controller.ts.
/organizations/:orgId/cotizaciones·17 endpoints·Source: mosend-wb-backend/src/modules/cotizaciones/cotizaciones.controller.ts/organizations/:orgId/cotizaciones/disponibilidadSi el plan incluye cotizaciones y si el PDF sale sin la marca de agua.
Path params
orgIdstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/disponibilidad' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/empresasEmpresas con las que puede salir una cotización (la organización y cada marca), si ya tienen datos de emisor y cuál se propone para la conversación.
Path params
orgIdstringrequerido
Query params
conversationIdstringcontactIdstring
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/empresas' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/emisor/logoSube el logo de una empresa (PNG o JPG, hasta 2 MB) y devuelve su id para guardarlo en ella.
Path params
orgIdstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/emisor/logo' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/catalogoLo que se puede cotizar: productos de Ventas, licencias (con la lista de precios del cliente) y servicios del bot.
Path params
orgIdstringrequerido
Query params
conversationIdstringcontactIdstring
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/catalogo' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizacionesCotizaciones de la organización, de un contacto o de una conversación.
Path params
orgIdstringrequerido
Query params
contactIdstringconversationIdstringestadostringBORRADORENVIADAACEPTADARECHAZADAVENCIDACONVERTIDAempresastringEmpresa que emitió: su id, u `ORGANIZACION` para las que salieron sin empresa (los datos de la organización).
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizacionesCrea una cotización en borrador.
Path params
orgIdstringrequerido
Body (JSON)
contactIdstring · uuidconversationIdstring · uuidbillingProfileIdstring · uuidPerfil de facturación del cliente («facturar a»), si lo hay.
perfilDeCobroIdstring · uuidEmpresa que emite (una marca de la organización). `null` = los datos de la organización. Sin el campo: al crear, la marca del número de la conversación; al editar, la que ya tenía.
empresaIdstring · uuidEmpresa que emite (Configuración → Empresas). Manda sobre `perfilDeCobroId`. `null` = los datos de la organización. Sin ninguno de los dos: al crear, la de la marca del número o la predeterminada; al editar, la que ya tenía.
monedastringCOPUSDMXNvigenciaDiasnumberDías de vigencia; null o 0 = sin vigencia.
clienteNombrestringclienteDocumentostringclienteCorreostring · emailclienteTelefonostringclienteDireccionstringformasDePagostringcondicionesstringnotasstringlineasLineaDeCotizacionDto[]requerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"contactId": "00000000-0000-0000-0000-000000000000","conversationId": "00000000-0000-0000-0000-000000000000","billingProfileId": "00000000-0000-0000-0000-000000000000","perfilDeCobroId": "00000000-0000-0000-0000-000000000000","empresaId": "00000000-0000-0000-0000-000000000000","moneda": "COP","vigenciaDias": 0,"clienteNombre": "<clienteNombre>","clienteDocumento": "<clienteDocumento>","clienteCorreo": "persona@empresa.com","clienteTelefono": "<clienteTelefono>","clienteDireccion": "<clienteDireccion>","formasDePago": "<formasDePago>","condiciones": "<condiciones>","notas": "<notas>","lineas": []}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:idUna cotización con sus líneas.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:idEdita un borrador (una cotización enviada se duplica).
Path params
orgIdstringrequeridoidstringrequerido
Body (JSON)
contactIdstring · uuidconversationIdstring · uuidbillingProfileIdstring · uuidPerfil de facturación del cliente («facturar a»), si lo hay.
perfilDeCobroIdstring · uuidEmpresa que emite (una marca de la organización). `null` = los datos de la organización. Sin el campo: al crear, la marca del número de la conversación; al editar, la que ya tenía.
empresaIdstring · uuidEmpresa que emite (Configuración → Empresas). Manda sobre `perfilDeCobroId`. `null` = los datos de la organización. Sin ninguno de los dos: al crear, la de la marca del número o la predeterminada; al editar, la que ya tenía.
monedastringCOPUSDMXNvigenciaDiasnumberDías de vigencia; null o 0 = sin vigencia.
clienteNombrestringclienteDocumentostringclienteCorreostring · emailclienteTelefonostringclienteDireccionstringformasDePagostringcondicionesstringnotasstringlineasLineaDeCotizacionDto[]requerido
Respuestas
- 200
curl -X PUT 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"contactId": "00000000-0000-0000-0000-000000000000","conversationId": "00000000-0000-0000-0000-000000000000","billingProfileId": "00000000-0000-0000-0000-000000000000","perfilDeCobroId": "00000000-0000-0000-0000-000000000000","empresaId": "00000000-0000-0000-0000-000000000000","moneda": "COP","vigenciaDias": 0,"clienteNombre": "<clienteNombre>","clienteDocumento": "<clienteDocumento>","clienteCorreo": "persona@empresa.com","clienteTelefono": "<clienteTelefono>","clienteDireccion": "<clienteDireccion>","formasDePago": "<formasDePago>","condiciones": "<condiciones>","notas": "<notas>","lineas": []}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:idBorra un borrador.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X DELETE 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:id/pdfDescarga el PDF de la cotización.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000/pdf' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:id/enlaceEnlace firmado (10 minutos) para ver o descargar el PDF desde cualquier navegador, también el del celular.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 200
curl -X GET 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000/enlace' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:id/enviarEnvía la cotización por la conversación del cliente (WhatsApp y chat web como documento; Instagram como enlace).
Path params
orgIdstringrequeridoidstringrequerido
Body (JSON)
mensajestringTexto que acompaña al PDF; si no, uno con el número y el total.
Respuestas
- 200
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000/enviar' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"mensaje": "<mensaje>"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:id/duplicarCrea un borrador nuevo con las mismas líneas.
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000/duplicar' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:id/estadoMarca la cotización como aceptada o rechazada.
Path params
orgIdstringrequeridoidstringrequerido
Body (JSON)
estadostringrequeridoACEPTADARECHAZADA
Respuestas
- 200
curl -X PATCH 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000/estado' \
-H 'X-Api-Key: mk_live_<prefix>.<secret>' \
-H 'Content-Type: application/json' \
-d '{"estado": "ACEPTADA"}'{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/:id/convertirConvierte la cotización en un pedido de Ventas (necesita el módulo de Ventas).
Path params
orgIdstringrequeridoidstringrequerido
Respuestas
- 201
curl -X POST 'https://api.mosend.dev/organizations/a1b2c3d4-1234-5678-9abc-def012345678/cotizaciones/00000000-0000-0000-0000-000000000000/convertir' \ -H 'X-Api-Key: mk_live_<prefix>.<secret>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/cotizaciones/vista/:tokenSirve el PDF por un enlace de vista firmado y de corta duración (público).
Path params
tokenstringrequerido
Query params
descargarstring | undefined
curl -X GET 'https://api.mosend.dev/organizations/:orgId/cotizaciones/cotizaciones/vista/<token>'
{
"data": [
{
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
}
],
"timestamp": "2026-05-01T03:42:18.123Z"
}/organizations/:orgId/cotizaciones/cotizaciones/pdf/:tokenSirve el PDF de una cotización enviada, por token (público).
Path params
tokenstringrequerido
curl -X GET 'https://api.mosend.dev/organizations/:orgId/cotizaciones/cotizaciones/pdf/<token>'
{
"data": {
"id": "00000000-0000-0000-0000-000000000000",
"createdAt": "2026-05-01T03:42:18.123Z"
},
"timestamp": "2026-05-01T03:42:18.123Z"
}