Opportunité
Permet de consulter, créer et modifier des opportunités commerciales.
Récupérer les stades d'opportunité
GET/v1/opportunity/stadeRetourne la liste des stades d'opportunité configurés sur le compte. Les stades sont des valeurs de champ personnalisé (CustomFieldValue). L'alias /v1/opportunity/status est également accepté.
Headers
| Nom | Type | Requis | Description |
|---|---|---|---|
| x-access-token | String | oui | Clé API |
Réponses
200 — OK
{
"success": true,
"code": "200",
"parameters": {
"idAccount": "string[]|null"
},
"result": [
{
"idCustomFieldValue": "int",
"idCustomField": "int",
"idAccount": "string",
"label": "string",
"order": "int|null",
"isDeleted": "bool",
"created": "datetime",
"modified": "datetime"
}
]
}idCustomFieldValue est la valeur à utiliser comme idStade dans les autres endpoints.
Récupérer les opportunités
GET/v1/opportunityRetourne la liste des opportunités filtrées par société, stade ou période.
Headers
| Nom | Type | Requis | Description |
|---|---|---|---|
| x-access-token | String | oui | Clé API |
Paramètres query
| Nom | Type | Requis | Description |
|---|---|---|---|
| idOpportunity | int|int[] | conditionnel | Identifiant(s) de l'opportunité |
| idCompany | int|int[] | conditionnel | Identifiant(s) de la société |
| siren | String|String[] | conditionnel | Numéro(s) SIREN |
| idStade | int|int[] | non | Identifiant(s) du stade (idCustomFieldValue) |
| polling | int | conditionnel | Opportunités modifiées dans les X dernières minutes (min. 15) |
| pollingDeleted | int | conditionnel | Opportunités supprimées dans les X dernières minutes (min. 15) |
| isDeleted | boolean | non | Inclure les supprimées (défaut : false) |
TIP
Au moins un paramètre parmi idOpportunity, idCompany, siren, polling ou pollingDeleted est obligatoire.
Réponses
200 — OK
{
"success": true,
"code": 200,
"opportunityList": [
{
"idOpportunity": "int",
"title": "string|null",
"deadline": "datetime|null",
"idStade": "int|null",
"amount": "float|null",
"comment": "string|null",
"created": "datetime",
"modified": "datetime",
"idCompany": "int",
"idUser": "int|null",
"idAccount": "string",
"idSequenceAction": "int|null",
"idCrmVisitCard": "int|null",
"isDeleted": "bool",
"stade": {
"idCustomFieldValue": "int",
"idCustomField": "int",
"idAccount": "string",
"label": "string",
"order": "int|null",
"isDeleted": "bool",
"created": "datetime",
"modified": "datetime"
}
}
]
}400 — Bad Request
{
"success": false,
"message": "idOpportunity, idCompany, siren, polling ou pollingDeleted nécessaire",
"parameters": {}
}Créer ou modifier une opportunité
POST/v1/opportunityCrée une nouvelle opportunité ou modifie une opportunité existante (si idOpportunity est fourni).
Headers
| Nom | Type | Requis | Description |
|---|---|---|---|
| x-access-token | String | oui | Clé API |
Body (JSON)
| Nom | Type | Requis | Description |
|---|---|---|---|
| idOpportunity | int | non | Identifiant de l'opportunité (pour modification) |
| idCompany | int | oui | Identifiant de la société |
| title | String | non | Titre de l'opportunité |
| idUserResponsable | int | conditionnel | Identifiant du responsable. Exactement un des deux : idUserResponsable ou userResponsableEmail |
| userResponsableEmail | String | conditionnel | Email du responsable. Exactement un des deux : idUserResponsable ou userResponsableEmail |
| idStade | int | non | Identifiant du stade (idCustomFieldValue) |
| deadline | String | non | Date d'échéance (format YYYY-mm-DD) |
| amount | float | non | Montant |
| comment | String | non | Commentaire |
| idSequenceAction | int | non | Identifiant de l'action de séquence à associer |
| idCrmVisitCard | int | conditionnel | Identifiant du contact CRM. Pas en même temps que crmVisitCardEmail |
| crmVisitCardEmail | String | conditionnel | Email du contact CRM. Pas en même temps que idCrmVisitCard |
Réponses
200 — OK
{
"success": true,
"code": 200,
"message": "Opportunité créée avec succès",
"opportunity": {
"idOpportunity": "int",
"title": "string|null",
"deadline": "datetime|null",
"idStade": "int|null",
"amount": "float|null",
"comment": "string|null",
"created": "datetime",
"modified": "datetime",
"idCompany": "int",
"idUser": "int|null",
"idAccount": "string",
"idSequenceAction": "int|null",
"idCrmVisitCard": "int|null",
"isDeleted": "bool",
"stade": "object|null"
},
"parameters": {}
}400 — Bad Request
{
"success": false,
"code": "400",
"message": "Un idCompany est nécessaire pour créer une opportunité",
"parameters": {}
}Autres messages possibles : format de deadline invalide, idUserResponsable/userResponsableEmail manquant ou en double, idCrmVisitCard/crmVisitCardEmail en double.
404 — Not Found
{
"success": false,
"code": "404",
"message": "L'opportunité ayant pour id {idOpportunity} n'existe pas",
"parameters": {}
}Renvoyé aussi si le compte, l'utilisateur responsable, le stade, la société, l'action de séquence ou le contact CRM référencé n'existe pas.