Référence API
API : kpis
1 opérations REST du groupe kpis.
GET /kpis#
Pont du chiffre signé entre deux cycles et rétention des sociétés
Même chiffre signé EUR que l'accueil, sous le périmètre du jeton. ownerId filtre le chiffre signé ; la rétention suit le portefeuille N-1, renouvellements visibles des collègues compris. missing signifie absence de signé, pas nécessairement absence de devis. Les ventes aux contacts sont isolées dans contacts et incluses dans les totaux. Sans cycle précédent, previous et delta valent null.
Scopes d'app : quotes:read, companies:read. Les autres droits, périmètres et contrôles métier restent applicables.
Paramètres
| Nom | Emplacement | Requis | Schéma |
|---|---|---|---|
cycleId | query | Oui | {"$schema":"https://json-schema.org/draft/2020-12/schema","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)$"} |
businessUnitId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","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)$"} |
ownerId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","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)$"} |
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Pont commercial
Contenu de la réponse 200
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"revenueBridge": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "EUR"
},
"asOf": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"provisional": {
"type": "boolean"
},
"cycle": {
"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)$"
},
"label": {
"type": "string"
},
"endsOn": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"required": [
"id",
"label",
"endsOn"
],
"additionalProperties": false
},
"previousCycle": {
"anyOf": [
{
"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)$"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"previous": {
"anyOf": [
{
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
{
"type": "null"
}
]
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"anyOf": [
{
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
{
"type": "null"
}
]
},
"classes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"new",
"expanded",
"maintained",
"reduced",
"missing"
]
},
"companies": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
}
},
"required": [
"kind",
"companies",
"previous",
"current",
"delta"
],
"additionalProperties": false
}
},
"contacts": {
"type": "object",
"properties": {
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
}
},
"required": [
"previous",
"current",
"delta"
],
"additionalProperties": false
},
"retention": {
"type": "object",
"properties": {
"previousCompanies": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retainedCompanies": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"retained": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"companiesPct": {
"type": [
"number",
"null"
]
},
"revenuePct": {
"type": [
"number",
"null"
]
}
},
"required": [
"previousCompanies",
"retainedCompanies",
"previous",
"retained",
"companiesPct",
"revenuePct"
],
"additionalProperties": false
},
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"companyId": {
"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)$"
},
"name": {
"type": "string"
},
"logo": {
"type": [
"string",
"null"
]
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"enum": [
"new",
"expanded",
"maintained",
"reduced",
"missing"
]
},
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"coverage": {
"type": "object",
"properties": {
"hasQuote": {
"type": "boolean"
},
"hasNonDraft": {
"type": "boolean"
},
"draftQuoteId": {
"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"
}
]
}
},
"required": [
"hasQuote",
"hasNonDraft",
"draftQuoteId"
],
"additionalProperties": false
},
"reason": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"quote",
"contract"
]
},
"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)$"
},
"date": {
"type": "string"
},
"reason": {
"type": "string"
},
"comment": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"id",
"date",
"reason",
"comment"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"companyId",
"name",
"logo",
"visible",
"kind",
"previous",
"current",
"delta",
"coverage",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"currency",
"asOf",
"provisional",
"cycle",
"previousCycle",
"previous",
"current",
"delta",
"classes",
"contacts",
"retention",
"companies"
],
"additionalProperties": false
}
},
"required": [
"revenueBridge"
],
"additionalProperties": false
}
}
}default : Erreur - enveloppe problem+json (RFC 9457)
Contenu de la réponse default
{
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}Opération OpenAPI complète
{
"summary": "Pont du chiffre signé entre deux cycles et rétention des sociétés",
"description": "Même chiffre signé EUR que l'accueil, sous le périmètre du jeton. ownerId filtre le chiffre signé ; la rétention suit le portefeuille N-1, renouvellements visibles des collègues compris. missing signifie absence de signé, pas nécessairement absence de devis. Les ventes aux contacts sont isolées dans contacts et incluses dans les totaux. Sans cycle précédent, previous et delta valent null.",
"tags": [
"Ventes"
],
"parameters": [
{
"name": "cycleId",
"in": "query",
"required": true,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"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)$"
}
},
{
"name": "businessUnitId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"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)$"
}
},
{
"name": "ownerId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"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)$"
}
}
],
"security": [
{
"oauth2": [
"quotes:read",
"companies:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Pont commercial",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"revenueBridge": {
"type": "object",
"properties": {
"currency": {
"type": "string",
"const": "EUR"
},
"asOf": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"provisional": {
"type": "boolean"
},
"cycle": {
"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)$"
},
"label": {
"type": "string"
},
"endsOn": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
}
},
"required": [
"id",
"label",
"endsOn"
],
"additionalProperties": false
},
"previousCycle": {
"anyOf": [
{
"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)$"
},
"label": {
"type": "string"
}
},
"required": [
"id",
"label"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"previous": {
"anyOf": [
{
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
{
"type": "null"
}
]
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"anyOf": [
{
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
{
"type": "null"
}
]
},
"classes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"new",
"expanded",
"maintained",
"reduced",
"missing"
]
},
"companies": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
}
},
"required": [
"kind",
"companies",
"previous",
"current",
"delta"
],
"additionalProperties": false
}
},
"contacts": {
"type": "object",
"properties": {
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
}
},
"required": [
"previous",
"current",
"delta"
],
"additionalProperties": false
},
"retention": {
"type": "object",
"properties": {
"previousCompanies": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"retainedCompanies": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"retained": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"companiesPct": {
"type": [
"number",
"null"
]
},
"revenuePct": {
"type": [
"number",
"null"
]
}
},
"required": [
"previousCompanies",
"retainedCompanies",
"previous",
"retained",
"companiesPct",
"revenuePct"
],
"additionalProperties": false
},
"companies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"companyId": {
"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)$"
},
"name": {
"type": "string"
},
"logo": {
"type": [
"string",
"null"
]
},
"visible": {
"type": "boolean"
},
"kind": {
"type": "string",
"enum": [
"new",
"expanded",
"maintained",
"reduced",
"missing"
]
},
"previous": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"current": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"delta": {
"type": "string",
"description": "Montant HT en euros, deux décimales"
},
"coverage": {
"type": "object",
"properties": {
"hasQuote": {
"type": "boolean"
},
"hasNonDraft": {
"type": "boolean"
},
"draftQuoteId": {
"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"
}
]
}
},
"required": [
"hasQuote",
"hasNonDraft",
"draftQuoteId"
],
"additionalProperties": false
},
"reason": {
"anyOf": [
{
"type": "object",
"properties": {
"source": {
"type": "string",
"enum": [
"quote",
"contract"
]
},
"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)$"
},
"date": {
"type": "string"
},
"reason": {
"type": "string"
},
"comment": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"id",
"date",
"reason",
"comment"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"companyId",
"name",
"logo",
"visible",
"kind",
"previous",
"current",
"delta",
"coverage",
"reason"
],
"additionalProperties": false
}
}
},
"required": [
"currency",
"asOf",
"provisional",
"cycle",
"previousCycle",
"previous",
"current",
"delta",
"classes",
"contacts",
"retention",
"companies"
],
"additionalProperties": false
}
},
"required": [
"revenueBridge"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}