Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Balise du corps (data)

Niveau

Contenu

Obligatoire

Remarques

intervention

1

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.

  • soit par type PiTyp et numéro EnrNo

  • soit par InterCod

OUI

{ “nomChamp1”:”valeur1”,”nomChamp2”:valeur2”}

2

Liste des champs avec leur nom de champ et la valeur.

Les champs modifiables sont précisés plus bas

NON

Ce service web permet de mettre à jour certains champs des interventions IM (table DtrInter).

Les champs modifiables sont:

...

Nom du champ dictionnaire GTFDD.dhsd

...

Nom de la balise JSON

...

etat 

...

INTERVENTION_STATE

...

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

PrevFinDh 

PrevDebDh

PLANNED_END_DATE

DureePrev 

PrevFinDh

PLANNED_DURATION

DureePrevRest

DureePrev

REMAINING_DURATION

DureeEsti 

DureePrevRest

ESTIMATED_DURATION

DureeEff 

·         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', 

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'}
        }
    }

...

}

 

{

    "action": "WEB_SERVICE_INFINITY",

    "access_token": "{{TOKEN}}",

...

Exemple de corps, utilisation de la méthode CodeIntervention pour identifier l’intervention

Bloc de code
'data':
    {'intervention':
        {
        'INTERVENTION_CODE': 'test001',
        'INTERVENTION_STATE': 'CLOSED',

...


        'PLANNED_START_DATE': '20210910120002',

...


        'PLANNED_END_DATE': '20210911120000',

...


        'PLANNED_DURATION': '60',

...


        'REMAINING_DURATION': '31'

...

}

 

 

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

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

...

Dossier achat-vente

...

RECORD_NUMBER

...

EnrNo

...

Dossier comptable

...

INTERVENTION_CODE

...

InterCod

...

 

...

INTERVENTION_STATE

...

Etat

...

,

...

PLANNED_START_DATE

...

PrevDebDh

...

PLANNED_END_DATE

...

PrevFinDh

...

PLANNED_DURATION

...

DureePrev

...

REMAINING_DURATION

...

DureePrevRest

...

ESTIMATED_DURATION

...

DureeEsti

...

EFFECTIVE_DURATION

...

DureeEff

Exemple de corps
Bloc de code
languagejson
'data':
     {      'entity'ESTIMATED_DURATION': 'ENT100',
     'key':{'TICOD':'C', 'PICOD':'2', 'PREFPINO':'', 'PINOEFFECTIVE_DURATION': '1000002940'},
     'filename':'commande10000029.pdf',   }
  'filedata':'JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PAovUGFnZXMgMi'      }

Exemple complet flux JSON
Bloc de code
languagejson
{ 

        "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 txterrindique le message d’erreur

result

Détail du résultat fonctionnel de l’appel du service web

resultcode= 0 => pas d’anomalie fonctionnelle la demande est bien traitée

resultcode<>0 => anomalie fonctionnelle/métier dont la raison est indiquée dans errormessage

  • resultcode=1 : Erreur, requête non conforme

  • resultcode=2 : Erreur, intervention inexistante

  • resultcode=63 : Rejet suite à un contrôle de l’objet métier non satisfait


Exemple de réponse

Bloc de code
languagejson
{
        "error": 0 0,
        "result":  "{\"label\":  \"infinity\",\"codeScript\":  \"associerintegration_fichierintervention\",\"result\":{\"common\":{\"resultcode\":  \"0\",\"errormessage\":  \"\"},\"response\":\"\"}}",
        "txterr":  "",
        "infos":  ""
}