API du journal d’activité CRM
Commencer
Pour aider les concessionnaires à améliorer la gestion de leurs pistes de vente et fournir à BRP des informations sur le marché et des analyses de la demande, votre CRM envoie un journal d’activité quotidien.
Le journal d’activité du CRM fournit des informations sur la manière dont le concessionnaire gère les pistes de vente envoyées par BRP (pistes de niveau 1) et sur les pistes de vente créées directement dans votre CRM (pistes de niveau 3).
L’objectif pour BRP est d’obtenir une vue d’ensemble de la gestion des pistes de vente par les concessionnaires, par exemple :
- Combien de pistes le concessionnaire crée-t-il dans son CRM ?
- Combien ont abouti à une vente d’unité ?
- Quelles sont les actions les plus courantes entreprises ?
Avoir cette visibilité aidera BRP à améliorer les promotions et à créer des programmes pour améliorer la gestion des pistes de vente des concessionnaires.
❗❗ S’il n’y a aucun changement apporté aux pistes de vente durant la journée, ne pas envoyer de charge utile vide, n’appelez pas l’API ❗❗
❗Le journal d’activité du CRM est envoyé uniquement si le concessionnaire consent au partage des données.
Par où commencer ? Lisez-moi d'abord !
Avant de commencer à travailler sur cette API, vous devez lire les sections suivantes si vous ne les avez pas déjà consultées :
- Informations techniques pour des informations techniques générales sur l'API et les environnements.
- Authentification et informations d’identification pour des détails sur l’authentification et les identifiants.
Informations techniques
Caractéristiques
Type d'API | Type DSP | Version DCP | Complexité |
|---|---|---|---|
Obtenir des données depuis le BRP | DMS | V3 - International | Faible |
Envoyer des données au BRP | CRM | V4 - Amérique du Nord | Un peu plus |
Transaction avec le BRP | | | Un peu plus encore |
Authentification
L'API utilise Authentification de l'application.
Vous avez besoin d'un jeton d'accès valide avant d'appeler cette API, ou vous devez appeler API d'authentification d'application pour en obtenir un.
Le jeton d’accès est valable pendant 30 minutes ! (1799 secondes)
URL de base
Test | https://qa-cloud-api.brp.com/dcp/<v3 ou v4> |
|---|---|
Production | https://cloud-api.brp.com/dcp/<v3 ou v4> |
Ressource : Activité CRM
La CRM Activity permet à un CRM d’envoyer les opportunités de vente mises à jour par le concessionnaire, ainsi que la liste des actions pour chacune d’elles.
Représentation JSON
{
"items": [
{
"lead_id": "523452345346564",
"sales_opportunity_id": "00Q6s000001TQcaEAG",
"dealer_no": "0000691888",
"customer_id": "1234567",
"customer_hash": "b25d0a94ad6707d04957ca22400aeae92ba7a4497e53f25f1991d7323d0864e7",
"source": "brp",
"crm_source": "BRP",
"language": "en",
"product_interest": {
"category": "Watercraft",
"model": "Spark",
"brand": "seadoo_watercraft"
},
"status": [
{
"code": "new",
"set_on": "2020-06-12T14:48:12Z",
"crm_code": "created"
},
{
"code": "contacted",
"set_on": "2020-06-13T14:48:12Z",
"crm_code": "sent SMS"
}
],
"comments": "I am looking for a specific color for this sea doo. I would like it black and white",
"actions": [
{
"code": "received",
"set_on": "2020-06-13T14:48:12Z",
"user_name": "",
"crm_code": "created"
},
{
"code": "opened",
"set_on": "2020-06-13T14:59:12Z",
"user_name": "John Smith",
"crm_code": "processed"
},
{
"code": "status changed",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith",
"crm_code": "updated"
}
]
}
]
}
Propriétés
Property | Type | Definition | Notes |
|---|---|---|---|
items | list of objects | List of activities performed by the dealers. There is one object per sales opportunity. |
|
items. lead_id | string | Internal lead ID from your CRM. |
|
items. sales_opportunity_id | string | Sales opportunity identifier from BRP. An empty string if the sales opportunity wasn’t sent by BRP (Tier-3). The sales opportunity identifier is sent by the API d'opportunité de vente. | Max Length:18 |
items. dealer_no | string | Code that uniquely identifies a dealer. Must be 10 characters. If fewer than 10 characters, add '0' at the beginning. | Length: 10 |
items. customer_id | string | Unique identifier at the dealer (or CRM) level for this customer. NULL if there is no account for the customer in the CRM. | Max length: 50 characters |
Items. customer_hash | string | A SHA-256 hash on the customer's phone number and email. Required format is SHA-256(^\+[1-9]\d{1,14} \S+@\S+\.\S+$) i.e., SHA-256(E.164 phone number space email address). e.g.:SHA-256(+18882729222 [email protected]) If the email or phone number is missing, then use null. 👉 The email must be made all lowercase for the hash calculation. | Format: ^[a-fA-F0-9]{64}$ |
items. source | string | The source of the lead:
| Max Length:25
|
Item. crm_source | string | The CRM raw source information. | Max Length:50 |
items. language | string | Communication language of the customer, in ISO language code (ISO-639-1) | Format xx |
items. product_interest | object | The product the customer is interested in. | Max Length:50 |
items. product_interest. category | string | The category of the product in which the consumer is interested. | Max Length:100 |
items. product_interest. model | string | Model of the product in which the consumer is interested. | Max Length:50 |
items. product_interest. brand | string | The product brand that interests the consumer. One of:
| Max Length:100
|
items. status | list of objects | List of statuses attached to the sales opportunity. |
|
items. status. code | string | .Status code. One of :
| Max Length:15
|
items. status. crm_code | string | The CRM raw status code. | Max Length:50 |
items. status. set_on | datetime | Date and time at which the status has been set, in ISO 8601 format. | Format: YYYY-MM-DDTHH:MM:SSZ |
items. comments | string | Any comments left by the user, free text. | Max Length:4000 |
items. actions | list of objects | Actions taken by a user when they communicate with the lead. |
|
items. actions. code | string | Action code. One of:
| Max Length:25
|
items. actions. crm_code | string | The CRM raw action code. | Max Length:50 |
items. actions. set_on | string | Date and time at which the status has been set, in ISO 8601 format. | Format: YYYY-MM-DDTHH:MM:SSZ |
items. actions. username | string | User name from your CRM of the user who acted on the sales opportunity. Empty if no user is involved in the action. | |
Limites et contraintes
Taille de la charge utile
L’API du journal d’activité CRM fonctionne sur APIGee, qui a une taille maximale de charge utile de 10 Mo.
Voir la section 413 Entité de requête trop volumineuse pour plus d’informations sur la gestion du code d’état 413.
Comprendre le journal d’activité CRM
Cette section fournit des informations sur divers aspects du journal d’activité CRM pour vous aider à implémenter l’interface.
La terminologie de BRP
Avant de commencer, définissons quelques termes.
- Piste de vente : Un client potentiel intéressé par un produit BRP. Certaines informations sur ce client potentiel sont disponibles, notamment son nom, son numéro de téléphone ou son adresse courriel, ainsi que le produit qui l’intéresse.
- Opportunité de vente: Une piste de vente validée et qualifiée a été attribuée à un concessionnaire.
- Disposition: Il s'agit du résultat de l'opportunité de vente traitée par le concessionnaire. L'opportunité peut aboutir à contacter le client, à une vente d’un véhicule ou à un abandon.
- Tier-1: Une piste de vente qui a été envoyée à votre CRM en tant qu’opportunité de vente. Un client a créé la piste de vente via l'une des plateformes de communication BRP.
- Tier-3: Une piste de vente créée dans votre CRM par le concessionnaire après un appel client, une visite en concession ou via le site web du concessionnaire.
L’identifiant client et le hash
L'objectif du hash et de l’identifiant client est d’identifier les clients sans partager leurs informations personnelles, et de recueillir des informations sur les clients récurrents et leurs demandes.
Des règles et lois sur la protection des données existent depuis des années dans certains pays et sont désormais mises en place dans de nombreux autres.
C’est pourquoi la charge utile du journal d'activité CRM ne contient pas les informations personnelles du client.
Vous pouvez voir que la charge utile inclut la propriété customer_id , qui est l’identifiant du compte client dans le CRM.
C’est un élément qui peut aider à identifier un client, mais le concessionnaire peut ne pas avoir créé de compte pour ce client, et un client peut se rendre dans différentes concessions et avoir plusieurs customer_id.
Le customer_hashdans la propriété customer a été conçu pour être non réversible : l'email et le numéro de téléphone du client ne peuvent pas être récupérés à partir du hash.
Il est essentiel d’inclure la valeur du hash UNIQUEMENT si l’email et le numéro de téléphone du client sont tous deux disponibles.
Si l’un des deux manque, la valeur du hash doit être définie à null.
Le hash est calculé en utilisant un hash SHA-256 du numéro de téléphone, encodé selon la norme E.164, un espace, et l’adresse email, le tout en minuscules.
Activités quotidiennes vs Journal historique
Le journal d’activités du CRM contient deux types d’informations pour chaque piste de vente : les détails des activités et l’historique des activités.
- La propriété de statut de la piste de vente (items.status), qui correspond au statut envoyé à BRP via l’API d'opportunité de vente.
- La liste des actions effectuées par le concessionnaire sur la piste de vente (items.actions).
❗ Toutes les autres propriétés sont toujours envoyées ❗
Chacun de ces éléments est une liste contenant tous les statuts des pistes de vente et toutes les actions effectuées depuis leur création.
Les informations peuvent être envoyées de deux manières :
- Si votre CRM stocke tout l’historique des pistes commerciales et peut y accéder facilement, les informations envoyées pour chaque piste peuvent inclure tous les changements de statut et les actions.
- Si votre CRM n’a pas l’historique des pistes commerciales, il peut envoyer les changements de statut et les actions effectuées depuis le dernier envoi du journal d’activité du CRM.
❗ Si une piste commerciale n’a pas été modifiée, ne l’envoyez pas ❗
Dans le premier cas, le contenu du journal d’activité de votre CRM contient toutes les données pour les pistes commerciales modifiées.
Un exemple est présenté dans la charge utile ci‑dessous. Le statut et la liste d’actions contiennent de nombreuses entrées puisque l’historique a été envoyé.
{
"items": [
{
"lead_id": "523452345346564",
"sales_opportunity_id": "00Q6s000001TQcaEAG",
"dealer_no": "0000691888",
"customer_id": "1234567",
"customer_hash": "b25d0a94ad6707d04957ca22400aeae92ba7a4497e53f25f1991d7323d0864e7",
"source": "brp",
"crm_source": "oem",
"language": "en",
"product_interest": {
"category": "Watercraft",
"model": "Spark",
"brand": "seadoo_watercraft"
},
"status": [
{
"code": "new",
"crm_code": "created",
"set_on": "2020-06-12T14:48:12Z"
},
{
"code": "contacted",
"crm_code": "active",
"set_on": "2020-06-13T14:48:12Z"
}
],
"comments": "I am looking for a specific color for this sea doo. I would like it black and white",
"actions": [
{
"code": "received",
"crm_code": "created",
"set_on": "2020-06-13T14:48:12Z",
"user_name": ""
},
{
"code": "opened",
"crm_code": "processed",
"set_on": "2020-06-13T14:59:12Z",
"user_name": "John Smith"
},
{
"code": "status changed",
"crm_code": "updated",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith"
}
]
}
]
} Si votre CRM n’envoie que les changements depuis le téléversement de la liste, la charge utile pour le même prospect ressemble à celle ci‑dessous. Seuls le dernier statut et la dernière action sont envoyés.
{
"items": [
{
"lead_id": "523452345346564",
"sales_opportunity_id": "00Q6s000001TQcaEAG",
"dealer_no": "0000691888",
"customer_id": "1234567",
"customer_hash": "b25d0a94ad6707d04957ca22400aeae92ba7a4497e53f25f1991d7323d0864e7",
"source": "brp",
"crm_source": "oem",
"language": "en",
"product_interest": {
"category": "Watercraft",
"model": "Spark",
"brand": "seadoo_watercraft"
},
"status": [
{
"code": "contacted",
"crm_code": "active",
"set_on": "2020-06-13T14:48:12Z"
}
],
"comments": "I am looking for a specific color for this sea doo. I would like it black and white",
"actions": [
{
"code": "status changed",
"crm_code": "updated",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith"
}
]
}
]
} Il est possible d’envoyer un journal d’activité avec uniquement l’action effectuée si le statut n’a pas été modifié.
{
"items": [
{
"lead_id": "523452345346564",
"sales_opportunity_id": "00Q6s000001TQcaEAG",
"dealer_no": "0000691888",
"customer_id": "1234567",
"customer_hash": "b25d0a94ad6707d04957ca22400aeae92ba7a4497e53f25f1991d7323d0864e7",
"source": "brp",
"crm_source": "oem",
"language": "en",
"product_interest": {
"category": "Watercraft",
"model": "Spark",
"brand": "seadoo_watercraft"
},
"status": [],
"comments": "I am looking for a specific color for this sea doo. I would like it black and white",
"actions": [
{
"code": "SMS sent",
"crm_code": "texto sent",
"set_on": "2020-06-13T14:48:12Z",
"user_name": ""
}
]
}
]
} Code de statut d'opportunité de vente
Une opportunité de vente peut avoir l'une des quatre valeurs de statut ci-dessous. Votre CRM peut avoir des valeurs de statut plus détaillées, et le tableau doit vous aider à faire correspondre votre statut interne à un statut d'opportunité de vente.
👉 Les mêmes statuts sont utilisés dans le point de terminaison de mise à jour API d'opportunité de vente.
Statut de l’Opportunité de Vente | Signification |
|---|---|
new | L’opportunité de vente a été créée dans votre CRM. |
contacted | Le client a été contacté par un moyen quelconque (SMS, appel téléphonique, e-mail, etc.). 👉 Tant que la communication est maintenue avec le client, le statut reste contacted. |
unit_sold | L’opportunité de vente a abouti à la vente d’un véhicule. |
abandoned | L’opportunité de vente a été clôturée sans vente de véhicule. |
Propriétés mappées vs brutes
Vous verrez dans la charge utile que trois des propriétés ont deux formats :
- Un format BRP.
- Votre format CRM.
Les trois propriétés dans le format de BRP sont :
- La propriété source : d'où provient le prospect.
- La propriété status.code : l’état du prospect commercial.
- La propriété action.code : l’action effectuée par le concessionnaire.
Pour ces trois propriétés, votre CRM doit mapper ses valeurs internes à l’une des valeurs valides pour chaque propriété.
Pour chacune des propriétés, il en existe une autre pour envoyer votre valeur interne du CRM :
- crm_source
- status.crm_code
- actions.crm_code
L’objectif des deux formats est de permettre à BRP d’analyser rapidement les données en utilisant des valeurs standardisées pour chaque propriété.
Cependant, dans certains cas, plusieurs valeurs dans votre CRM peuvent être associées à la même valeur BRP.
Par exemple, le statut abandonné pourrait représenter plusieurs statuts de piste de vente, comme fermé, annulé, absent, etc.
Valeur manquante pour une propriété
Si votre CRM ne possède pas l’information pour une propriété, vous pouvez définir la propriété en fonction du type de propriété :
- Chaîne : une chaîne vide ("") ou null.
- Nombre : une valeur null.
- Date : une valeur null.
Quand envoyer
Votre CRM doit envoyer le journal d'activité du CRM quotidiennement, par exemple à la fin de la journée ouvrable du concessionnaire ou à une heure fixe.
❗Le journal d'activité du CRM est envoyé uniquement si le concessionnaire consent au partage des données.
❗ S'il n'y a aucun changement concernant une piste de vente, ne l'envoyez pas ❗
❗❗ S'il n'y a eu aucun changement apporté aux pistes de vente durant la journée, n'envoyez pas de charge utile vide et n'appelez pas l'API ❗❗
Référence de l'API
curl --location 'https://cloud-api.brp.com/dcp/v3/dsp/0000690095/crm-activity' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--data '{
"items": [
{
"lead_id": "523452345346564",
"sales_opportunity_id": "00Q6s000001TQcaEAG",
"dealer_no": "0000691888",
"customer_id": "1234567",
"customer_hash": "b25d0a94ad6707d04957ca22400aeae92ba7a4497e53f25f1991d7323d0864e7",
"source": "brp",
"crm_source": "oem",
"language": "en",
"product_interest": {
"category": "Watercraft",
"model": "Spark",
"brand": "seadoo_watercraft"
},
"status": [
{
"code": "new",
"crm_code": "created",
"set_on": "2020-06-12T14:48:12Z"
},
{
"code": "contacted",
"crm_code": "active",
"set_on": "2020-06-13T14:48:12Z"
}
],
"comments": "I am looking for a specific color for this sea doo. I would like it black and white",
"actions": [
{
"code": "received",
"crm_code": "created",
"set_on": "2020-06-13T14:48:12Z",
"user_name": ""
},
{
"code": "opened",
"crm_code": "processed",
"set_on": "2020-06-13T14:59:12Z",
"user_name": "John Smith"
},
{
"code": "status changed",
"crm_code": "updated",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith"
}
]
}
]
}'Guide pratique
Cette section fournit des informations sur la façon d'obtenir des résultats spécifiques avec l'API.
Envoyer le journal d’activité CRM
Dans cet exemple, votre CRM envoie un journal d’activité pour deux opportunités de vente, l’une provenant de BRP et l’autre créée dans votre CRM par le concessionnaire.
❗Le journal d’activité CRM est envoyé uniquement si le concessionnaire consent au partage des données.
❗ S’il n’y a aucun changement à un prospect de vente, ne l’envoyez pas ❗
❗❗ S’il n’y a aucun changement apporté aux prospects de vente durant la journée, n’envoyez pas de charge utile vide, n’appelez pas l’API ❗❗
👉 Dans cet exemple, l’historique complet du journal d’activité est envoyé.
curl --location 'https://qa-cloud-api.brp.com/dcp/v3/dsp/0000690095/crm-activity' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer VNFAyUxbLJcynBogyj5Q4o8wkdLg' \
--header 'Cookie: BrowserId=JpPoTqgdEe-njU30fg4qUA; CookieConsentPolicy=0:1; LSKey-c$CookieConsentPolicy=0:1' \
--data '{
"items": [
{
"lead_id": "523452345346564",
"sales_opportunity_id": "00Q6s000001TQcaEAG",
"dealer_no": "0000691888",
"customer_id": "1234567",
"customer_hash": "b25d0a94ad6707d04957ca22400aeae92ba7a4497e53f25f1991d7323d0864e7",
"source": "brp",
"crm_source": "oem",
"language": "en",
"product_interest": {
"category": "new",
"model": "Spark",
"brand": "seadoo_watercraft"
},
"status": [
{
"code": "new",
"crm_code": "created",
"set_on": "2020-06-12T14:48:12Z"
},
{
"code": "contacted",
"crm_code": "active",
"set_on": "2020-06-13T14:48:12Z"
}
],
"comments": "I am looking for a specific color for this sea doo. I would like it black and white",
"actions": [
{
"code": "received",
"crm_code": "created",
"set_on": "2020-06-13T14:48:12Z",
"user_name": ""
},
{
"code": "opened",
"crm_code": "processed",
"set_on": "2020-06-13T14:59:12Z",
"user_name": "John Smith"
},
{
"code": "status changed",
"crm_code": "updated",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith"
}
]
},
{
"lead_id": "392487928374987",
"sales_opportunity_id": "",
"dealer_no": "0000691888",
"customer_id": "34345",
"customer_hash": "b25d0a94ad6707d044497e53f25f1991d7323d0864e7957ca22400aeae92ba7a",
"source": "walk_in",
"crm_source": "visit",
"language": "en",
"product_interest": {
"category": "new",
"model": "Mavrick",
"brand": "canam_offroad"
},
"status": [
{
"code": "new",
"crm_code": "created",
"set_on": "2020-06-12T14:48:12Z"
},
{
"code": "contacted",
"crm_code": "active",
"set_on": "2020-06-13T14:48:12Z"
},
{
"code": "unit_sold",
"crm_code": "sale",
"set_on": "2020-06-26T14:48:12Z"
}
],
"comments": "I have a Polaris unit for trade-in",
"actions": [
{
"code": "received",
"crm_code": "created",
"set_on": "2020-06-13T14:48:12Z",
"user_name": ""
},
{
"code": "opened",
"crm_code": "processed",
"set_on": "2020-06-13T14:59:12Z",
"user_name": "John Smith"
},
{
"code": "status changed",
"crm_code": "updated",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith"
} ,
{
"code": "customer called",
"crm_code": "phone call",
"set_on": "2020-06-13T15:48:12Z",
"user_name": "John Smith"
}
]
}
]
}
'Gestion des erreurs
Cette section présente divers scénarios d’appels incorrects qui entraînent des messages d’erreur et des résultats inexacts.
400 Requête Incorrecte
Le code d’état 400 est généralement rencontré pendant le développement et l’intégration et ne devrait pas apparaître lors d’opérations normales. La réponse retournée contient les informations nécessaires pour corriger le problème.
De nombreux problèmes peuvent provoquer un code d’état 400 ; les plus courants figurent dans le tableau ci‑dessous.
Réponse | Résolution |
|---|---|
Indiquer qu’un champ obligatoire est manquant. {
"status": "400",
"id": "7acecbc0-7970-4505-86a7-fd6c48a5cc7c79012",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "échec de la validation de la requête",
"payload": {
"details": [
{
"message": "[Chemin '/items/0'] L’objet a des propriétés obligatoires manquantes ([\"sales_opportunity_id\"]): []"
}
]
}
}
} | S’assurer que tous les champs du payload sont envoyés. |
Le tableau status est vide. {
"status": "400",
"id": "f0bc7d7c-f043-42da-88d7-501a1c34938979852",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "échec de la validation de la requête",
"payload": {
"details": [
{
"message": "[Chemin '/items/0/status'] Le tableau est trop court : il doit contenir au moins 1 élément mais l’instance en contient 0 : []"
}
]
}
}
} | Le payload doit inclure au moins un statut pour chaque piste commerciale. |
Le tableau actions est vide. {
"status": "400",
"id": "f0bc7d7c-f043-42da-88d7-501a1c34938979910",
"title": "bad_request",
"meta": {
"service": "01",
"detail": "échec de la validation de la requête",
"payload": {
"details": [
{
"message": "[Chemin '/items/0/actions'] Le tableau est trop court : il doit contenir au moins 1 élément mais l’instance en contient 0 : []"
}
]
}
}
} | Le payload doit inclure au moins une action pour chaque piste commerciale. |
401 Non autorisé
Le code d’erreur 401 Non autorisé est renvoyé lorsque vous tentez d’appeler l’API avec un access_token expiré.
Vous devez obtenir un nouveau access_token en effectuant un appel à l’API API d'authentification d'application.
Le code d’erreur 401 Non autorisé est également renvoyé si vous n’avez pas demandé l’accès à l’API en créant un ticket dans le Jira du DCP.
Lorsque vous êtes prêt à commencer à travailler sur une API, vous devez créer un ticket de certification dans Jira, comme décrit dans la section Activités de certification avec Jira.
Si vous avez déjà commencé à travailler sur une API et avez perdu l’accès, créez un ticket de support comme décrit dans la section Ouvrir un ticket de support.
413 Entité de requête trop volumineuse
Le code d’état 413 Request Entity Too Large est renvoyé lorsque la charge utile dépasse la limite APIGee de 10 Mo.
Notez que le code d’état 413 peut être reçu même si la charge utile que vous envoyez fait moins de 10 Mo. La charge utile est traitée et convertie avant d’être transmise à une API interne BRP, et cette API interne peut renvoyer un code d’état 413.
Pour corriger le problème, la seule solution est de diviser la charge utile en plusieurs parties. Vous devez définir les critères à utiliser pour cette division.
Exigences DSP
Exigences Fonctionnelles
ID | Type | Exigence |
|---|---|---|
1 | Obligatoire | Le journal d’activité CRM doit être envoyé automatiquement chaque jour, sans l’intervention du concessionnaire. |
2 | Obligatoire | Votre CRM doit appeler l’API d’Information DSP pour envoyer un payload de journal d’activité CRM pour chaque concessionnaire. |
3 | Obligatoire | S’il n’y a aucune activité CRM pour un concessionnaire, votre CRM ne doit pas envoyer de payload de journal d’activité CRM. |
Activités de Certification
Cette section décrit toutes les activités de certification et les validations requises pour certifier l’API.
Assurance qualité
Les tests répertoriés dans le tableau ci-dessous doivent être réussis dans l’environnement de test avant de pouvoir commencer la phase pilote concessionnaire.
ID | Test | Résultat attendu |
|---|---|---|
1 | Envoyer un journal d’activité CRM pour une opportunité de vente BRP | La propriété sales_opportunity_id doit contenir l’ID BRP. |
2 | Envoyer un journal d’activité CRM pour une piste de vente créée dans votre CRM. | La propriété sales_opportunity_id doit être vide. |
3 | Envoyer des journaux d’activité CRM pour une piste de vente créée dans votre CRM, incluant les actions effectuées sur la piste et les changements de statut. | Le journal d’activité CRM doit afficher toutes les actions exécutées et les changements d’état. |
Pilote Distributeur
Le tableau ci-dessous présente les paramètres du pilote distributeur et leurs validations correspondantes.
Paramètre | Valeur |
|---|---|
Environnement | Production |
Nombre de concessionnaires | Tous vos concessionnaires |
Durée | 2 semaines |
Validation 1 | L’équipe DCP vérifie que votre CRM envoie le journal d’activité quotidiennement. |
Validation 2 | Pour un ou deux concessionnaires, fournissez un échantillon de 5 prospects de vente envoyés par BRP, ainsi que les actions entreprises et les changements de statut. Les informations doivent être fournies dans un format lisible par un humain.
Les informations sont comparées au journal d’activité CRM envoyé. |
Validation 3 | Pour un ou deux concessionnaires, fournissez un échantillon de 5 prospects de vente créés dans votre CRM (à l’exception de ceux envoyés par BRP), ainsi que les actions entreprises et les changements de statut. Les informations doivent être fournies dans un format lisible par un humain. Les informations sont comparées au journal d’activité CRM envoyé. |
Validation 4 | Vérifiez que les customer_id et customer_hash sont fournis pour la plupart des journaux d’activité CRM, et que les informations envoyées semblent valides. |
Facteur
Cette section décrit ce qui est disponible dans Postman pour explorer l'API.
Environnements
Un environnement Postman est disponible pour essayer l'API Dealers. Cet environnement Postman contient des variables utilisées par les requêtes et est configuré pour se connecter à l'environnement de test.
Collections
La collection CRM - CRM Activity Logs contient des exemples d'appels API pour envoyer un journal d'activité CRM.