Offers API
10 min
3 enero 2026
Referencia Rápida de Endpoints
| Método | Endpoint | Descripción |
|---|---|---|
GET | /api/offers | Listar ofertas del usuario |
POST | /api/offers | Crear nueva oferta |
GET | /api/offers/{id} | Obtener oferta por ID |
POST | /api/offers/{id}/accept | Aceptar oferta |
POST | /api/offers/{id}/reject | Rechazar oferta |
POST | /api/offers/{id}/negotiate | Negociar oferta |
GET | /api/negotiations/pending | Negociaciones pendientes |
Overview
Sistema de ofertas y negociaciones entre inversores y empresas. Proceso completo de creación de oferta, negociación, aceptación/rechazo, y countdown de 48 horas.
Base Path
/api/offersOffer Status
PENDING- Oferta enviada, esperando respuestaACCEPTED- Oferta aceptada por la empresaREJECTED- Oferta rechazadaNEGOTIATING- En proceso de negociaciónEXPIRED- Oferta expiró (48 horas sin respuesta)
Endpoints Principales
POST /api/offers
Crear nueva oferta para un proyecto.
{
"projectId": "proj_123",
"amount": 50000,
"terms": "20% rentabilidad garantizada en 12 meses",
"notes": "Interesado en proyectos IA sector salud"
}Response 201
{
"success": true,
"data": {
"id": "off_789",
"projectId": "proj_123",
"amount": 50000,
"status": "PENDING",
"expiresAt": "2025-01-05T10:30:00Z",
"createdAt": "2025-01-03T10:30:00Z"
}
}POST /api/offers/{id}/accept
Aceptar oferta (solo para empresa propietaria del proyecto).
{
"acceptanceNote": "Aceptamos los términos propuestos"
}Response 200
{
"success": true,
"data": {
"id": "off_789",
"status": "ACCEPTED",
"acceptedAt": "2025-01-03T12:00:00Z",
"nextStep": "contract_generation"
}
}POST /api/offers/{id}/negotiate
Iniciar negociación con contraoferta.
{
"counterAmount": 60000,
"counterTerms": "25% rentabilidad en 10 meses",
"message": "Podríamos aceptar con estos términos ajustados"
}Flujo Completo de Oferta
- Inversor crea oferta:
POST /api/offers - Sistema inicia countdown de 48 horas
- Empresa recibe notificación
- Empresa puede:
- Aceptar:
POST /api/offers/{id}/accept - Rechazar:
POST /api/offers/{id}/reject - Negociar:
POST /api/offers/{id}/negotiate
- Aceptar:
- Si acepta, se genera contrato automáticamente
- Si no responde en 48h, oferta expira
Countdown 48 Horas
Cada oferta tiene un campo expiresAt que indica cuándo expira. El frontend debe mostrar un countdown visual. Si la empresa no responde antes de expiresAt, el sistema cambia automáticamente el status a EXPIRED.
Próximos Pasos
- Payments API - Procesar pagos tras aceptación
- Projects API - Ver proyectos disponibles
¿Te ayudó esta página?