...
Modification d’une intervention
L'action pour la (description du SW) modification d’une intervention : integration_intervention
...
Balise du corps (data) | Niveau | Contenu | Obligatoire | Remarques | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
entityintervention | 1Nom de la table | Détail d’une intervention à modifier | OUI | ||||||||
DOCUMENT_TYPE et RECORD_NUMBER ou INTERVENTION_CODE | 2 | Champs d’identification de l’intervention à modifier. Deux méthode pour trouver l’intervention.
| OUI | ||||||||
{ “nomChamp1”:”valeur1”,”nomChamp2”:valeur2”} | 2 | Liste des champs avec leur nom de champ et la valeur | OUI | filename | 1 | Nom du fichier à joindre | OUI | entity | 1 | Nom de la table | OUI |
Texte complémentaire
. Les champs modifiables sont précisés plus bas | NON |
Ce service web permet de mettre à jour certains champs des interventions IM (table DtrInter).Il est possible d’appeler ce service web des 2 façons suivantes :
· Soit on passe le champ « intervention_code » (=DTRINTER.InterCod)
· Soit on passe les champs « document_type » (DTRINTER.PiTyp) et « record_number » (=DTRINTER.EnrNo).
...
{
"action": "WEB_SERVICE_INFINITY",
"access_token": "{{TOKEN}}",
"param": "{'header':{'caller': 'infinity','callerVersion': '6.107029','languageCode': 'FR','userCode': 'X6','callDateTime': '2020-12-12 14:30:00.943'},'action':{'swinfinity': 'integration_intervention','parameters':{'withlog': '1','dos': '998','actiontyp': 'update'}},'data':{'intervention':{'INTERVENTION_CODE': 'testsiv0002', 'INTERVENTION_STATE': 'FORECASTED', 'PLANNED_START_DATE': '20210910120001', 'PLANNED_END_DATE': '20210911120000', 'PLANNED_DURATION': '60', 'REMAINING_DURATION': '30', 'ESTIMATED_DURATION': '100', 'EFFECTIVE_DURATION': '41'}}}"
}
{
"action": "WEB_SERVICE_INFINITY",
"access_token": "{{TOKEN}}",
...
Un mapping existe entre les noms de champs du dictionnaire les les noms de balise à utiliser
Table DTRINTER(=intervention)
Nom de balise | Nom de champ | Version | Remarque |
---|---|---|---|
DOCUMENT_TYPE | PiTyp | 10.7 | Champ clé pour la méthode par Type+Numéro |
RECORD_NUMBER | EnrNo | Champ clé pour la méthode par Type+Numéro | |
INTERVENTION_CODE | InterCod | Champ clé pour la méthode par CodeIntervention | |
INTERVENTION_STATE | Etat | CLOSED=1,BILLED=2,TO_BE_BILLED=3,FORECASTED=4,PLANNED=5,READY_TO_PLAN=6,STARTED=7,TO_VALIDATE=8 | |
PLANNED_START_DATE | PrevDebDh | ||
PLANNED_END_DATE | PrevFinDh | ||
PLANNED_DURATION | DureePrev | ||
REMAINING_DURATION | DureePrevRest | ||
ESTIMATED_DURATION | DureeEsti | ||
EFFECTIVE_DURATION | DureeEff |
Exemple de corps, utilisation de la méthode Type+Numéro pour identifier l’intervention
Bloc de code |
---|
'data': {'intervention': { 'DOCUMENT_TYPE': '2', |
...
'RECORD_NUMBER': ' |
...
72', |
...
'INTERVENTION_STATE': 'CLOSED', |
...
'PLANNED_START_DATE': '20210910120002', |
...
'PLANNED_END_DATE': '20210911120000', |
...
'PLANNED_DURATION': '60', |
...
'REMAINING_DURATION': '31', |
...
'ESTIMATED_DURATION': '100', |
...
'EFFECTIVE_DURATION': '40'} } } |
...
}
b. Vue générale de la chaine JSON en entrée
Le contrôle du retour se fait via la lecture du champ « resultcode » :
· 0 : OK
· 1 : Erreur, requête non conforme
· 2 : Erreur, intervention inexistante
3 : Rejet suite à un contrôle de l’objet métier non satisfait
(Ici des exemples prêts à copier. Exemple = que la zone data, complet= tout)
Exemple de corps
Bloc de code | ||
---|---|---|
| ||
Exemple de corps, utilisation de la méthode CodeIntervention pour identifier l’intervention
Bloc de code |
---|
'data': {'intervention': { 'entityINTERVENTION_CODE': 'ENTtest001', 'key':{'TICOD':'C', 'PICOD':'2', 'PREFPINO':'', 'PINO':'10000029'}, 'INTERVENTION_STATE': 'CLOSED', 'PLANNED_START_DATE': '20210910120002', 'PLANNED_END_DATE': '20210911120000', 'PLANNED_DURATION': '60', 'REMAINING_DURATION': '31', 'filenameESTIMATED_DURATION': 'commande10000029.pdf100', 'filedata 'EFFECTIVE_DURATION': 'JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovUGFnZXMgMi40'} } } |
Exemple complet flux JSON
Bloc de code | ||
---|---|---|
| ||
{ "action":"WEB_SERVICE_INFINITY", "access_token":"{{TOKEN}}", "param":" { { 'action': {'swinfinity': 'associerintegration_fichierintervention'}, 'parameters': { 'dos': '998' }, 'data': { 'entity':'ENT', 'key':{'TICOD':'C', 'PICOD':'2', 'PREFPINO':'', 'PINO':'10000029'}, 'filename':'commande10000029.pdf', 'filedata':'JVBERi0xLjQKJ' } }" } {'intervention': { 'DOCUMENT_TYPE': '2', 'RECORD_NUMBER': '72', 'INTERVENTION_STATE': 'CLOSED', 'PLANNED_START_DATE': '20210910120002', 'PLANNED_END_DATE': '20210911120000', 'PLANNED_DURATION': '60', 'REMAINING_DURATION': '31', 'ESTIMATED_DURATION': '100', 'EFFECTIVE_DURATION': '40'} } }" } }" } |
Format de la réponse :
Balise | Contenu |
---|---|
error | Anomalie technique de l’appel du service web 0 = pas n’anomalie, autre valeur = anomalie Dans ce cas la balise |
result | Détail du résultat fonctionnel de l’appel du service web
|
Exemple de réponse
Bloc de code | ||
---|---|---|
| ||
{ "error": 0 0, "result": "{\"label\": \"infinity\",\"codeScript\": \"associerintegration_fichierintervention\",\"result\":{\"common\":{\"resultcode\": \"0\",\"errormessage\": \"\"},\"response\":\"\"}}", "txterr": "", "infos": "" } |