Référence MCP
advance_quote
Avancer un devis
Rôle#
Transition du lifecycle + note au fil + tâche de suivi optionnelle, en UNE transaction (tout ou rien). Mêmes règles que l'UI : transition illégale refusée avec les transitions permises. followUp exige le scope sales_activities:write.
Accès#
Scope principal : quotes:write. Le scope ne remplace pas les gardes de visibilité, d'organisation, de module ni les scopes complémentaires des gestes composés.
Catalogue complet · Approbations
Paramètres#
Le schéma ci-dessous est produit par la fonction qui enregistre les outils, y compris idempotency_key lorsqu'elle s'applique. Consultez les objets imbriqués dans le schéma complet.
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
id | string | Oui | |
to | string | Oui | Valeurs : sent, negotiation, signed, refused |
lossReason | string | Non | Motif de perte, OBLIGATOIRE pour to = refused (liste de l'organisation ; « Autre » toujours accepté) |
lossComment | string | Non | Commentaire libre sur la perte |
lostToCompanyId | union | Non | Société concurrente retenue, facultative |
note | string | Non | Note horodatée ajoutée au fil du devis |
followUp | object | Non | |
idempotency_key | string | Non | Clé d'idempotence (recommandée) : rejouer la MÊME mutation avec la même clé renvoie la réponse originale sans ré-exécuter - TTL 24 h |
Schéma JSON complet des paramètres
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"to": {
"type": "string",
"enum": [
"sent",
"negotiation",
"signed",
"refused"
]
},
"lossReason": {
"description": "Motif de perte, OBLIGATOIRE pour to = refused (liste de l'organisation ; « Autre » toujours accepté)",
"type": "string",
"minLength": 1,
"maxLength": 80
},
"lossComment": {
"description": "Commentaire libre sur la perte",
"type": "string",
"maxLength": 500
},
"lostToCompanyId": {
"description": "Société concurrente retenue, facultative",
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"note": {
"description": "Note horodatée ajoutée au fil du devis",
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"followUp": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"dueAt": {
"description": "Échéance de la tâche de suivi : jour calendaire YYYY-MM-DD (09 h 00 dans le fuseau de l'organisation) ou date-heure ISO",
"type": "string"
},
"assignedTo": {
"description": "Défaut : l'owner du devis (advance_quote) ou le user d'intégration",
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"required": [
"title"
],
"additionalProperties": false
},
"idempotency_key": {
"description": "Clé d'idempotence (recommandée) : rejouer la MÊME mutation avec la même clé renvoie la réponse originale sans ré-exécuter - TTL 24 h",
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"required": [
"id",
"to"
],
"additionalProperties": false
}