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>