Scénario complet


Un bon de commande sera représenté par un objet operation de type "intervention" sur intentPlatform.
L'opération aura un workType dédié working_order

Scénario

Le gestionnaire va créer une demande d'intervention, valant commande, avec un worktype work_order (commande). Le prestataire accuse la bonne réception de la commande en indiquant un accusé de réception sur la référence du demandeur.
Le prestataire indique le détail du traitement de la demande sur l'intervention (commande) du demandeur.
Une fois les travaux terminés, le prestataire vient clôturer la commande en l'indiquant sur la référence du demandeur.

Scénario nominal

Création de la commande (1)
Le gestionnaire crée une commande validée qui doit être transmise au prestataire - log open/requested

Réception de la commande (2)
Le prestataire va réceptionner la commande et en accuser la bonne réception - log open/acknowledged

Déroulé de l'intervention (3) (4) (5)
Le prestataire indique le déroulé du traitement de la commande. - log open/planned, pending/start, pending/end

Clôture de l'intervention (6)
Le prestataire clôture la commande une fois qu'il a réalisé l'intégralité des prestations commandées - log closed/done

Scénario dérivé

Problématique d'accès (A)
Scénario dérivé pour cause de problèmes d’accès ou d’impossibilité d’intervenir (status=hold).

Problématique d'intervention (B)
Scénario dérivé pour cause de problèmes après première intervention (réparation partielle, problème de sécurité, de salubrité, etc.) (status=hold).

Refus/annulation ou impossibilité (C)
Fermeture de l’intervention suite à une impossibilité d’intervenir, un refus d’intervention de la part du partenaire ou une annulation de l'intervention (closed/denied).

Spécification d'envoi des données

API à utiliser

  • API Operations v2
  • objet "intervention"
  • API Documents v1
  • objet "document"

Création de la commande

Action réalisée par le gestionnaire
{
"reference": "BC-20201014-01",
"orderReference":"ERP-BC-20201014-01", //référence du bon de commande, référence de l'ERP
"description": "Remise en peinture de la cage d'escalier",
"contractReference": "contract1",
"status": "open",
"event": "requested",
"eventDate": "2020-10-14T10:00:00",
"logDate": "2020-10-14T10:00:00",
"location": {
"assetReference": "01-ALT-01-03",
"address": {
"way": "165 Avenue de Bretagne",
"city": "LILLE",
"zip": "59000",
"country": "FRANCE"
}
},
"serviceCode":"BC-001",
"workType": "work_order",
  "contacts": [
"BEGIN:VCARD\n\nVERSION:3\r\nFN;CHARSET=UTF-8:Pierre DUPONT\r\nN;CHARSET=UTF-8:DUPONT ;Pierre\r\nTEL;TYPE=WORK,VOICE:0734220902\r\nTEL;TYPE=HOME,VOICE:0685874445\r\nADR;TYPE=WORK:165 Avenue de Bretagne;59000;LILLE;France\r\nROLE;CHARSET=UTF-8:Gardien\r\nEMAIL;CHARSET=UTF-8;TYPE=WORK,INTERNET:p.dupont@internet.fr\r\nEND:VCARD\r\nBEGIN:VCARD\n\nVERSION:3\r\nFN;CHARSET=UTF-8:Marie FRANCE\r\nN;CHARSET=UTF-8:FRANCE ;Marie\r\nTEL;TYPE=WORK,VOICE:0709243902\r\nTEL;TYPE=HOME,VOICE:0385874498\r\nADR;TYPE=WORK:165 Avenue du Bretagne;59000;LILLE;France\r\nROLE;CHARSET=UTF-8:Locataire\r\nEMAIL;CHARSET=UTF-8;TYPE=WORK,INTERNET:mfrance@internet.fr\r\nEND:VCARD"
  ],
"origin": "pm",
"criticalLevel": 3,
"suggestedProvisionalDate": "2020-11-10",
"suggestedTimeSlot":"Les matins de préférence"
}

Publication d’un document Bon de commande
curl -X POST " https://api.hubintent.com/api/documents/v1/documents " -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@BC-001.pdf;type=application/pdf" -F "title=BC 213231" -F "elementType=intervention" -F "elementReference=BC-20201014-01" -F "description=Bon de commande" -F "intent_contractReference=contract1"


