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. IncluezAuthorization: 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ètre | Type | Description |
|---|---|---|
company_slug | string | Identifiant du workspace |
status | string | Filtre : draft, sent, approved, rejected |
client_uuid | string | Filtrer 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ètre | Type | Description |
|---|---|---|
uuid | string | UUID 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 /proposalsCrée une nouvelle proposition en statut brouillon.
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
title | string | Oui | Titre de la proposition |
company_slug | string | Oui | Identifiant du workspace |
contactcompanyuuid | string | Non | UUID du client |
content | string | Non | Corps de la proposition (markdown) |
total_amount | number | Non | Valeur totale |
currency | string | Non | USD, EUR ou BRL |
valid_until | string | Non | Date 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ètre | Type | Description |
|---|---|---|
uuid | string | UUID de la proposition |
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
company_slug | string | Oui | Identifiant du workspace |
title | string | Non | Titre de la proposition |
content | string | Non | Corps de la proposition (markdown) |
total_amount | number | Non | Valeur totale |
currency | string | Non | Code devise |
valid_until | string | Non | Date d'expiration |
Envoyer une proposition
POST /proposals/{uuid}/send?company_slug={slug}Envoie la proposition au client.
Paramètres de chemin
| Paramètre | Type | Description |
|---|---|---|
uuid | string | UUID de la proposition |
Approuver une proposition
POST /proposals/{uuid}/approve?company_slug={slug}Marque la proposition comme approuvée.
Paramètres de chemin
| Paramètre | Type | Description |
|---|---|---|
uuid | string | UUID de la proposition |
Rejeter une proposition
POST /proposals/{uuid}/reject?company_slug={slug}Marque la proposition comme rejetée.
Paramètres de chemin
| Paramètre | Type | Description |
|---|---|---|
uuid | string | UUID de la proposition |
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
reason | string | Non | Motif du rejet |
Supprimer une proposition
DELETE /proposals/{uuid}?company_slug={slug}Supprime définitivement une proposition.
Paramètres de chemin
| Paramètre | Type | Description |
|---|---|---|
uuid | string | UUID 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ètre | Type | Description |
|---|---|---|
uuid | string | UUID 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- Créer — la proposition commence en
draft - Envoyer — livre au client, change le statut en
sent - Approuver/Rejeter — décision du client enregistrée
- Convertir — la proposition approuvée devient un projet
Référence des champs
| Champ | Type | Description |
|---|---|---|
uuid | string | Identifiant unique de la proposition |
title | string | Titre de la proposition |
status | string | draft, sent, approved ou rejected |
client | object | Client associé |
content | string | Corps de la proposition (markdown) |
total_amount | number | Valeur totale proposée |
currency | string | Code devise (USD/EUR/BRL) |
valid_until | string | Date d'expiration |
sent_at | datetime | Date d'envoi de la proposition |
approved_at | datetime | Date d'approbation |
rejected_at | datetime | Date de rejet |
reason | string | Motif du rejet |
created_at | datetime | Horodatage de création de l'enregistrement |