A Colaboracion (Collaboration) is a financial pledge made by an authenticated Colaborador to fund a cultural proposal. When a Colaborador visits a proposal’s detail page and decides to back it, they choose a return type and an amount — this creates a Colaboracion record linked to both the Colaborador and the Propuesta. Collaborations are the financial backbone of CulturarteWeb: they drive proposals from the funding phase through to execution.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/17Franco/CulturarteWeb/llms.txt
Use this file to discover all available pages before exploring further.
Collaboration Fields
The following fields are defined in theColaboracion database table:
| Column | Type | Description |
|---|---|---|
id | bigint (auto-increment) | Unique identifier for the collaboration |
monto | int | Amount pledged by the Colaborador in local currency |
tipoRetorno | enum | The return the Colaborador expects: EntradaGratis or PorcentajeGanancia |
colaborador | varchar(255) | Nickname of the Colaborador (FK → Colaborador.nickname) |
propuesta | varchar(255) | Title of the proposal being funded (FK → Propuesta.Titulo) |
creado | date | Date the collaboration was created |
Submitting a Collaboration
An authenticated Colaborador submits a new collaboration directly from the proposal detail page. Endpoint:POST /DetallesDePropuesta
The DetallesDePropuestaServlet.doPost method handles collaboration submission as one of several possible actions. The accion parameter determines what happens:
accion value | Servlet result code | Meaning |
|---|---|---|
| (collaboration action) | 4 | Colaborador submits a new collaboration |
| (comment action) | 1 | User posts a comment |
| (cancel action) | 2 | Proponente cancels the proposal |
| (extend action) | 3 | Proponente extends the financing period |
| Parameter | Description |
|---|---|
tituloPropuesta | Title of the proposal being funded |
monto | Amount to pledge |
tipoRetorno | EntradaGratis or PorcentajeGanancia |
accion | Action discriminator passed from the JSP form |
Listing a User’s Collaborations
Endpoint:GET /Colaboraciones?nick=<nick>&tipo=<tipo>
Retrieves all collaborations made by the specified user. The list is forwarded to Colaboraciones.jsp for display in the user’s profile area.
Withdrawing a Collaboration
Endpoint:DELETE /bajaColaboracion?id=<id>
A Colaborador can cancel a collaboration before payment has been processed. The servlet calls cancelarColaboracion(Long id) on the web service and returns a JSON response.
Payment Flow
The Proponente initiates payment on behalf of the collaborator using the collaboration’s ID. Payments are tracked via aDtoPago object containing the payment method and relevant financial details.
Proponente lists pending payments
Navigate to
GET /ListarColaboracionesAPagar?nick=<nick>&tipo=<tipo>. The servlet retrieves all collaborations for the user, removes any associated with CANCELADA proposals, and filters down to those where datosPago == null (i.e. not yet paid). The list is forwarded to PagarColaboracionDesktop.jsp (desktop) or PagarColaboracion.jsp (mobile).Open the payment form
Navigate to
GET /PagarColaboracion?tituloPropuesta=<titulo>. The servlet looks up the collaboration matching the proposal title for the logged-in user and forwards to pago.jsp with the collaboration details pre-populated.Submit payment
POST /PagarColaboracion with the following parameters:| Parameter | Description |
|---|---|
tituloPropuesta | Title of the proposal being paid for |
monto | Payment amount (must be ≥ the collaboration’s pledged amount) |
formaPago | Payment method identifier |
dato1 … dato5 | Additional payment data fields (e.g. card number, expiry, CVV, etc.) |
resultadoOperacion = 5 and the user is redirected to the proposal detail page with accionLograda=acreditado+el+pago+en.Certificate (Constancia) Generation
Once a collaboration has been paid, a PDF certificate can be generated to formally confirm the collaboration details. Endpoint:POST /GenerarConstancia
| Parameter | Description |
|---|---|
idColaboracion | The id of the paid collaboration |
portU.generarPDF(idColaboracion) on the web service, which returns the certificate as a Base64-encoded string. The servlet decodes it and streams the raw PDF bytes directly to the browser.
documento.pdf. If the web service returns an empty string, a 500 Internal Server Error is returned instead.
The
/GenerarConstancia endpoint only works for collaborations that have already been paid (datosPago is not null). Attempting to generate a certificate for an unpaid collaboration will cause the web service to return an empty or invalid response.