GitScrum / Docs

Propositions

Créez, envoyez et gérez les propositions. Approuvez, rejetez et convertissez les propositions en projets.

REST API — Tous les endpoints nécessitent une authentification par Bearer token. Incluez Authorization: Bearer {token} dans chaque requête. Les tokens sont gérés dans Paramètres GitScrum → API. Base URL: https://services.gitscrum.com — Tous les chemins de requête dans cette documentation sont relatifs à cette URL de base.

Créez, envoyez et gérez les propositions tout au long de leur cycle de vie. Approuvez, rejetez ou convertissez les propositions approuvées en projets.


Lister les propositions

GET /proposals?company_slug={slug}

Retourne toutes les propositions du workspace.

Paramètres de requête

ParamètreTypeDescription
company_slugstringIdentifiant du workspace
statusstringFiltre : draft, sent, approved, rejected
client_uuidstringFiltrer par UUID client

Réponse

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

Obtenir une proposition

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

Retourne les détails complets de la proposition.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition

Réponse

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

Statistiques

GET /proposals/stats?company_slug={slug}

Retourne les statistiques des propositions du workspace.

Réponse

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

Créer une proposition

POST /proposals

Crée une nouvelle proposition en statut brouillon.

Corps de la requête

ChampTypeRequisDescription
titlestringOuiTitre de la proposition
company_slugstringOuiIdentifiant du workspace
contactcompanyuuidstringNonUUID du client
contentstringNonCorps de la proposition (markdown)
total_amountnumberNonValeur totale
currencystringNonUSD, EUR ou BRL
valid_untilstringNonDate d'expiration (YYYY-MM-DD)

Exemple

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

Mettre à jour une proposition

PUT /proposals/{uuid}

Met à jour une proposition existante.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition

Corps de la requête

ChampTypeRequisDescription
company_slugstringOuiIdentifiant du workspace
titlestringNonTitre de la proposition
contentstringNonCorps de la proposition (markdown)
total_amountnumberNonValeur totale
currencystringNonCode devise
valid_untilstringNonDate d'expiration

Envoyer une proposition

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

Envoie la proposition au client.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition

Approuver une proposition

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

Marque la proposition comme approuvée.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition

Rejeter une proposition

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

Marque la proposition comme rejetée.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition

Corps de la requête

ChampTypeRequisDescription
reasonstringNonMotif du rejet

Supprimer une proposition

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

Supprime définitivement une proposition.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition

Convertir en projet

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

Convertit une proposition approuvée en projet.

Paramètres de chemin

ParamètreTypeDescription
uuidstringUUID de la proposition (doit être approuvée)

Réponse

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

Cycle de vie d'une proposition

draft → sent → approved → converted to project
                 ↘ rejected
  1. Créer — la proposition commence en draft
  2. Envoyer — livre au client, change le statut en sent
  3. Approuver/Rejeter — décision du client enregistrée
  4. Convertir — la proposition approuvée devient un projet

Référence des champs

ChampTypeDescription
uuidstringIdentifiant unique de la proposition
titlestringTitre de la proposition
statusstringdraft, sent, approved ou rejected
clientobjectClient associé
contentstringCorps de la proposition (markdown)
total_amountnumberValeur totale proposée
currencystringCode devise (USD/EUR/BRL)
valid_untilstringDate d'expiration
sent_atdatetimeDate d'envoi de la proposition
approved_atdatetimeDate d'approbation
rejected_atdatetimeDate de rejet
reasonstringMotif du rejet
created_atdatetimeHorodatage de création de l'enregistrement