Transforming information into performance

postBasket

Le service postBasket, associé à la plateforme Catalogue « IO »,
envoie un panier de pièces à une application Partenaire.

Note : l’accès est direct, il n’y a pas de gestion de session.

 

Par exemple, envoi du message suivant, en méthode POST

<xat2 xmlns="http://xat2.etai.fr" version="2.0">
  <session-context>
    <!-- Déclaration obligatoire du quadruplet d'identifiants XAT2 -->
    <application-id>{identifiant de l'application}</application-id>
    <dms-login>{identifiant de l’application Partenaire dans le garage}</dms-login>
    <user-shared-id>{identifiant de l’utilisateur}</user-shared-id>
    <garage-shared-id>{identifiant du garage}</garage-shared-id>
  </session-context>
  <shuttle>
    <transport>
      <partner>
        <!-- Déclaration du nom de l'application qui émet la requête -->
        <name>{Catalogue E-T-A-I}</name>
        <editor dictionary="ETAI:editor" ref="etai" />
        <version-code>{applicationVersion}</version-code>        
      </partner>
      <action-list>
        <!-- Déclaration obligatoire du verbe -->
        <action>
          <verb>postBasket</verb>
        </action>
      </action-list>
    </transport>
    <!-- Déclaration obligatoire du garage (nom et adresse) -->
    <person-list>
      <person>
        <breakdown-list>
          <classification dictionary="ETAI:person" ref="repairer"/>
        </breakdown-list>
        <name>{garageName}</name>
        <!-- Adresse du garage -->
        <place>
          <address number="1">{1ère ligne d'adresse}</address>
          <address number="2">{2ème ligne d'adresse}</address>
          <zip-code>{Code Postal}</zip-code>
          <city>{Ville}</city>
          <country>
            <classification dictionary="ETAI:country" ref="{countryRef}">{countryLabel}</classification>
          </country>
        </place>
        <!-- Moyens de contact du client -->
        <contact-list>
          <contact>
            <contact-category dictionary="ETAI:contact" ref="{contactRef}" />
            <contact-value>{contactValue}</contact-value>
            <!-- Valeurs possibles de {contactRef} : phone, mobile, fax, email -->
          </contact>
        </contact-list>    
      </person>
    </person-list>
    <!-- Description du véhicule : toutes ces données sont optionnelles,
    mais peuvent être utiles au distributeur, pour proposition de pièce(s) équivalente(s) -->
    <vehicle-list>
      <vehicle>
        <!-- Type du véhicule -->
        <breakdown-list>
          <classification dictionary="ETAI:vehicleType" ref="car" />
        </breakdown-list>
        <!-- Libellés de la variante -->
        <label>
          <long-label>{longLabel}</long-label>
          <short-label>{shortLabel}</short-label>
        </label>
        <identification-list>
          <!-- Identification de la Marque -->
          <identification>
            <breakdown-list>
              <classification dictionary="ETAI:vehicle" ref="make" />
            </breakdown-list>
            <label>
              <short-label>{makeLabel}</short-label>
            </label>
            <classification-list>
              <!-- Identifiant technique de la marque dans la base véhicule E-T-A-I -->
              <classification dictionary="ETAI:identifier" ref="makeId" source="etai">{makeId}</classification>
            </classification-list>
          </identification>
          <!-- Identification du Modèle -->          
          <identification>
            <breakdown-list>
              <classification dictionary="ETAI:vehicle" ref="model" />
            </breakdown-list>
            <label>
              <short-label>{modelLabel}</short-label>
            </label>            
            <classification-list>
              <!-- Identifiant technique du modèle dans la base véhicule E-T-A-I -->
              <classification dictionary="ETAI:identifier" ref="modelId" source="etai">{modelId}</classification>
            </classification-list>
          </identification>
          <!-- Identification de la Variante -->          
          <identification>
            <breakdown-list>
              <classification dictionary="ETAI:vehicle" ref="variation" />
            </breakdown-list>
            <label>
              <short-label>{variationLabel}</short-label>
            </label>            
            <classification-list>
              <!-- Identifiant technique de la variante dans la base véhicule E-T-A-I -->
              <classification dictionary="ETAI:identifier" ref="variationId" source="etai">{variationId}</classification>
            </classification-list>
          </identification>  
        </identification-list>          
        <!-- Identifiants administratifs du véhicule. Valeurs possibles pour {refType} : 
        registration (immatriculation), vvt (Type Mines ou TVV), CNIT, VIN, engineType (type moteur) -->
        <alternative-ref-list>
          <classification dictionary="ETAI:vehicle" ref="{refType}">{refValue}</classification>
        </alternative-ref-list>
        <!-- Type de carburant, caractérisé via le dictionnaire ETAI.
        Pour les véhicules disposant de plusieurs sources d’énergie, 
        il est possible de spécifier plusieurs éléments <fuel> -->
        <fuel-list>
          <fuel>
            <classification dictionary="ETAI:fuel" ref="gasoline">Essence </classification>
          </fuel>
        </fuel-list>                    
      </vehicle>
    </vehicle-list>  
    <!-- Dans l'élément <part-list> (obligatoire) déclaration de 1 à N éléments <part>, 
    décrivant des pièces / ingrédients / pneus, avec leurs quantités commandées --> 
    <part-list>
      <!-- Exemple : pièce 1 commandée en 6 exemplaires -->
      <part>
        <breakdown-list>
          <!-- Définition du type de pièce via le dictionnaire "ETAI:breakdown" :
          part (pièce) / ingredient (ingrédient) / tire (pneu) -->
          <classification dictionary="ETAI:breakdown" ref="part" />
          <!-- Dans le cas du type "part", définition du type d'élément via le dictionnaire "ETAI:partIdentification"
          (OE / AM / PRE / GU / IU) -->
          <classification dictionary="ETAI:partIdentification" ref="elementAM" />
        </breakdown-list>
        <label>
          <short-label>Bougie de préchauffage</short-label>
        </label>
        <reference-list>
          <!-- Référence, éventuellement selon plusieurs sources -->
          <classification ref="Y-1005J" source="catalog" />
          <classification ref="Y1005J" source="clean" />
        </reference-list>
        <!-- Fournisseur de la pièce -->
        <supplier>
          <!-- Abréviation fournisseur, SI l'élément de la pièce est du type "elementAM" -->
          <abbreviation>NGK</abbreviation>
          <!-- Libellé complet du fournisseur -->          
          <label>
            <long-label>NGK (Num STOCK)</long-label>
          </label>
          <classification-list>
            <!-- Abréviation du fournisseur selon l'un des dictionnaires "ETAI:supplier" (pièces AM),
            "ETAI:make" (pièces Constructeur) ou "ETAI:manufacturer" (pneus)  -->
            <classification dictionary="ETAI:supplier" ref="NGK" />
            <!-- Identifiant technique du fournisseur dans la base E-T-A-I -->
            <classification ref="2425" source="etai" />
          </classification-list>
        </supplier>
        <!-- Données optionnelles : les codes famille et sous-famille de la pièce -->
        <classification-list>
          <classification dictionary="ETAI:part" ref="family">{familyCodeValue}</classification>    
          <classification dictionary="ETAI:part" ref="subfamily">{subfamilyCodeValue}</classification>            
        </classification-list>
        <!-- Quantité commandée pour la pièce -->
        <quantity value-type="amount">
          <amount>6</amount>
        </quantity>
      </part>
      <!-- Exemple : pièce 2 commandée en 2 exemplaires -->
      <part>
        <breakdown-list>
          <classification dictionary="ETAI:breakdown" ref="part" />
          <classification dictionary="ETAI:partIdentification" ref="elementAM" />
        </breakdown-list>
        <label>
          <short-label>Filtre à huile</short-label>
        </label>
        <reference-list>
          <classification ref="L367" source="catalog" />
          <classification ref="L367" source="clean" />
        </reference-list>
        <supplier>
          <abbreviation>PUR</abbreviation>  
          <label>
            <long-label>PURFLUX</long-label>
          </label>
          <classification-list>
            <classification dictionary="ETAI:supplier" ref="PUR" />
            <classification ref="1114" source="etai" />
          </classification-list>
        </supplier>
        <quantity value-type="amount">
          <amount>2</amount>
        </quantity>
      </part>            
    </part-list>
    <!-- Transmission optionnelle d'un commentaire -->
    <comment-list>
      <comment>{Commentaire utilisateur pour le destinataire de la commande}</comment>
    </comment-list>
  </shuttle>
</xat2>

La réponse en retour est directe, elle pourrait être la suivante :

<xat2 xmlns="http://xat2.etai.fr" version="2.0">
  <message-list>
  <!-- Accusé de réception de la commande -->
    <message>
      <message-category>ack</message-category>
      <technical-description>postBasket processing complete</technical-description>
      <classification-list>
        <classification dictionary="Xat2:message" ref="complete" />
      </classification-list>
    </message>
  </message-list>
  <shuttle>
    <transport>
      <!-- Numéro du bon de livraison -->    
      <admin-list>
        <classification dictionary="ETAI:admin" ref="deliveryNumber">003 835280</classification>
      </admin-list>
      <!-- Statut du panier (complete / partial / rejected) -->
      <message-list>
        <message>
          <message-category>information</message-category>
          <classification-list>
            <classification dictionary="ETAI:status" ref="partial" />
          </classification-list>
        </message>
      </message-list>
    </transport>
    <!-- Paramètres du chiffrage -->
    <default-shuttle-settings>
      <currency dictionary="ETAI:unit" ref="euro" />
    </default-shuttle-settings>
    <settings>
      <!-- Taux de TVA -->
      <VAT-list>
        <VAT-rate internal-id="ID1">
          <value>
            <amount>20.0</amount>
          </value>
        </VAT-rate>
      </VAT-list>
      <!-- Remise(s) du Distributeur -->
      <discount-list>
        <!-- Remise par défaut pour les pièces et les ingrédients (ref="part") -->
        <discount internal-id="ID2">
          <breakdown-list>
            <classification dictionary="ETAI:applicability" ref="part" />
          </breakdown-list>
          <value value-type="percent">
            <amount>45</amount>
          </value>
        </discount>
        <!-- Remise sur le total de la commande (ref="total") -->
        <discount internal-id="ID3">
          <breakdown-list>
            <classification dictionary="ETAI:applicability" ref="total" />
          </breakdown-list>
          <value value-type="percent">
            <amount>10</amount>
          </value>
        </discount>
      </discount-list>
    </settings>
    <!-- Détails du panier -->
    <part-list>
      <!-- Montant total du panier -->
      <price-list>
        <price VAT-internal-id="ID1" discount-internal-id="ID3">
          <breakdown-list>
            <classification dictionary="ETAI:breakdown" ref="total" />
          </breakdown-list>
          <value-list>
            <!-- Prix total HT avec remise ID3 -->
            <value value-type="exclTaxes">
              <amount>35.71</amount>
              <include-deduction>
                <classification dictionary="ETAI:deductionType" ref="discount" />
              </include-deduction>              
            </value>
            <!-- Prix total TTC avec remise ID3 -->
            <value value-type="inclTaxes">
              <amount>42.85</amount>
            </value>
          </value-list>
        </price>
      </price-list>
      <!-- Détails pour la pièce 1 (6 exemplaires livrés) -->
      <part>
        <breakdown-list>
          <classification dictionary="ETAI:Breakdown" ref="part" />
          <classification dictionary="ETAI:partIdentification" ref="elementAM" />
        </breakdown-list>
        <reference-list>
          <classification ref="Y-1005J" source="catalog" />
          <classification ref="Y1005J" source="clean" />
        </reference-list>
        <supplier>
          <abbreviation>NGK</abbreviation>
          <label>
            <long-label>NGK (Num STOCK</long-label>
          </label>
          <classification-list>
            <classification dictionary="ETAI:supplier" ref="NGK" />
            <classification ref="2425" source="etai" />
          </classification-list>
        </supplier>
        <!-- Quantité de pièces qui seront livrées -->
        <quantity value-type="amount">
          <amount>6</amount>
        </quantity>
        <price-list>
          <!-- Prix unitaire de la pièce (ref="unit") -->
          <price>
            <breakdown-list>
              <classification dictionary="ETAI:unit" ref="unit" />
            </breakdown-list>
            <value-list>
              <!-- Prix HT -->
              <value value-type="exclTaxes">
                <amount>10.20</amount>
              </value>
            </value-list>
          </price>
          <!-- Prix total des N pièce(s) livrées (ref="packet"), lié à la TVA "ID1" et la remise "ID2" -->
          <price VAT-internal-id="ID1" discount-internal-id="ID2">
            <breakdown-list>
              <classification dictionary="ETAI:unit" ref="packet" />
            </breakdown-list>
            <value-list>
              <!-- Prix HT avec remise -->
              <value value-type="exclTaxes">
                <amount>33.66</amount>
                <include-deduction>
                  <classification dictionary="ETAI:deductionType" ref="discount" />
                </include-deduction>
              </value>
              <!-- Prix TTC avec remise -->              
              <value value-type="inclTaxes">
                <amount>40.39</amount>
                <include-deduction>
                  <classification dictionary="ETAI:deductionType" ref="discount" />
                </include-deduction>
              </value>
            </value-list>
          </price>
        </price-list>
        <!-- Statut de la commande de la pièce 1 : la demande a été totalement satisfaite -->        
        <status>
          <classification dictionary="ETAI:status" ref="complete" />
        </status>
      </part>
      <!-- Détails pour la pièce 2 (un seul exemplaire livré) --> 
      <part>
        <breakdown-list>
          <classification dictionary="ETAI:Breakdown" ref="part" />
          <classification dictionary="ETAI:partIdentification" ref="elementAM" />
        </breakdown-list>
        <reference-list>
          <classification ref="L367" source="catalog" />
          <classification ref="L367" source="clean" />
        </reference-list>
        <supplier>
          <abbreviation>PUR</abbreviation>
          <label>
            <long-label>PURFLUX</long-label>
          </label>
          <classification-list>
            <classification dictionary="ETAI:supplier" ref="PUR" />
            <classification ref="1114" source="etai" />
          </classification-list>
        </supplier>
        <!-- Quantité de pièces qui seront livrées -->
        <quantity value-type="amount">
          <amount>1</amount>
        </quantity>
        <price-list>
          <!-- Prix unitaire de la pièce (ref="unit") -->
          <price>
            <breakdown-list>
              <classification dictionary="ETAI:unit" ref="unit" />
            </breakdown-list>
            <value-list>
              <!-- Prix HT -->
              <value value-type="exclTaxes">
                <amount>10.94</amount>
              </value>
            </value-list>
          </price>
          <!-- Prix total des N pièce(s) livrées (ref="packet"), lié à la TVA "ID1" et la remise "ID2" -->
          <price VAT-internal-id="ID1" discount-internal-id="ID2">
            <breakdown-list>
              <classification dictionary="ETAI:unit" ref="packet" />
            </breakdown-list>
            <value-list>
              <!-- Prix HT avec remise -->
              <value value-type="exclTaxes">
                <amount>6.02</amount>
                <include-deduction>
                  <classification dictionary="ETAI:deductionType" ref="discount" />
                </include-deduction>
              </value>
              <!-- Prix TTC avec remise -->              
              <value value-type="inclTaxes">
                <amount>7.22</amount>
                <include-deduction>
                  <classification dictionary="ETAI:deductionType" ref="discount" />
                </include-deduction>
              </value>
            </value-list>
          </price>
        </price-list>
        <!-- Statut de la commande de la pièce 2 : la demande a été en partie satisfaite -->
        <status>
          <classification dictionary="ETAI:status" ref="partial" />
        </status>
      </part>      
    </part-list>
    <!-- Transmission optionnelle d'un commentaire du Distributeur -->    
    <comment-list>
      <comment>Votre commande du 24/01/2017 à bien été reçue et partiellement prise en compte. 
      Numéro du  bon de commande : 003 835280</comment>
    </comment-list>
  </shuttle>
</xat2>

 

retour