Réception du webhook par le prestataire

En tant que prestataire, je reçois un webhook lors de la mise à disposition d'une commande. Il sera 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": "BC-20201014-01",
"contractReference": "contract1",
"type": "intervention",
"description": "Remise en peinture de la cage d'escalier",
"status": "open",
"event": "requested",
"serviceCode": "BC-001",
"workType": "work_order",
"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/BC-20201014-01?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

Accusé de réception de la commande

Action réalisée par le prestataire
{
  "reference": "BC-20201014-01",
"orderReference":"ERP-BC-20201014-01",
  "description": "Nous accusons bonne réception de votre commande",
  "contractReference": "contract1",
  "status": "open",
  "event": "acknowledged",
  "eventDate": "2020-10-14T10:05:00",
  "logDate": "2020-10-14T10:05:00",
  "serviceCode": "BC-001",
"location": {
"assetReference": "01-ALT-01-03",
"address": {
"way": "165 Avenue de Bretagne",
"city": "LILLE",
"zip": "59000",
"country": "FRANCE"
}
},
  "workType": "work_order"
}

Planification de l’intervention

Action réalisée par le prestataire
{
  "reference": "BC-20201014-01",
"orderReference":"ERP-BC-20201014-01",
  "description": "Planification de l'intervention au 18/10/2020 - 14h",
  "contractReference": "contract1",
  "status": "open",
  "event": "planned",
  "eventDate": "2020-10-18T14:00:00",
  "logDate": "2020-10-16T10:00:00",
  "serviceCode": "PEINTRE-CP-9",
"location": {
"assetReference": "01-ALT-01-03",
"address": {
"way": "165 Avenue de Bretagne",
"city": "LILLE",
"zip": "59000",
"country": "FRANCE"
}
},
  "workType": "work_order"
}

Réalisation de l’intervention

Action réalisée par le prestataire
{
  "reference": "BC-20201014-01",
"orderReference":"ERP-BC-20201014-01",
  "contractReference": "contract1",
  "status": "pending",
  "event": "start",
  "eventDate": "2020-10-18T13:00:00",
  "logDate": "2020-10-18T13:00:00",
  "serviceCode": "PEINTRE-CP-9",
"location": {
"assetReference": "01-ALT-01-03",
"address": {
"way": "165 Avenue de Bretagne",
"city": "LILLE",
"zip": "59000",
"country": "FRANCE"
}
},
  "workType": "work_order"
}

puis … 

{
  "reference": "BC-20201014-01",
"orderReference":"ERP-BC-20201014-01",
  "contractReference": "contract1",
  "status": "pending",
  "event": "end",
  "eventDate": "2020-10-18T17:00:00",
  "logDate": "2020-10-18T17:00:00",
  "serviceCode": "PEINTRE-CP-9",
"location": {
"assetReference": "01-ALT-01-03",
"address": {
"way": "165 Avenue de Bretagne",
"city": "LILLE",
"zip": "59000",
"country": "FRANCE"
}
},
  "workType": "work_order",
}

Clôture de la commande

Action réalisée par le prestataire
{
  "reference": "BC-20201014-01",
"orderReference":"ERP-BC-20201014-01",
"description":"Travaux de peinture terminés",
  "contractReference": "contract1",
  "status": "closed",
  "event": "done",
  "eventDate": "2020-10-18T17:10:00",
  "logDate": "2020-10-18T17:10:00",
  "serviceCode": "PEINTRE-CP-9",
"location": {
"assetReference": "01-ALT-01-03",
"address": {
"way": "165 Avenue de Bretagne",
"city": "LILLE",
"zip": "59000",
"country": "FRANCE"
}
},
  "workType": "work_order",
  "visitAttempt": 1, //correspond au nombre de passage effectué pour réaliser toutes les prestations de la commande
  "occupantSignature": "ok" //si signature de l'occupant
}

Publication d’un document par le prestataire
curl -X POST " https://apisandbox.hubintent.com/api/documents/v1/documents " -H "accept: application/json" -H "Content-Type: multipart/form-data" -F "file=@quitus1.pdf;type=application/pdf" -F "title=rapport d'intervention d'intervention" -F "elementType=intervention" -F "elementReference=inter_201007151812" -F "description=rapport d'intervention" -F "intent_contractReference=contract1"


Rendu visuel