GitScrum / Docs

Propostas

Crie, envie e gerencie propostas. Aprove, rejeite e converta propostas em projetos.

REST API — Todos os endpoints requerem autenticação via Bearer token. Inclua Authorization: Bearer {token} em cada requisição. Os tokens são gerenciados em Configurações do GitScrum → API. Base URL: https://services.gitscrum.com — Todos os caminhos de requisição nesta documentação são relativos a esta URL base.

Crie, envie e gerencie propostas em todo o seu ciclo de vida. Aprove, rejeite ou converta propostas aprovadas em projetos.


Listar propostas

GET /proposals?company_slug={slug}

Retorna todas as propostas do workspace.

Parâmetros de query

ParâmetroTipoDescrição
company_slugstringIdentificador do workspace
statusstringFiltro: draft, sent, approved, rejected
client_uuidstringFiltrar por UUID do cliente

Resposta

{
  "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"
    }
  ]
}

Obter proposta

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

Retorna detalhes completos da proposta.

Parâmetros de caminho

ParâmetroTipoDescrição
uuidstringUUID da proposta

Resposta

{
  "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"
  }
}

Estatísticas

GET /proposals/stats?company_slug={slug}

Retorna estatísticas de propostas do workspace.

Resposta

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

Criar proposta

POST /proposals

Cria uma nova proposta em status de rascunho.

Corpo da requisição

CampoTipoObrigatórioDescrição
titlestringSimTítulo da proposta
company_slugstringSimIdentificador do workspace
contactcompanyuuidstringNãoUUID do cliente
contentstringNãoCorpo da proposta (markdown)
total_amountnumberNãoValor total
currencystringNãoUSD, EUR ou BRL
valid_untilstringNãoData de expiração (YYYY-MM-DD)

Exemplo

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"
  }'

Atualizar proposta

PUT /proposals/{uuid}

Atualiza uma proposta existente.

Parâmetros de caminho

ParâmetroTipoDescrição
uuidstringUUID da proposta

Corpo da requisição

CampoTipoObrigatórioDescrição
company_slugstringSimIdentificador do workspace
titlestringNãoTítulo da proposta
contentstringNãoCorpo da proposta (markdown)
total_amountnumberNãoValor total
currencystringNãoCódigo da moeda
valid_untilstringNãoData de expiração

Enviar proposta

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

Envia a proposta ao cliente.

Parâmetros de caminho

ParâmetroTipoDescrição
uuidstringUUID da proposta

Aprovar proposta

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

Marca a proposta como aprovada.

Parâmetros de caminho

ParâmetroTipoDescrição
uuidstringUUID da proposta

Rejeitar proposta

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

Marca a proposta como rejeitada.

Parâmetros de caminho

ParâmetroTipoDescrição
uuidstringUUID da proposta

Corpo da requisição

CampoTipoObrigatórioDescrição
reasonstringNãoMotivo da rejeição

Excluir proposta

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

Exclui permanentemente uma proposta.

Parâmetros de caminho

ParâmetroTipoDescrição
----------------------------nuuidstringUUID da proposta

Converter em projeto

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

Converte uma proposta aprovada em projeto.

Parâmetros de caminho

ParâmetroTipoDescrição
uuidstringUUID da proposta (deve estar aprovada)

Resposta

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

Ciclo de vida da proposta

draft → sent → approved → converted to project
                 ↘ rejected
  1. Criar — proposta começa como draft
  2. Enviar — entrega ao cliente, altera status para sent
  3. Aprovar/Rejeitar — decisão do cliente registrada
  4. Converter — proposta aprovada se torna um projeto

Referência de campos

CampoTipoDescrição
uuidstringIdentificador único da proposta
titlestringTítulo da proposta
statusstringdraft, sent, approved ou rejected
clientobjectCliente associado
contentstringCorpo da proposta (markdown)
total_amountnumberValor total proposto
currencystringCódigo da moeda (USD/EUR/BRL)
valid_untilstringData de expiração
sent_atdatetimeQuando a proposta foi enviada
approved_atdatetimeQuando a proposta foi aprovada
rejected_atdatetimeQuando a proposta foi rejeitada
reasonstringMotivo da rejeição
created_atdatetimeTimestamp de criação do registro