Transforming information into performance

getData / postEstimate

Lorsque le devis est achevé dans l’application Catalogue IO, l’utilisateur envoie une notification à l’application Partenaire (clic sur le bouton « TRANSFERT »).
L’application Partenaire envoie une requête getData, à laquelle l’application Catalogue IO répond avec le verbe postEstimate et toutes les données du devis.

<xat2 xmlns="http://xat2.etai.fr" version="2.0">
  <session-context>
    <!-- Déclaration obligatoire de l'identifiant de la session -->
    <session-id>{identifiant unique de la session}</session-id>
  </session-context>
  <shuttle>
    <transport>
      <action-list>
        <!-- Déclaration obligatoire du verbe -->      
        <action>
          <verb>getData</verb>
        </action>
      </action-list>
    </transport>
  </shuttle>
</xat2>

La réponse en retour (avec accusé de réception et toutes les données du devis) pourrait avoir l’allure suivante :

<xat2 xmlns="http://xat2.etai.fr" version="2.0">
  <!-- Dates d'arrivée du message et du traitement de la requête -->
  <date-list>
    <explicit-date source="xat2">
      <breakdown-list>
        <classification dictionary="ETAI:date" ref="receive" source="xat2">Receive date</classification>
      </breakdown-list>
      <date format="dd.MM.yyyy HH:mm:ss:S Z">30.01.2017 09:14:41:298 +0100</date>
    </explicit-date>
    <explicit-date source="xat2">
      <breakdown-list>
        <classification dictionary="ETAI:date" ref="dispatch" source="xat2">Completion date</classification>
      </breakdown-list>
      <date format="dd.MM.yyyy HH:mm:ss:S Z">30.01.2017 09:14:41:298 +0100</date>
    </explicit-date>
  </date-list>
  <!-- Accusé de réception de la demande -->    
  <message-list>
    <message source="xat2">
      <message-category>ack</message-category>
      <user-description dictionary="Xat2:message" ref="complete">getData processing complete</user-description>
      <technical-description>getData processing complete</technical-description>
      <classification-list>
        <classification dictionary="Xat2:message" ref="complete" />
      </classification-list>
    </message>
  </message-list>
  <shuttle>
    <transport>
      <action-list>
        <!-- Verbe indiquant à l'application Partenaire que le devis lui est envoyé -->
        <action>
          <verb>postEstimate</verb>
          <!-- Code du  devis dans l'application Partenaire -->
          <option-list>
            <option dictionary="ETAI:admin" ref="fileNumber" source="partner">2017-012345</option>
          </option-list>
        </action>
      </action-list>
    </transport>
    <!-- Paramètres par défaut -->
    <default-shuttle-settings>
      <currency dictionary="ETAI:unit" ref="euro" />
      <time-unit dictionary="ETAI:unit" ref="hour" />
    </default-shuttle-settings>    
    <settings>
      <!-- Déclarations successives de tous les taux de main-d'oeuvre utiles au devis :
      . {sectorValue} vaut "mechanical" ou "body" ou "paint"
      . {levelValue} vaut 1 ou 2 ou 3  -->
      <labor-list>
        <labor-cost-rate>
          <breakdown-list>
            <classification dictionary="ETAI:sector" ref="{sectorValue}" />
            <classification dictionary="ETAI:level" ref="{levelValue}" />
          </breakdown-list>
          <value>
            <amount>{amountValue}</amount>
          </value>
        </labor-cost-rate>
      </labor-list>
      <!-- Déclaration de 1 à N taux de TVA (en pourcentage) -->
      <VAT-list>
        <VAT-rate internal-id="ID2">
          <value>
            <amount>{amountValue}</amount>
          </value>
        </VAT-rate>
      </VAT-list>
      <discount-list>
        <!-- Remises par défaut : {applicabiltyRef} vaut "part" pour les pièces/ingrédients 
        ou "tire" pour les pneus ou "labor-rate" pour les opérations de temps) -->
        <discount internal-id="ID3">
          <breakdown-list>
            <classification dictionary="ETAI:applicability" ref="{applicabiltyRef}" />
          </breakdown-list>
          <value value-type="percent">
            <amount>{amountValue}</amount>
          </value>
        </discount>
        <!-- Remise éventuelle sur le total de la commande (ref="total") -->
        <discount internal-id="ID4">
          <breakdown-list>
            <classification dictionary="ETAI:applicability" ref="total" />
          </breakdown-list>
          <value value-type="percent">
            <amount>{amountValue}</amount>
          </value>
        </discount>
      </discount-list>      
    </settings>  
    <!-- Description du véhicule du devis, avec la référence interne ID1 :
    Voir les détails dans l'onglet <vehicle-list> en page des informations techniques globales -->    
    <vehicle-list>
      <vehicle internal-id="ID1">
        [...]
      </vehicle>
    </vehicle-list>
    <calculating-list>
      <!-- Données du devis liées au véhicule dont la référence interne est ID1 -->      
      <calculating vehicle-internal-id="ID1">
        <price-list>
          <!-- Prix totaux du devis, de l'ensemble des pièces, des temps, 
          des retraitements des déchets, des consignes, des forfaits :
          Voir les détails dans l'onglet <price-list> en page des informations techniques globales -->
          <price VAT-internal-id="ID2">
            [...]
          </price>
        </price-list>
        <!-- Liste des pièces, chacune est repérée par un identifiant interne.
        Voir les détails dans l'onglet <part-list> en page des informations techniques globales -->
        <part-list>
          <part internal-id="ID5">
            [...]
          <part>
        </part-list>
        <!-- Liste des opérations.
        Voir les détails dans l'onglet <operation-list> en page des informations techniques globales -->
        <operation-list>
          <operation>
            <breakdown-list>
              <classification dictionary="ETAI:breakdown" ref="labor" />
              <classification dictionary="ETAI:operationType" ref="main" />
            </breakdown-list>
            <label />
            <price-list />
            <part-link-list>
              <part-link part-internal-id="ID5" />
            </part-link-list>
          </operation>
        </operation-list>
      </calculating>
    </calculating-list>
  </shuttle>
</xat2>

 

retour