Récupération de la demande d'intervention

Réception du webhook

Lors de la création d'une demande d'intervention, je reçois un webhook avec "type": "operations:intervention:share"
En tant que prestataire, je vais recevoir un webhook de la forme suivante :
[
{
"type": "operations:intervention:share",
"id": "471b155d-09ac-4ec6-a83a-70b3b8695738",
"event": {
"type": "operations",
"body": {
"id": "6ca801bb-cae3-43a6-978a-a18216f1f7a8",
"reference": "contract1_201007151812",
"contractReference": "contract1",
"type": "intervention",
"description": "Demande dépannage pour fuite d’eau dans la salle de bain",
"status": "open",
"event": "requested",
"serviceCode": "EAU-CP-9",
"workType": "corrective",
"assetReference":"ASC-191458",
"criticalLevel": "3",
"issuer": {
"entity": {
"id": "5e78774dfb9f7e3faec804ec",
"label": "Gestionnaire"
},
"user": {
"id": "371c6829-2b25-40d7-8d2d-8238537ca146",
"name": "serviceclient+gestionnaire@intent.tech"
}
},
"operation_url": "https://apisandbox.hubintent.com/api/operations/v2/operations/contract1_201007151812?contractReference=contract1"
}
}
}
]

Lancement des actions suivantes :
  • Appel API sur le champ operation_url : GET /operations/{reference}
  • Appel API pour récupérer les photos
  • Appel API pour récupérer les documents

Une demande d'intervention se matérialise par la transmission d'un log status=open et event=requested. Pour identifier cette information, je regarde la rubrique logs du json récupéré suite à l'appel sur le champ operation_url .

Je peux récupérer de plus amples informations (commentaire, photos, date et heure, contacts) sur le détail de la demande dans le log en question (status=open et event=requested) dans la rubrique logs .

JSON récupéré suite à l'appel sur le champ operation_url
{
"_links": {
"self": {
"href": "https://apisandbox.hubintent.com/api/operations/v2/operations/contract1_201007151813?contractReference=contract1"
},
"documents:list": {
"href": "https://apisandbox.hubintent.com/api/documents/v1/documents?elementType=intervention&elementReference=contract1_201007151813"
}
},
"reference": "contract1_2010071518132",
"description": "Demande dépannage pour fuite d’eau dans la salle de bain",
"criticalLevel": 3,
"issuer": {
"entity": {
"id": "5e78774dfb9f7e3faec804ec",
"label": "Gestionnaire",
"logoUrl": "https://image.freepik.com/vecteurs-libre/modele-ligne-logo-abstrait-colore-simple-immobilier_143546-15.jpg"
},
"user": {
"id": "aab631d7-d7cf-478f-b463-55e646762946",
"type": "client",
"name": "Connecteur Gestionnaire"
}
},
"contract": {
"reference": "contract1",
"label": "Maintenance Multitechnique",
"topic": "Multitechnique",
"entities": [
{
"id": "5e7875e3fb9f7e3faec804eb",
"label": "MyPrestataire",
"logoUrl": "https://image.freepik.com/vecteurs-libre/conception-reparation_24908-54569.jpg"
},
{
"id": "5e78774dfb9f7e3faec804ec",
"label": "Gestionnaire",
"logoUrl": "https://image.freepik.com/vecteurs-libre/modele-ligne-logo-abstrait-colore-simple-immobilier_143546-15.jpg"
}
]
},
"type": "intervention",
"service": {
"code": "EAU-CP-9",
"originalCode": "EAU-CP-9"
},
"workType": "corrective",
"status": "open",
"event": "requested",
"eventDate": "2020-10-07T15:18:00+02:00",
"logDate": "2020-10-07T15:18:00+02:00",
"eventHistory": [
"requested"
],
"location": {
"assetReference": "LOGEMENT_011"
},
"contacts": [
"BEGIN:VCARD\r\nVERSION:3\r\nFN;CHARSET=UTF-8:Pierre DURAND\r\nN;CHARSET=UTF-8:DURAND;Pierre;;;\r\nEMAIL;CHARSET=UTF-8;HOME;INTERNET:serviceclient+gestionnaire@intent.tech\r\nTEL;TYPE=WORK,VOICE:0786220276\r\nREV:2020-10-07T15:18:12+02:00\r\nEND:VCARD"
],
"logs": [
{
"issuer": {
"entity": {
"id": "5e78774dfb9f7e3faec804ec",
"label": "Gestionnaire",
"logoUrl": "https://image.freepik.com/vecteurs-libre/modele-ligne-logo-abstrait-colore-simple-immobilier_143546-15.jpg"
},
"user": {
"id": "aab631d7-d7cf-478f-b463-55e646762946",
"type": "client",
"name": "Connecteur Gestionnaire"
}
},
"reference": "contract1_2010071518132",
"description": "Demande dépannage pour fuite d’eau dans la salle de bain",
"contractReference": "contract1",
"contacts": [
"BEGIN:VCARD\r\nVERSION:3\r\nFN;CHARSET=UTF-8:Pierre DURAND\r\nN;CHARSET=UTF-8:DURAND;Pierre;;;\r\nEMAIL;CHARSET=UTF-8;HOME;INTERNET:serviceclient+gestionnaire@intent.tech\r\nTEL;TYPE=WORK,VOICE:0786220276\r\nREV:2020-10-07T15:18:12+02:00\r\nEND:VCARD"
],
"creationDate": "2020-10-28T18:11:18+01:00",
"type": "intervention",
"serviceCode": "EAU-CP-9",
"workType": "corrective",
"status": "open",
"event": "requested",
"eventDate": "2020-10-07T15:18:00+02:00",
"logDate": "2020-10-07T15:18:00+02:00",
"location": {
"assetReference": "LOGEMENT_011",
"assetOwner": "gestionnaire.intent"
},
"equipmentWorkingOrder": "not_operational",
"criticalLevel": 3
}
],
"creationDate": "2020-10-28T18:11:18+01:00",
"lastUpdateDate": "2020-10-28T18:11:18+01:00"
}

Accusé de réception de la demande d’intervention par le prestataire

Suite à la réception de la demande d'intervention, je transmets automatiquement un accusé réception pour informer mon client de la bonne réception de sa demande.

{
  "reference": "contract1_201007151812",
  "description": "Nous accusons bonne réception de votre demande de dépannage",
  "contractReference": "contract1",
  "status": "open",
  "event": "acknowledged",
  "eventDate": "2020-10-07T15:19:00",
  "logDate": "2020-10-07T15:19:00",
  "serviceCode": "EAU-CP-9",
  "location": {
    "assetReference": "LOGEMENT_011"
  },
  "workType": "corrective",
  "equipmentWorkingOrder": "not_operational",
  "criticalLevel": 3,
  "visitAttempt": 1
}