GitScrum / Docs

Propuestas

Crea, envía y gestiona propuestas. Aprueba, rechaza y convierte propuestas en proyectos.

REST API — Todos los endpoints requieren autenticación mediante Bearer token. Incluye Authorization: Bearer {token} en cada solicitud. Los tokens se gestionan en Configuración de GitScrum → API. Base URL: https://services.gitscrum.com — Todas las rutas de solicitud en esta documentación son relativas a esta URL base.

Crea, envía y gestiona propuestas durante todo su ciclo de vida. Aprueba, rechaza o convierte propuestas aprobadas en proyectos.


Listar propuestas

GET /proposals?company_slug={slug}

Devuelve todas las propuestas del workspace.

Parámetros de query

ParámetroTipoDescripción
company_slugstringIdentificador del workspace
statusstringFiltro: draft, sent, approved, rejected
client_uuidstringFiltrar por UUID del cliente

Respuesta

{
  "data": [
    {
      "uuid": "prop-abc-123",
      "title": "Mobile App Development",
      "status": "sent",
      "client": {
        "uuid": "client-abc-123",
        "name": "Acme Corp"
      },
      "total_amount": 75000,
      "currency": "USD",
      "valid_until": "2026-03-15",
      "sent_at": "2026-02-01T10:00:00Z",
      "approved_at": null,
      "rejected_at": null,
      "created_at": "2026-01-25T09:00:00Z"
    }
  ]
}

Obtener propuesta

GET /proposals/{uuid}?company_slug={slug}

Devuelve los detalles completos de la propuesta.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta

Respuesta

{
  "data": {
    "uuid": "prop-abc-123",
    "title": "Mobile App Development",
    "status": "sent",
    "client": {
      "uuid": "client-abc-123",
      "name": "Acme Corp"
    },
    "content": "## Project scope\n\nFull mobile app development...",
    "total_amount": 75000,
    "currency": "USD",
    "valid_until": "2026-03-15",
    "sent_at": "2026-02-01T10:00:00Z",
    "approved_at": null,
    "rejected_at": null,
    "reason": null,
    "created_at": "2026-01-25T09:00:00Z"
  }
}

Estadísticas

GET /proposals/stats?company_slug={slug}

Devuelve estadísticas de propuestas del workspace.

Respuesta

{
  "data": {
    "total": 24,
    "draft": 3,
    "sent": 5,
    "approved": 14,
    "rejected": 2,
    "total_value": 450000,
    "approved_value": 320000
  }
}

Crear propuesta

POST /proposals

Crea una nueva propuesta en estado de borrador.

Cuerpo de la solicitud

CampoTipoRequeridoDescripción
titlestringTítulo de la propuesta
company_slugstringIdentificador del workspace
contactcompanyuuidstringNoUUID del cliente
contentstringNoCuerpo de la propuesta (markdown)
total_amountnumberNoValor total
currencystringNoUSD, EUR o BRL
valid_untilstringNoFecha de expiración (YYYY-MM-DD)

Ejemplo

curl -X POST https://services.gitscrum.com/proposals \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "E-commerce Platform Redesign",
    "company_slug": "acme",
    "contact_company_uuid": "client-abc-123",
    "content": "## Scope\n\nComplete redesign of the e-commerce platform.",
    "total_amount": 45000,
    "currency": "USD",
    "valid_until": "2026-04-01"
  }'

Actualizar propuesta

PUT /proposals/{uuid}

Actualiza una propuesta existente.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta

Cuerpo de la solicitud

CampoTipoRequeridoDescripción
company_slugstringIdentificador del workspace
titlestringNoTítulo de la propuesta
contentstringNoCuerpo de la propuesta (markdown)
total_amountnumberNoValor total
currencystringNoCódigo de moneda
valid_untilstringNoFecha de expiración

Enviar propuesta

POST /proposals/{uuid}/send?company_slug={slug}

Envía la propuesta al cliente.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta

Aprobar propuesta

POST /proposals/{uuid}/approve?company_slug={slug}

Marca la propuesta como aprobada.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta

Rechazar propuesta

POST /proposals/{uuid}/reject?company_slug={slug}

Marca la propuesta como rechazada.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta

Cuerpo de la solicitud

CampoTipoRequeridoDescripción
reasonstringNoRazón del rechazo

Eliminar propuesta

DELETE /proposals/{uuid}?company_slug={slug}

Elimina permanentemente una propuesta.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta

Convertir a proyecto

POST /proposals/{uuid}/convert-to-project?company_slug={slug}

Convierte una propuesta aprobada en un proyecto.

Parámetros de ruta

ParámetroTipoDescripción
uuidstringUUID de la propuesta (debe estar aprobada)

Respuesta

{
  "data": {
    "proposal_uuid": "prop-abc-123",
    "project": {
      "slug": "e-commerce-platform-redesign",
      "name": "E-commerce Platform Redesign"
    }
  }
}

Ciclo de vida de la propuesta

draft → sent → approved → converted to project
                 ↘ rejected
  1. Crear — la propuesta inicia como draft
  2. Enviar — se entrega al cliente, cambia estado a sent
  3. Aprobar/Rechazar — se registra la decisión del cliente
  4. Convertir — la propuesta aprobada se convierte en proyecto

Referencia de campos

CampoTipoDescripción
uuidstringIdentificador único de la propuesta
titlestringTítulo de la propuesta
statusstringdraft, sent, approved o rejected
clientobjectCliente asociado
contentstringCuerpo de la propuesta (markdown)
total_amountnumberValor total propuesto
currencystringCódigo de moneda (USD/EUR/BRL)
valid_untilstringFecha de expiración
sent_atdatetimeCuándo se envió la propuesta
approved_atdatetimeCuándo se aprobó la propuesta
rejected_atdatetimeCuándo se rechazó la propuesta
reasonstringRazón del rechazo
created_atdatetimeTimestamp de creación del registro