Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
Haut de page
Haut de page

Section


Column

Si vous voulez utiliser le web service pour accéder à vos données Logistics, vous devez impérativement passer par l'installation Installation du web serviceWebservice SQL.

Le web service est constitué de plusieurs méthodes que nous allons décrire ci-dessous. Ces méthodes se trouvent dans un fichier appelé WS_Proc(numéro de version) contenu dans ws_proc109.zip et wsproc_wsevent.zip. Ces fichiers sont à placer dans le répertoire Webservice (à créer si nécessaire) se trouvant dans le parent du dossier client (ex : c:\winbooks\data\logistics\Webservice).

Ces méthodes permettent par exemple de créer, modifier un utilisateur ou encore d'avoir le prix actuel d'un article donné pour un stock bien précis, etc...

La première chose à faire est d'initialiser le web service que vous voulez utiliser en appelant sa méthode WSLOGIN. Cette méthode vous renverra différentes variables sous forme d'XML, ces variables vous serviront pour l'appel de vos méthodes (en vert ci-dessous). Tous les appels de méthodes se font par le biais de la méthode REQUEST dont voici les paramètres :
wsrequest (Nom de la procédure, LsPath, LsKey, LsLang, XmlHeader, XmlFile,XmlFooter).

Info
titleUtilitaire de test

Vous pouvez consulter la section Test du Webservice SQL pour obtenir un utilitaire de test du webservice


Le webservice de Logistics repose sur une requête principale dont le premier paramètre correspond à la fonction qui est appelée.


Voici le descriptif de cette fonction :

wsrequest (Fonction, Path, Key, Lang, XmlHeader, XmlFile,XmlFooter)

ParamètreDescription
FonctionNom de la fonction appelée
PathParamètre historique qui n'est plus utilisé dans le cadre des procédures standard du webservice mais peut être utilisé dans les procédures ajoutées en plug in
KeyClé applicative
LangParamètre utilisé dans le cas la procédure WSGETARTADDITIONALFIELDS ou dans les procédures ajoutées en plug in dans les autres cas celle-ci est optionnelle
XmlHeader1er xml de paramétrage, voir le descriptif de la procédure appelée
XmlFile2eme xml de paramétrage, voir le descriptif de la procédure appelée
XmlFooter3eme xml de paramétrage, voir le descriptif de la procédure appelée


Le web service est constitué de plusieurs fonction décrites ci-dessous.

Ces méthodes permettent par exemple de créer, modifier un utilisateur ou encore d'avoir le prix actuel d'un article donné pour un stock bien précis, etc...


Column
width250px
Column
width400px


Panel

Sur cette page:

Table of Contents
maxLevel3

WsLogin

Exemple en ASP
Code Block
languageactionscript3
private function ConnectEdb
LsUSER = "WSUSER" // Utilisateur Flex
LsPSWD = "987654" // Mot de passé de l'utilisateur Flex
LsCOMPANY = "DEMO" // Dossier Flex
LsVERSION = "109" // Version Webservice
LsPRGROOT = "\\Server-ecom\demo\winbooks\data\logistics\" // Chemin où se trouve le plugin (utilisé par le web service), attention, comme le web service peut se trouver sur un autre serveur que celui des pages du site, il faut impérativement lui envoyer un chemins UNC.

LsCTRL = "<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?>" & _
         "<VFPData><login>" & _
         "<userid>" & LsUSER & "</userid>" & _
         "<pswd>" & LsPSWD & "</pswd>" & _
         "<compid>" & LsCOMPANY & "</compid>" & _
         "<version>" & LsVERSION & "</version>" & _
         "<PrgRoot>" & LsPRGROOT & "</PrgRoot></login></VFPData>"

set soapclient = CreateObject("MSSOAP.SoapClient30")
soapclient.ClientProperty("ServerHTTPRequest") = True
soapclient.mssoapinit(WSPath)

Lsresult = soapclient.login (LsCTRL)
set oLogin = new clsLogin
oLogin.XmlLoginResponse = LsResult

session("edb_Path") = oLogin.DbPath
session("edb_Key") = oLogin.DbKey
session("edb_Lang") = oLogin.Language
Exemple en CSharp




Connexion au webservice

La connexion au webservice est basé sur une clé partagée entre le webservice et l'application utilisatrice.

Il suffit donc de remplir le paramètre Key de la méthode wsrequest avec la valeur de la clé partagée

Info

Veuillez consulter la configuration de Logistics pour le module webservice pour plus de détail sur la configuration de cette clé partagée.


Info

La requête WsLogin est présente principalement pour une question historique mais permet de récupérer la clé applicative en spécifiant un code utilisateur et son mot de passe.

wsloginrequest (PcCtrl)

Code Block
languagexml
titlePcCtrl
<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?>
<VFPData>
	<login>
         <userid>WSUSER</userid>
		 <pswd>Password_WSUSER</pswd>
         <compid>FOLDER</compid>
         <version></version>
         <PrgRoot></PrgRoot>
	</login>
</VFPData>


Projets exemples

les projets présentés sont des exemples d'utilisation du webservice dans divers langage de programmation et n'ont pas pour but d'être directement installer en production.

WsLogin

Cette fonction WsLogin renvoie trois paramètres (Path, Key, language). Vous devez ensuite utiliser ces 3 paramètres pour faire appel aux autres fonctions du webservice.

Exemple en ASP
Code Block
languageactionscript3
private function ConnectEdb
LsUSER = "WSUSER"  // Utilisateur Logistics
LsPSWD = "987654"  // Mot de passé de l'utilisateur Logistics
LsCOMPANY = "DEMO" // Nom du dossier Logistics
LsVERSION = "109"  // Version du webservice
LsPRGROOT = "\\server\winbooks\data\logistics\" // Chemin où se trouve le plugin (utilisé par le web service). Attention, comme le web service peut se trouver sur un autre serveur que celui des pages du site, il faut impérativement lui envoyer un chemin UNC. Le chemin dans le fichier Logistics.ini doit également être un chemin UNC.

LsCTRL = "<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?>" & _
         "<VFPData><login>" & _
         "<userid>" & LsUSER & "</userid>" & _
         "<pswd>" & LsPSWD & "</pswd>" & _
Code Block
languagecsharp
String lsValue = "";
String lsName = "";
String LsCTRL = "<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?>" +
                "<VFPData><login><compid>" +
& LsCOMPANY & "</compid>" &   _
         "<userid><version>" +& psUSERLsVERSION +& "</userid>version>" & +
       _
         "<pswd><PrgRoot>" +& psPSWDLsPRGROOT +& "</PrgRoot></login></VFPData>"

set soapclient = CreateObject("MSSOAP.SoapClient30")
soapclient.ClientProperty("ServerHTTPRequest") = True
soapclient.mssoapinit(WSPath)

Lsresult = soapclient.login (LsCTRL)
set oLogin = new clsLogin
oLogin.XmlLoginResponse = LsResult

session("edb_Path") = oLogin.DbPath
session("edb_Key") = oLogin.DbKey
session("edb_Lang") = oLogin.Language
Exemple en C#
Code Block
languagecsharp
String lsValue = "";
String lsName = "";
String LsCTRL = "<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?>" +
                "<VFPData><login>pswd>" +
                "<compid>" + psCOMPANY + "</compid>" +
                "<version>" + psVERSION + "</version>" +
                "<PrgRoot><userid>" + psPRGROOTpsUSER + "</PrgRoot></login></VFPData>";
WsFlex ws = new WsFlex("");
psResultLogin = ws.LOGIN(LsCTRL);

Cette fonction renvoie trois paramètres (Path, Key, language). Vous devez ensuite utiliser ces paramètres pour faire appel aux fonctions. WsFlex est déclaré dans les WebRéférences de votre projet qui pointe vers le fichier WSDL de votre web service.

Exemple en PHP
Code Block
languagephp
<?php
$client = new SoapClient("http://217.112.181.34/wsflexDotNet/ServiceFlexDotNet.asmx?wsdl",array('soap_version' => SOAP_1_2));
$LsUSER = "WSUSER";
$LsPSWD = "987654";
$LsCOMPANY = "DEMO";
$LsVERSION="109";
$LsPRGROOT="e:\\demo\\winbooks\\data\\logistics\\";
$LsCTRL="<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?><VFPData><login><userid>".$LsUSER."</userid><pswd>".$LsPSWD."</pswd><compid>".$LsCOMPANY."</compid><version>".$LsVERSION. "</version><PrgRoot>".$LsPRGROOT."</userid>" +
                "<pswd>" + psPSWD + "</pswd>" +
                "<compid>" + psCOMPANY + "</compid>" +
                "<version>" + psVERSION + "</version>" +
                "<PrgRoot>" + psPRGROOT + "</PrgRoot></login></VFPData>";
try
{
WsFlex ws $params = new arrayWsFlex("PcCtrl"=>$LsCTRL);
  $RespsResultLogin = $client->__call('Login',array("parameter"=>$params));

  //echo 'RESPONSE: ' .$client->__getLastResponse()."<br>";
  //echo 'REQUEST : ' . $client->__getLastRequest()."<br>";
} 
catch (SoapFault $fault) 
{
            print_r($fault);
            throw new Exception($fault->getMessage());
}
var_dump($Res);
?>

#Haut de page

WsGetLogin

Warning

Dans toutes les versions inférieures à la version 5.5, le mot de passe ne doit pas dépasser 20 caractères. A partir de la version 5.5, il n'y a plus de limitation du nombre de caractères dans le mot de passe.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <chkmail>jfcu@spiritsystems.be</chkmail> 
    <pswd>123</pswd> 
  </xmlresult>
</VFPData>
Code Block
languagexml
titleXMLFILE
a
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <name>Fauquet Sprl.</name> 
    <name2>Fauquet Geoffrey</name2> 
    <adrname /> 
    <adrname2 /> 
    <adrstreet /> 
    <adrstreet2 /> 
    <adrcountry /> 
    <adrzip /> 
    <adrcity /> 
    <adrfax /> 
    <adrphone /> 
    <adrphone2 /> 
    <userid /> 
    <email /> 
    <civility /> 
    <title /> 
    <customer>true</customer> 
    <supplyer>false</supplyer> 
    <groupid>WS00000001</groupid> 
    <custid>P-WS00000003</custid> 
    <custtype /> 
    <vat /> 
    <vatcountry /> 
    <discount>0</discount> 
    <saledelay>0</saledelay> 
    <paydelay /> 
    <paydisc>0</paydisc> 
    <other>false</other> 
    <paymode /> 
    <web>true</web> 
    <webpsw /> 
    <webwhere /> 
    <points>0</points> 
    <errornr>ERROR 0</errornr> 
    <language /> 
    <dbkey /> 
    <logmessage>Consumer is correct</logmessage> 
    <displayinventory>0</displayinventory> 
    <u_test /> 
    <c_prenom>John.</c_prenom> 
    <c_num>18</c_num> 
    <ana1 /> 
  </xmlreturn>
</VFPData>

#Haut de page

WsManageCustomer

Cette fonction permet d'ajouter ou de modifier un client.
Si aucun Custid n'est indiqué, le client sera alors créé sinon il sera modifié

Warning

Le mot de passe ne doit pas dépasser 20 caractères.

Exemple d'appel en CSharp
Code Block
languagecsharp
TextBox_XmlResult.Text = ws.WsRequest("WSMANAGECUSTOMER", TextBox_XmlHeaderSend.Text, TextBox_XmlFileSend.Text, TextBox_XmlFooterSend.Text);
Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <name>Fauquet Sprl</name> 
    <name2>Fauquet Geoffrey</name2> 
  </xmlresult>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <xmlreturn>
  <custid>C-WS00000003</custid> 
  <userid /> 
  <accountid /> 
  <groupid>WS00000003</groupid> 
  <name>Fauquet Sprl</name> 
  <name2>Fauquet Geoffrey</name2> 
  <adrstreet /> 
  <adrzip /> 
  <adrcity /> 
  <adrphone /> 
  <adrphone2 /> 
  <adrfax /> 
  <language /> 
  <vat /> 
  <memo /> 
  <vatid /> 
  <s_deleted>false</s_deleted> 
  <s_credate>2008-02-26T10:46:07</s_credate> 
  <s_moddate>2008-02-26T10:53:08</s_moddate> 
  <custtype /> 
  <currid /> 
  <agent /> 
  <artcateg /> 
  <artcoef>0</artcoef> 
  <bankname /> 
  <banknr /> 
  <paydelay /> 
  <paymode /> 
  <paydisc>0.0</paydisc> 
  <credfile /> 
  <credamount>0</credamount> 
  <crednote /> 
  <priority /> 
  <fullline>false</fullline> 
  <situation /> 
  <transport /> 
  <ca>0</ca> 
  <bankparam /> 
  <tarif>0</tarif> 
  <ana1 /> 
  <ana2 /> 
  <adrcountry /> 
  <stkid /> 
  <adrname /> 
  <adrname2 /> 
  <title /> 
  <supplyer>false</supplyer> 
  <customer>true</customer> 
  <extref /> 
  <importid /> 
  <other>false</other> 
  <custaccid /> 
  <discount>0</discount> 
  <currid2 /> 
  <adrstreet2 /> 
  <invstreet2 /> 
  <vatcountry /> 
  <email /> 
  <website /> 
  <buyvatid /> 
  <saledelay>0</saledelay> 
  <s_repdate /> 
  <blocktype>0</blocktype> 
  <blockwhen>0</blockwhen> 
  <blockmax>0</blockmax> 
  <codexpgrp /> 
  <copycount>0</copycount> 
  <invpos>false</invpos> 
  <invartgrp>false</invartgrp> 
  <amtfranco>0</amtfranco> 
  <artport /> 
  <vatcat /> 
  <modified>false</modified> 
  <civility /> 
  <web>false</web> 
  <webpsw /> 
  <webwhere /> 
  <webdispinv>0</webdispinv> 
  <forecolor /> 
  <gdisc>0</gdisc> 
  <u_test /> 
  <s_creuid /> 
  <s_moduid /> 
 </xmlreturn>
</VFPData>

#Haut de page

WsGetCustInfo

Cette fonction permet d'avoir les informations d'un client.

Exemple en ASP
Code Block
languageactionscript3
set soapclient = CreateObject("MSSOAP.SoapClient30")
soapclient.ClientProperty("ServerHTTPRequest") = True
soapclient.mssoapinit(WSPath)

LSresult = soapclient.wsrequest ("WSGETCUSTINFO",LsPath,LsKey,LsLang,"a",LsXMLFile,"a")
Exemple d'appel en CSharp
Code Block
languagecsharp
ws.WsRequest(PcProcName, pPath, pKey, pLang, pcXmlHeader, pcXmlFile, pcXmlFooter);
Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <custid>C-WS00000001</custid> 
  </xmlreturn>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <xmlreturn>
  <custid>WS00000316</custid> 
  <userid /> 
  <accountid /> 
  <groupid>WS000316</groupid> 
  <name>Spirit Systems sprl</name> 
  <name2>Cuylits Jean-François.</name2> 
  <adrstreet>Fond Jean Paques 6C</adrstreet> 
  <adrzip>1438</adrzip> 
  <adrcity>Louvain-La-Neuve</adrcity> 
  <adrphone>010 45 12 44</adrphone> 
  <adrphone2>0475 78 82 57</adrphone2> 
  <adrfax /> 
  <language>F</language> 
  <vat>04737.109.813</vat> 
  <memo /> 
  <vatid /> 
  <s_deleted>false</s_deleted> 
  <s_credate /> 
  <s_moddate /> 
  <custtype /> 
  <currid /> 
  <agent /> 
  <artcateg /> 
  <artcoef>0</artcoef> 
  <bankname /> 
  <banknr /> 
  <paydelay /> 
  <paymode /> 
  <paydisc>0.0</paydisc> 
  <credfile /> 
  <credamount>0</credamount> 
  <crednote /> 
  <priority /> 
  <fullline>false</fullline> 
  <situation /> 
  <transport /> 
  <ca>0</ca> 
  <bankparam /> 
  <tarif>0</tarif> 
  <ana1 /> 
  <adrcountry>BE</adrcountry> 
  <stkid /> 
  <adrname /> 
  <adrname2 /> 
  <title>Monsieur</title> 
  <supplyer>false</supplyer> 
  <customer>false</customer> 
  <extref /> 
  <importid /> 
  <other>false</other> 
  <custaccid /> 
  <discount>0</discount> 
  <currid2 /> 
  <adrstreet2 /> 
  <invstreet2 /> 
  <vatcountry>BE</vatcountry> 
  <email>jfcu@spiritsystems.be</email> 
  <website /> 
  <buyvatid /> 
  <saledelay>0</saledelay> 
  <s_repdate /> 
  <blocktype>0</blocktype> 
  <blockwhen>0</blockwhen> 
  <blockmax>0</blockmax> 
  <codexpgrp /> 
  <copycount>0</copycount> 
  <invpos>false</invpos> 
  <invartgrp>false</invartgrp> 
  <vatcat /> 
  <modified>false</modified> 
  <civility /> 
  <web>false</web> 
  <webpsw>123</webpsw> 
  <webwhere /> 
  <webdispinv>0</webdispinv> 
  <forecolor /> 
  <gdisc>0</gdisc> 
  <u_test /> 
  <s_creuid /> 
  <s_moduid /> 
 </xmlreturn>
</VFPData>

#Haut de page

WsGetPriceStock

Cette fonction permet d'avoir le prix pour un article donné ainsi que le nombre d'article total et par stock spécifié.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <Customer>
    <custid>C-0100000009</custid> 
  </Customer>
</VFPData>
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<articles>
  <article>
    <artid>C2</artid> 
    <color /> 
    <size /> 
  </article>
  <warehouses>
    <Warehouse>A</Warehouse> 
    <Warehouse>B</Warehouse> 
  </warehouses>
</articles>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <vatinc>.T.</vatinc> 
  <xmlreturnst>
    <xartid>C2</xartid> 
    <xcolor /> 
    <xsize /> 
    <xwarehouse>
    <Xname>A</Xname> 
    <Qty>5000</Qty> 
    </xwarehouse>
    <xwarehouse>
    <Xname>B</Xname> 
    <Qty>3000</Qty> 
    </xwarehouse>
    <xqty>8000</xqty> 
    <xprice>0</xprice> 
    <xstkinday>0</xstkinday> 
    <xremark>x</xremark> 
  </xmlreturnst>
</VFPData>

#Haut de page

WsGetDeliveryAdress

...

ws.LOGIN(LsCTRL);

En C#, WsFlex doit être déclaré dans les WebRéférences de votre projet qui pointe vers le fichier WSDL de votre webservice.

Exemple en PHP
Code Block
languagephp
<?php

// 1. Initialisation

$client = new SoapClient("http://217.112.181.34/wsflexDotNet/ServiceFlexDotNet.asmx?wsdl", array('soap_version' => SOAP_1_2));
$LsUSER = "WSUSER";  // Utilisateur Logistics
$LsPSWD = "987654";  // Mot de passé de l'utilisateur Logistics
$LsCOMPANY = "DEMO"; // Nom du dossier Logistics
$LsVERSION = "109";  // Version du webservice
$LsPRGROOT = "\\server\winbooks\data\logistics\\";
$LsCTRL = "<?xml version = '1.0' encoding='Windows-1252' standalone='yes' ?>
<VFPData>
  <login>
    <userid>".$LsUSER."</userid>
    <pswd>".$LsPSWD."</pswd>
    <compid>".$LsCOMPANY."</compid>
    <version>".$LsVERSION. "</version>
    <PrgRoot>".$LsPRGROOT."</PrgRoot>
  </login>
</VFPData>";

try
{
    $params = array("PcCtrl" => $LsCTRL);
    $Res = $client->__call('Login', array("parameter" => $params));
    
    $language = "F";
    $dbpath = $LsPRGROOT."".$LsCOMPANY."\\";
    $dbkey = $Res->LOGINResult;

    //echo 'RESPONSE: ' .$client->__getLastResponse()."<br>";
    //echo 'REQUEST : ' . $client->__getLastRequest()."<br>";
} 
catch (SoapFault $fault)
{
    print_r($fault);
    throw new Exception($fault->getMessage());
}

// 2. Request

$xmlFile = '<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
  <xmlreturn>
    <custid>WS00000003</custid>
  </xmlreturn>
</VFPData>';

try
{
    $param = array("PcFunc" => "WsGetCustInfo", "PcPath" => $dbpath, "PcKey" => $dbkey, "PcLang" => $language, "Pcxmlheader" => "a", "pcxmlfile" => $xmlFile, "pcxmlfooter" => "a");
    $cust = $client->__call("WsRequest", array("parameter" => $param));
    var_dump($cust);
}
catch (SoapFault $fault)
{
    print_r($fault);
    throw new Exception($fault->getMessage());
}

?>

Haut de page

WsGetLogin

Warning

Dans toutes les versions inférieures à la version 5.5, le mot de passe ne doit pas dépasser 20 caractères. A partir de la version 5.5, il n'y a plus de limitation du nombre de caractères dans le mot de passe.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <chkmail>jfcu@spiritsystems.be</chkmail> 
    <pswd>123</pswd> 
  </xmlresult>
</VFPData>


Code Block
languagexml
titleXMLFILE
a


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <name>Fauquet Sprl.</name> 
    <name2>Fauquet Geoffrey</name2> 
    <adrname /> 
    <adrname2 /> 
    <adrstreet /> 
    <adrstreet2 /> 
    <adrcountry /> 
    <adrzip /> 
    <adrcity /> 
    <adrfax /> 
    <adrphone /> 
    <adrphone2 /> 
    <userid /> 
    <email /> 
    <civility /> 
    <title /> 
    <customer>true</customer> 
    <supplyer>false</supplyer> 
    <groupid>WS00000001</groupid> 
    <custid>P-WS00000003</custid> 
    <custtype /> 
    <vat /> 
    <vatcountry /> 
    <discount>0</discount> 
    <saledelay>0</saledelay> 
    <paydelay /> 
    <paydisc>0</paydisc> 
    <other>false</other> 
    <paymode /> 
    <web>true</web> 
    <webpsw /> 
    <webwhere /> 
    <points>0</points> 
    <errornr>ERROR 0</errornr> 
    <language /> 
    <dbkey /> 
    <logmessage>Consumer is correct</logmessage> 
    <displayinventory>0</displayinventory> 
    <u_test /> 
    <c_prenom>John.</c_prenom> 
    <c_num>18</c_num> 
    <ana1 /> 
  </xmlreturn>
</VFPData>

Haut de page

WsManageCustomer

Cette fonction permet d'ajouter ou de modifier un client.
Si aucun Custid n'est indiqué, le client sera alors créé sinon il sera modifié

Warning

Le mot de passe ne doit pas dépasser 20 caractères.

Exemple d'appel en CSharp
Code Block
languagecsharp
TextBox_XmlResult.Text = ws.WsRequest("WSMANAGECUSTOMER", TextBox_XmlHeaderSend.Text, TextBox_XmlFileSend.Text, TextBox_XmlFooterSend.Text);
Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <name>Fauquet Sprl</name> 
    <name2>Fauquet Geoffrey</name2> 
  </xmlreturn>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <xmlreturn>
  <custid>C-WS00000003</custid> 
  <userid /> 
  <accountid /> 
  <groupid>WS00000003</groupid> 
  <name>Fauquet Sprl</name> 
  <name2>Fauquet Geoffrey</name2> 
  <adrstreet /> 
  <adrzip /> 
  <adrcity /> 
  <adrphone /> 
  <adrphone2 /> 
  <adrfax /> 
  <language /> 
  <vat /> 
  <memo /> 
  <vatid /> 
  <s_deleted>false</s_deleted> 
  <s_credate>2008-02-26T10:46:07</s_credate> 
  <s_moddate>2008-02-26T10:53:08</s_moddate> 
  <custtype /> 
  <currid /> 
  <agent /> 
  <artcateg /> 
  <artcoef>0</artcoef> 
  <bankname /> 
  <banknr /> 
  <paydelay /> 
  <paymode /> 
  <paydisc>0.0</paydisc> 
  <credfile /> 
  <credamount>0</credamount> 
  <crednote /> 
  <priority /> 
  <fullline>false</fullline> 
  <situation /> 
  <transport /> 
  <ca>0</ca> 
  <bankparam /> 
  <tarif>0</tarif> 
  <ana1 /> 
  <ana2 /> 
  <adrcountry /> 
  <stkid /> 
  <adrname /> 
  <adrname2 /> 
  <title /> 
  <supplyer>false</supplyer> 
  <customer>true</customer> 
  <extref /> 
  <importid /> 
  <other>false</other> 
  <custaccid /> 
  <discount>0</discount> 
  <currid2 /> 
  <adrstreet2 /> 
  <invstreet2 /> 
  <vatcountry /> 
  <email /> 
  <website /> 
  <buyvatid /> 
  <saledelay>0</saledelay> 
  <s_repdate /> 
  <blocktype>0</blocktype> 
  <blockwhen>0</blockwhen> 
  <blockmax>0</blockmax> 
  <codexpgrp /> 
  <copycount>0</copycount> 
  <invpos>false</invpos> 
  <invartgrp>false</invartgrp> 
  <amtfranco>0</amtfranco> 
  <artport /> 
  <vatcat /> 
  <modified>false</modified> 
  <civility /> 
  <web>false</web> 
  <webpsw /> 
  <webwhere /> 
  <webdispinv>0</webdispinv> 
  <forecolor /> 
  <gdisc>0</gdisc> 
  <u_test /> 
  <s_creuid /> 
  <s_moduid /> 
 </xmlreturn>
</VFPData>

Haut de page

WsGetCustInfo

Cette fonction permet d'avoir les informations d'un client.

Exemple en ASP
Code Block
languageactionscript3
set soapclient = CreateObject("MSSOAP.SoapClient30")
soapclient.ClientProperty("ServerHTTPRequest") = True
soapclient.mssoapinit(WSPath)

LSresult = soapclient.wsrequest ("WSGETCUSTINFO",LsPath,LsKey,LsLang,"a",LsXMLFile,"a")
Exemple d'appel en CSharp
Code Block
languagecsharp
ws.WsRequest(PcProcName, pPath, pKey, pLang, pcXmlHeader, pcXmlFile, pcXmlFooter);
Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <custid>C-WS00000001</custid> 
  </xmlreturn>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <xmlreturn>
  <custid>WS00000316</custid> 
  <userid /> 
  <accountid /> 
  <groupid>WS000316</groupid> 
  <name>Spirit Systems sprl</name> 
  <name2>Cuylits Jean-François.</name2> 
  <adrstreet>Fond Jean Paques 6C</adrstreet> 
  <adrzip>1438</adrzip> 
  <adrcity>Louvain-La-Neuve</adrcity> 
  <adrphone>010 45 12 44</adrphone> 
  <adrphone2>0475 78 82 57</adrphone2> 
  <adrfax /> 
  <language>F</language> 
  <vat>04737.109.813</vat> 
  <memo /> 
  <vatid /> 
  <s_deleted>false</s_deleted> 
  <s_credate /> 
  <s_moddate /> 
  <custtype /> 
  <currid /> 
  <agent /> 
  <artcateg /> 
  <artcoef>0</artcoef> 
  <bankname /> 
  <banknr /> 
  <paydelay /> 
  <paymode /> 
  <paydisc>0.0</paydisc> 
  <credfile /> 
  <credamount>0</credamount> 
  <crednote /> 
  <priority /> 
  <fullline>false</fullline> 
  <situation /> 
  <transport /> 
  <ca>0</ca> 
  <bankparam /> 
  <tarif>0</tarif> 
  <ana1 /> 
  <adrcountry>BE</adrcountry> 
  <stkid /> 
  <adrname /> 
  <adrname2 /> 
  <title>Monsieur</title> 
  <supplyer>false</supplyer> 
  <customer>false</customer> 
  <extref /> 
  <importid /> 
  <other>false</other> 
  <custaccid /> 
  <discount>0</discount> 
  <currid2 /> 
  <adrstreet2 /> 
  <invstreet2 /> 
  <vatcountry>BE</vatcountry> 
  <email>jfcu@spiritsystems.be</email> 
  <website /> 
  <buyvatid /> 
  <saledelay>0</saledelay> 
  <s_repdate /> 
  <blocktype>0</blocktype> 
  <blockwhen>0</blockwhen> 
  <blockmax>0</blockmax> 
  <codexpgrp /> 
  <copycount>0</copycount> 
  <invpos>false</invpos> 
  <invartgrp>false</invartgrp> 
  <vatcat /> 
  <modified>false</modified> 
  <civility /> 
  <web>false</web> 
  <webpsw>123</webpsw> 
  <webwhere /> 
  <webdispinv>0</webdispinv> 
  <forecolor /> 
  <gdisc>0</gdisc> 
  <u_test /> 
  <s_creuid /> 
  <s_moduid /> 
 </xmlreturn>
</VFPData>

Haut de page

WsGetPrice_Stock

Cette fonction permet d'avoir le prix pour un article donné ainsi que le nombre d'article total et par stock spécifié.

Exemple d'XML envoyé
a
Code Block
languagexml
titleXMLHEADER
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn><Customer>
    <custid>C-WS00000001<0100000009</custid> 
  </xmlreturn>Customer>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
XMLFILE
<?
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData><articles>
  <xmlreturn><article>
    <name>Geo SPRL.</name><artid>C2</artid> 
    <adrstreet>Place du charbonnage, 2</adrstreet><color /> 
    <adrstreet2>Trazegnies<<size /adrstreet2>> 
    <adrzip>6183</adrzip> </article>
    <adrcity>Trazegnies</adrcity> <warehouses>
    <adrcountry>BE<<Warehouse>A</adrcountry>Warehouse> 
    <persid>P-WS00000001<<Warehouse>B</persid>Warehouse> 
  </xmlreturn>warehouses>
</VFPData>

#Haut de page

WsGetContacts

Cette fonction permet d'avoir les contacts d'un client

...

articles>


Code Block
languagexml
titleXMLHEADERXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn> <vatinc>.T.</vatinc> 
  <xmlreturnst>
    <custid>C-WS00000001<<xartid>C2</custid>xartid> 
  </xmlreturn>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ? <xcolor /> 
<VFPData>
  <xmlreturn>
  <name>Geo<xsize SPRL.</name>> 
  <adrstreet>Place du charbonnage, 2</adrstreet>  <xwarehouse>
  <adrstreet2>Trazegnies</adrstreet2> 
  <adrzip>6183<<Xname>A</adrzip>Xname> 
  <adrcity>Trazegnies</adrcity> 
  <adrcountry>BE<<Qty>5000</adrcountry>Qty> 
  <persid>P-WS00000001</persid> 
 </xmlreturn>xwarehouse>
 <xmlreturn>
   <xwarehouse>
    <name>Test<<Xname>B</name>Xname> 
  <adrstreet>Rue du bois<<Qty>3000</adrstreet>Qty> 
    <adrstreet2>Drogenbos<</adrstreet2>xwarehouse>
  
  <adrzip>1000<<xqty>8000</adrzip>xqty> 
  <adrcity>Bruxelles<  <xprice>0</adrcity>xprice> 
   <adrcountry <xstkinday>0</>xstkinday> 
  <persid>P-WS00000002</persid>  <xremark>x</xremark> 
  </xmlreturn>xmlreturnst>
</VFPData>

...

Haut de page

...

WsGetDeliveryAdress

Cette fonction permet d'

...

avoir les adresses de livraisons d'un client.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a

...

Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
  <name>Spirit Systems sprl.</name> <custid>C-WS00000001</custid> 
  <name2>Cuylits Jean-François.</name2> 
  <adrstreet>Fond Jean Paques 6C</adrstreet> 
  <adrstreet2 /> 
  <adrcountry>BE</adrcountry> 
  <adrzip>1438</adrzip> 
  <adrcity>Louvain-La-Neuve</adrcity> 
  <adrfax /> 
  <adrphone>010 45 12 44</adrphone> 
  <adrphone2>0475 78 82 57</adrphone2> 
  <email>jfcu@spiritsystems.be</email> 
  <title>Monsieur</title> 
  <vat>0437.109.813</vat> 
  <vatcountry>BE</vatcountry> 
  <web>true</web> 
  <webpsw>123</webpsw> 
  <language>F</language> 
  <CustId>C-WS00000001</CustId> 
  <persid>P-WS00000003</persid> 
 xmlreturn>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <name>Geo SPRL.</name> 
    <adrstreet>Place du charbonnage, 2</adrstreet> 
    <adrstreet2>Trazegnies</adrstreet2> 
    <adrzip>6183</adrzip> 
    <adrcity>Trazegnies</adrcity> 
    <adrcountry>BE</adrcountry> 
    <persid>P-WS00000001</persid> 
  </xmlreturn>
</VFPData>

Haut de page

WsGetContacts

Cette fonction permet d'avoir les contacts d'un client

Exemple d'XML envoyé
Code Block
languagexml
titleXMLFOOTERXMLHEADER
a

...


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturn>
    <custid>C-WS00000001</custid> 
  </xmlreturn>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <xmlreturn>
  <name>Geo SPRL.</name> 
  <adrstreet>Place <name>Geo SPRL.</name> 
    <adrstreet>Place du charbonnage, 2</adrstreet> 
    <adrstreet2>Trazegnies</adrstreet2> 
    <adrzip>6183</adrzip> 
    <adrcity>Trazegnies</adrcity> 
    <adrcountry>BE</adrcountry> 
    <persid>P-WS00000001</persid> 
  </xmlreturn>
  <xmlreturn>
    <name>Test</name> 
    <adrstreet>Rue du bois</adrstreet> 
    <adrstreet2>Drogenbos</adrstreet2> 
    <adrzip>1000</adrzip> 
    <adrcity>Bruxelles</adrcity> 
    <adrcountry /> 
    <persid>P-WS00000002</persid> 
  </xmlreturn>
</VFPData>

...

Haut de page

...

WsManageContact

Cette fonction permet

...

d'ajouter ou de modifier un contact. Pour cela, il faut envoyer le custID du client visé. Si le persid est spécifié et existant, alors le contact sera modifié sinon il sera ajouté.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="ISO-8859-1Windows-1252" standalone="yes" ?> 
<order><VFPData>
 <docdet><xmlreturn>
   <thirdid>P-WS00000002</thirdid><name>Spirit Systems sprl.</name> 
  <thirdname>Colin</thirdname><name2>Cuylits Jean-François.</name2> 
  <basis1>1140490</basis1><adrstreet>Fond Jean Paques 6C</adrstreet> 
  <adrstreet2 <vatid1>21</vatid1>> 
  <vatpc1>21<<adrcountry>BE</vatpc1>adrcountry> 
  <vatamt1>239503<<adrzip>1438</vatamt1>adrzip> 
  <basis2 /><adrcity>Louvain-La-Neuve</adrcity> 
  <vatid2<adrfax /> 
  <adrphone>010 45 <vatpc212 44</>adrphone> 
  <vatamt2<adrphone2>0475 78 82 57</>adrphone2> 
   <basis3 /><email>jfcu@spiritsystems.be</email> 
  <title>Monsieur</title> 
  <vatid3 /> 
  <vatpc3 /> 
  <vatamt3 /> 
  <topay>1379993</topay><vat>0437.109.813</vat> 
  <vatcountry>BE</vatcountry> 
  <web>true</web> 
  <webpsw>123</webpsw> 
  <language>F</language> 
  <CustId>C-WS00000001</CustId> 
  <persid>P-WS00000003</persid> 
 </docdet>xmlreturn>
</order>VFPData>


Code Block
languagexml
titleXMLFOOTERXMLFILE
a
Exemple d'XML reçu
Code Block
languagexml
<?xml<?xml version="1.0" encoding="ISO-8859-1Windows-1252" standalone="yes" ?> 
<order><VFPData>
 <docdet> <xmlreturn>
    <name>Geo <artid>DELL1700<SPRL.</artid>name> 
  <artname>Dell 1700</artname>  <adrstreet>Place du charbonnage, 2</adrstreet> 
  <qty>1000<  <adrstreet2>Trazegnies</qty>adrstreet2> 
    <unitprice>561980<<adrzip>6183</unitprice>adrzip> 
  <amount>561980<  <adrcity>Trazegnies</amount>adrcity> 
  <vatid>21<  <adrcountry>BE</vatid>adrcountry> 
    <vatpc>21<<persid>P-WS00000001</vatpc>persid> 
  </docdet>xmlreturn>
<docdet>  <xmlreturn>
  <artid>HPLASERCOLOR3000<  <name>Test</artid>name> 
  <artname>HP  Color<adrstreet>Rue LaserJetdu 3000<bois</artname>adrstreet> 
    <qty>1000<<adrstreet2>Drogenbos</qty>adrstreet2> 
  <unitprice>578510<  <adrzip>1000</unitprice>adrzip> 
   <amount>578510< <adrcity>Bruxelles</amount>adrcity> 
    <adrcountry <vatid>21</vatid>> 
    <vatpc>21<<persid>P-WS00000002</vatpc>persid> 
  </docdet>xmlreturn>
</order>VFPData>
Code Block
languagexml
titleXMLFOOTER
a

Haut de page

WsCheckOrder - WsPutOrder

Cette fonction permet de voir si l'ajout d'une commande est possible. Si oui, on peut utiliser WsPutOrder pour créer le document. Le header contient les champs correspondants aux informations du client et le File contient le détail de la commande.

Exemple d'XML

...

envoyé
Code Block
languagexml
collapsetitletrueXMLHEADER
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<order>
<VFPData> <docdet>
  <returncode>OK<<thirdid>P-WS00000002</returncode>thirdid> 
  <Xorderid>382<<thirdname>Colin</Xorderid>thirdname> 
  <basis1>1140490</basis1> <headgroups>
  <vatid1>21</vatid1> 
 <headgroup code="L100FAC" description="Coordonnées de facturation">
      <header> <vatpc1>21</vatpc1> 
  <vatamt1>239503</vatamt1> 
  <basis2 /> 
  <vatid2  <ncol>2</ncol>> 
  <vatpc2 /> 
    <col01 type="C">Libellé</col01><vatamt2 /> 
  <basis3 /> 
  <col02 type="M">Valeur</col02><vatid3 /> 
     <vatpc3 </header>
      <recs>/> 
  <vatamt3      <rec>/> 
          <col01>Code client</col01> 
          <col02>WS00000001</col02><topay>1379993</topay> 
 </docdet>
</order>


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<order>
 <docdet>
  <artid>DELL1700</artid> 
  <artname>Dell 1700</artname> 
    </rec><qty>1000</qty> 
  <unitprice>561980</unitprice> 
  <amount>561980</amount>   <rec>
  <vatid>21</vatid> 
  <vatpc>21</vatpc> 
</docdet>
<docdet>
    <col01>Nom<<artid>HPLASERCOLOR3000</col01>artid> 
  <artname>HP Color LaserJet 3000</artname> 
    <col02>Colin<<qty>1000</col02>qty> 
  <unitprice>578510</unitprice> 
  <amount>578510</amount> 
  <<vatid>21</rec>vatid> 
  <vatpc>21</vatpc> 
</docdet>
</order>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<VFPData>
  <returncode>OK</returncode> 
  <Xorderid>382</Xorderid> 
  <headgroups>
    <headgroup code="L100FAC" description="Coordonnées de facturation">
      <header>      <rec>
          <col01>Adresse</col01> 
          <col02>Chaussée de Tubize 483<br>BE 1420 Braine l'alleud</col02> 
        <<ncol>2</rec>ncol> 
      </recs>
    </headgroup>
    <headgroup code="L200VAT" description="Totaux">
      <header>
        <ncol>2</ncol> 
        <col01 type="C">Libellé</col01> 
        <col02 type="M">Valeur</col02> 
      </header>
      <recs>
        <rec>
          <col01>Htva<<col01>Code client</col01> 
          <col02>942.56<<col02>WS00000001</col02> 
        </rec>
        <rec>
          <col01>Tva<<col01>Nom</col01> 
          <col02>197.94<<col02>Colin</col02> 
        </rec>
        <rec>
          <col01>A payer<<col01>Adresse</col01> 
          <col02>1140.50<<col02>Chaussée de Tubize 483<br>BE 1420 Braine l'alleud</col02> 
        </rec>
      </recs>
  <rec>  </headgroup>
    <headgroup code="L200VAT" description="Totaux">
    <col01>Devise</col01>  <header>
          <col02>EUR<<ncol>2</col02>ncol> 
         </rec>
<col01 type="C">Libellé</col01> 
       </recs> <col02 type="M">Valeur</col02> 
    </headgroup>
  </headgroups>header>
  <body>
    <header><recs>
      <ncol>7</ncol>  <rec>
         <col01 type="C">code< <col01>Htva</col01> 
         <col02 type="C">description< <col02>942.56</col02> 
      <col03 type="N" dec="1">quantité</col03> 
 </rec>
        <rec>
       <col04  type="N" dec="2">prix</col04> <col01>Tva</col01> 
      <col05 type="N" dec="2">remise</col05>    <col02>197.94</col02> 
      <col06 type="N" dec="2">htva</col06>  </rec>
      <col07 type="C">color</col07>  <rec>
    </header>
    <recs>
  <col01>A payer</col01> 
  <rec>
        <col01>DELL1700<<col02>1140.50</col01>col02> 
        <col02>Dell 1700</col02> </rec>
        <col03>1000</col03> 
<rec>
          <col04>561980<<col01>Devise</col04>col01> 
          <col05>0<<col02>EUR</col05>col02> 
        <col06>464450<</col06> rec>
        <col07 /> </recs>
    </headgroup>
  </rec>headgroups>
  <body>
    <rec><header>
        <col01>HPLASERCOLOR3000<<ncol>7</col01>ncol> 
      <col01  <col02>HP Color LaserJet 3000<type="C">code</col01> 
      <col02 type="C">description</col02> 
      <col03  <col03>1000<type="N" dec="1">quantité</col03> 
      <col04  <col04>578510<type="N" dec="2">prix</col04> 
      <col05  <col05>0<type="N" dec="2">remise</col05> 
      <col06  <col06>478110<type="N" dec="2">htva</col06> 
        <col07 />type="C">color</col07> 
      </rec>header>
    </recs><recs>
    </body>
</VFPData>

#Haut de page

WsGetArtInfo

Cette fonction permet de récupérer les informations d'un contact.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <artId>RADIATOR</artId> 
  </xmlresult>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <cres>
  <artid>RADIATOR</artid> 
  <buyartid /> 
  <custid  <rec>
        <col01>DELL1700</col01> 
        <col02>Dell 1700</col02> 
        <col03>1000</col03> 
        <col04>561980</col04> 
        <col05>0</col05> 
        <col06>464450</col06> 
        <col07 /> 
  <name1>RADIATOR   F-11 OIL.</name1>rec>
 
  <name2>RADIATOR F-11 OIL</name2> <rec>
   <family /> 
  <category <col01>HPLASERCOLOR3000</>col01> 
  <coef>0</coef>   
  <currid /><col02>HP 
Color LaserJet <buyprice>0<3000</buyprice>col02> 
  <buydate   /> 
  <saleprice>0<<col03>1000</saleprice>col03> 
  <stock>0</stock> 
  <minqty>0</minqty> 
  <maxqty>0<<col04>578510</maxqty>col04> 
  <unit /> 
  <vatid>21</vatid> 
  <ana1>PIECE<<col05>0</ana1>col05> 
  <ana2>AUTOS</ana2> 
  <ana3>CITROEN</ana3> 
  <ana4 <col06>478110</>col06> 
  <memo>Information du produit</memo> 
   <col07 /> 
      </rec>
    </recs>
  </body>
</VFPData>

Haut de page

WsGetArtInfo

Cette fonction permet de récupérer les informations d'un contact.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <artid>RADIATOR</artid>
  </xmlresult>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
 <cres>
  <artid>RADIATOR</artid> 
  <buyartid<s_credate>2008-01-08T14:52:52</s_credate> 
  <s_moddate>2008-02-07T14:56:32</s_moddate> 
  <coeftarif1>0</coeftarif1> 
  <saletarif1>0</saletarif1> 
  <expenses>0</expenses> 
  <nostock>false</nostock> 
  <artpart>false</artpart> 
  <compound>false</compound> 
  <qtypackby>0</qtypackby> 
  <finalprice>0</finalprice> 
  <packkg>0</packkg> 
  <notinhist>false</notinhist> 
  <stocktype>1</stocktype> 
  <kg>0</kg> 
  <buyvatid /> 
  <buydisc>0</buydisc> 
  <saledisc>0</saledisc> 
  <artaccid /> 
  <actualval>0<<custid /actualval>> 
  <name1>RADIATOR  <nopaydisc>false</nopaydisc> 
  <discount>0</discount> 
  <buyvatpc>0</buyvatpc>F-11 OIL.</name1> 
  <name2>RADIATOR F-11 OIL</name2> 
  <family /> 
  <coeffinal>0<<category /coeffinal>> 
  <pctarif1>0<<coef>0</pctarif1>coef> 
  <currid <pcsalepric>0</pcsalepric>> 
  <options>false<<buyprice>0</options>buyprice> 
  <buydate <sleep>false</sleep>> 
  <buydelay>0<<saleprice>0</buydelay>saleprice> 
  <colrange <stock>0</>stock> 
  <s_repdate /><minqty>0</minqty> 
  <buyqty>0<<maxqty>0</buyqty>maxqty> 
  <buypack<unit /> 
  <saleqty>0<<vatid>21</saleqty>vatid> 
  <salepack <ana1>PIECE</>ana1> 
  <linkartid <ana2>AUTOS</>ana2> 
  <linkqty>0<<ana3>CITROEN</linkqty>ana3> 
  <linkqtyfix>false<<ana4 /linkqtyfix>> 
  <memo>Information <compotype>4<du produit</compotype>memo> 
  <valuetype>0</valuetype><s_credate>2008-01-08T14:52:52</s_credate> 
  <proqty>0</proqty><s_moddate>2008-02-07T14:56:32</s_moddate> 
  <web>true<<coeftarif1>0</web>coeftarif1> 
  <webpromo>false<<saletarif1>0</webpromo>saletarif1> 
  <webnew>false<<expenses>0</webnew>expenses> 
  <webmonth>false<<nostock>false</webmonth>nostock> 
  <webmsg1 <artpart>false</>artpart> 
  <webmsg2 <compound>false</>compound> 
  <qtypackby>0</qtypackby> 
 <memo1 <finalprice>0</>finalprice> 
  <memo2 <packkg>0</>packkg> 
  <webviewlev>3<<notinhist>false</webviewlev>notinhist> 
  <webstockok>0<<stocktype>1</webstockok>stocktype> 
  <packcost>0<<kg>0</packcost>kg> 
  <forecolor<buyvatid /> 
  <weborder>0<<buydisc>0</weborder>buydisc> 
  <vatid2 <saledisc>0</>saledisc> 
  <vatid3<artaccid /> 
  <buyvatid2 /><actualval>0</actualval> 
  <nopaydisc>false</nopaydisc> 
  <discount>0</discount> <buyvatid3
  <buyvatpc>0</>buyvatpc> 
  <expensetyp>0<<coeffinal>0</expensetyp>coeffinal> 
  <u_format /><pctarif1>0</pctarif1> 
  <u_grammage /><pcsalepric>0</pcsalepric> 
  <c_proprio /><options>false</options> 
  <c_categ /><sleep>false</sleep> 
  <c_format /><buydelay>0</buydelay> 
  <c_millesim<colrange /> 
  <c<s_urlrepdate /> 
  <disp>0<<buyqty>0</disp>buyqty> 
  <c_pdv>false</c_pdv><buypack /> 
  <saleqty>0</saleqty> 
  <c_recomp<salepack /> 
  <a_stock<linkartid /> 
  <s_creuid>SYSTEM</s_creuid><linkqty>0</linkqty> 
  <s_moduid>SYSTEM</s_moduid><linkqtyfix>false</linkqtyfix> 
  <<compotype>4</cres>
</VFPData>

#Haut de page

WsGetPasswordFromEmail

Cette fonction permet de récupérer un mot de passé par rapport au login (adresse email)

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <email>test@test.be</email> 
  </xmlresult>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <password>123</password> 
  </curres>
</VFPData>

#Haut de page

WsGetListQuery

Cette fonction renvoie la liste des requêtes d'un client.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <custid>0100000001</custid> 
</VFPData>
Code Block
languagexml
titleXMLFILE
a
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<VFPData>
  <xmlreturnlist>
    <xqueryid>J200000002</xqueryid> 
    <xlib>Historique par date</xlib> 
    <paras>
      <para>
        <id>querydate1</id> 
        <name1>A partir de</name1> 
        <type>date</type> 
        <mandatory>.F.</mandatory> 
      </para>
      <para>
        <id>querydate2</id> 
        <name1>jusqu'à</name1> 
        <type>date</type> 
        <mandatory>.F.</mandatory> 
      </para>
    </paras>
  </xmlreturnlist>
  <xmlreturnlist>
    <xqueryid>0900000001</xqueryid> 
    <xlib>STAT DE LIVRAISON</xlib> 
    <paras>
      <para>
        <id>querydate1</id> 
        <name1>A partir de</name1> 
        <type>date</type> 
        <mandatory>.F.</mandatory> 
      </para>
      <para>
        <id>querydate2</id> 
        <name1>jusqu'à</name1> 
        <type>date</type> 
        <mandatory>.F.</mandatory> 
      </para>
    </paras>
  </xmlreturnlist>
</VFPData>

#Haut de page

WsGetQuery

Cette fonction renvoie le résultat de la requête (récupérée par WsGetListQuery) d'un client.

Exemple d'XML envoyé
compotype> 
  <valuetype>0</valuetype> 
  <proqty>0</proqty> 
  <web>true</web> 
  <webpromo>false</webpromo> 
  <webnew>false</webnew> 
  <webmonth>false</webmonth> 
  <webmsg1 /> 
  <webmsg2 /> 
  <memo1 /> 
  <memo2 /> 
  <webviewlev>3</webviewlev> 
  <webstockok>0</webstockok> 
  <packcost>0</packcost> 
  <forecolor /> 
  <weborder>0</weborder> 
  <vatid2 /> 
  <vatid3 /> 
  <buyvatid2 /> 
  <buyvatid3 /> 
  <expensetyp>0</expensetyp> 
  <u_format /> 
  <u_grammage /> 
  <c_proprio /> 
  <c_categ /> 
  <c_format /> 
  <c_millesim /> 
  <c_url /> 
  <disp>0</disp> 
  <c_pdv>false</c_pdv> 
  <c_recomp /> 
  <a_stock /> 
  <s_creuid>SYSTEM</s_creuid> 
  <s_moduid>SYSTEM</s_moduid> 
 </cres>
</VFPData>

Haut de page

WsGetPasswordFromEmail

Cette fonction permet de récupérer un mot de passé par rapport au login (adresse email)

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlresult>
    <email>test@test.be</email> 
  </xmlresult>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <password>123</password> 
  </curres>
</VFPData>

Haut de page

WsArtGetItems

Cette fonction renvoie toutes les informations des articles cochés exportables sur le Web. 
Ceci est bien sur un exemple, vous pouvez modifier la condition WEB = .T. avec la condition que vous cherchez à avoir.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <sql>
    <pccond>WEB = .T.</pccond> 
    <pnFrom>0</pnFrom> 
    <pnCount>0</pnCount> 
  </sql>
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <query_asked><curres>
    <queryid>J200000002</queryid><artid>02W.MC.REMUS</artid> 
    <buyartid <custid>C-0100000001</custid>> 
    <artid <custid>1000000002</>custid> 
    <QueryDate1>01-01-2008</QueryDate1><name1>Jeans Remus</name1> 
    <name2>Jeans <QueryDate2>30-12-2009</QueryDate2>Remus</name2> 
    <family </query_asked>
</VFPData>
Code Block
languagexml
titleXMLFILE
a
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<VFPData>
  <header>
    <ncol>12</ncol>> 
    <category>28</category> 
    <coef>1.40</coef> 
    <currid /> 
    <col01 type="C">jnl</col01><buyprice>24.15</buyprice> 
    <col02 type="N" dec="0">nr</col02><buyprice1>24.15</buyprice1> 
    <col03 type="D">date</col03><buyprice2>24.15</buyprice2> 
    <col04 type="C">code</col04> <buyprice3>24.15</buyprice3>
    <col05 type="C">couleur</col05> 
    <col06 type="N" dec="1">qté</col06> 
    <col07 type="N" dec="1">livré</col07> 
    <col08 type="N" dec="2">pu</col08> 
    <col09 type="N" dec="2">remise</col09> 
    <col10 type="N" dec="2">net</col10> 
    <col11 type="N" dec="2">montant</col11> 
    <col12 type="C">devise</col12> 
  </header>
  <recs>
    <rec>
      <col01>BCA</col01> 
      <col02>4000</col02> 
      <col03>01/08/08</col03> 
      <col04>000.LV.501.32</col04> 
      <col05 /> 
      <col06>12000</col06> 
      <col07>0</col07> 
      <col08>59000</col08> 
      <col09>0</col09> 
      <col10>59000</col10> 
      <col11>708000</col11> 
      <col12 /> 
    </rec>
    <rec>
      <col01>BCF</col01> 
      <col02>1000</col02> 
      <col03>28/03/03</col03> 
      <col04>B0001</col04> 
      <col05 /> 
      <col06>450000</col06> 
      <col07>450000</col07> 
      <col08>30</col08> 
      <col09>0</col09> 
      <col10>30</col10> 
      <col11>13500</col11> 
      <col12 /> 
    </rec>
    <rec>
      <col01>BCF</col01> 
      <col02>1000</col02> 
      <col03>28/03/03</col03> 
      <col04>B0002</col04> 
      <col05 /> 
      <col06>405000</col06> 
      <col07>405000</col07> 
      <col08>40</col08> 
      <col09>0</col09> 
      <col10>40</col10> 
      <col11>16200</col11> 
      <col12 /> 
    </rec>
    <rec>
      <col01>BLF</col01> 
      <col02>2000</col02> 
      <col03>28/03/03</col03> 
      <col04>B0001</col04> 
      <col05 /> 
      <col06>450000</col06> 
      <col07>0</col07> 
      <col08>30</col08> 
      <col09>0</col09> 
      <col10>30</col10> 
      <col11>13500</col11> 
      <col12 /> 
    </rec>
    <rec>
      <col01>BLF</col01> 
      <col02>2000</col02> 
      <col03>28/03/03</col03> 
      <col04>B0002</col04> 
      <col05 /> 
      <col06>405000</col06> 
      <col07>0</col07> 
      <col08>40</col08> 
      <col09>0</col09> 
      <col10>40</col10> 
      <col11>16200</col11> 
      <col12 /> 
    </rec>
    <rec>
      <col01>BCF</col01> 
      <col02>3000</col02> 
      <col03>28/03/03</col03> 
      <col04>B0001</col04> 
      <col05 /> 
      <col06>30000</col06> 
      <col07>0</col07> 
      <col08>30</col08> 
      <col09>0</col09> 
      <col10>30</col10> 
      <col11>900</col11> 
      <col12 /> 
    </rec>
  </recs>
</VFPData>

#Haut de page

WsArtGetItems

Cette fonction renvoie toutes les informations des articles cochés exportables sur le Web.
Ceci est bien sur un exemple, vous pouvez modifier la condition WEB = .T. avec la condition que vous cherchez à avoir.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <sql>
    <pccond>WEB = .T.</pccond> 
    <pnFrom>0</pnFrom> 
    <pnCount>0</pnCount> 
  </sql>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <artid>02W.MC.REMUS</artid> 
    <buyartid /> 
    <custid>1000000002</custid> 
    <name1>Jeans Remus</name1> 
    <name2>Jeans Remus</name2> 
    <family /> 
    <category>28</category> 
    <coef>1.40</coef> 
    <currid /> 
    <buyprice>24.15</buyprice> 
    <buyprice1>24.15</buyprice1> 
    <buyprice2>24.15</buyprice2> 
    <buyprice3>24.15</buyprice3>
    ...

#Haut de page

WsArtGetArtIdComp

Cette fonction renvoie tous les ArtId des composant d'un article.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <artid>DELL1700</artid> 
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <cres>
    <artpartid>MAXHD500</artpartid> 
  </cres>
</VFPData>

#Haut de page

WsGetOrderStatus

Retourne le statut des commandes et notes d'envois d'un client.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<order>
  <dochead>
    <thirdid>toto</thirdid> 
    <number>30</number> 
  </dochead>
</order>
Code Block
languagexml
titleXMLFILE
a
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <xmlreturnstatus>
    <xdoctype>Order</xdoctype> 
    <xdocnr>30</xdocnr> 
    <xdocorig>-</xdocorig> 
    <xdate>21/04/09 11:59:23 AM</xdate> 
    <xqty>1000</xqty> 
    <xref /> 
    <xartid>BRO2070N</xartid> 
    <xartname>Brother 2070N</xartname> 
  </xmlreturnstatus>
  <xmlreturnstatus>
    <xdoctype>Order</xdoctype> 
    <xdocnr>30</xdocnr> 
    <xdocorig>-</xdocorig> 
    <xdate>21/04/09 11:59:23 AM</xdate> 
    <xqty>1000</xqty> 
    <xref /> 
    <xartid>MAXHD500</xartid> 
    <xartname>Disque dur 500 Go</xartname> 
  </xmlreturnstatus>
  <xmlreturnstatus>
    <xdoctype>Sending note</xdoctype> 
    <xdocnr>4</xdocnr> 
    <xdocorig>41</xdocorig> 
    <xdate>21/04/09 11:59:33 AM</xdate> 
    <xqty>1000</xqty> 
    <xref /> 
    <xartid>BRO2070N</xartid> 
    <xartname>Brother 2070N</xartname> 
  </xmlreturnstatus>
  <xmlreturnstatus>
    <xdoctype>Sending note</xdoctype> 
    <xdocnr>4</xdocnr> 
    <xdocorig>42</xdocorig> 
    <xdate>21/04/09 11:59:33 AM</xdate> 
    <xqty>1000</xqty> 
    <xref /> 
    <xartid>MAXHD500</xartid> 
    <xartname>Disque dur 500 Go</xartname> 
  </xmlreturnstatus>
</VFPData>

#Haut de page

WsGetPriceArray

Cette fonction renvoie les prix spécifiques pour un client et un article donné sous forme de tableau.
Elle est disponible à partir du WS_PROC106.

Dans le cas d'un prix spécifique, vous pouvez spécifier le type de prix. Ici, le 4 représente les prix spécifiques par client.
Les 1 sont les prix par catégorie, 2 Prix d'achats...

Si le QtyMax est égale à 0, cela indique que le Maximum est l'infini.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <artid>TEST</artid> 
  <custid>C-0100000001</custid>  
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <qtymin>0.00</qtymin> 
    <qtymax>3.00</qtymax> 
    <price>20.83</price> 
  </curres>
  <curres>
    <qtymin>3.00</qtymin> 
    <qtymax>6.00</qtymax> 
    <price>19.23</price> 
  </curres>
  <curres>
    <qtymin>6.00</qtymin> 
    <qtymax>10.00</qtymax> 
    <price>18.38</price> 
  </curres>
  <curres>
    <qtymin>10.00</qtymin> 
    <qtymax>0.00</qtymax> 
    <price>17.12</price> 
  </curres>
  <curres>
    <qtymin>0.00</qtymin> 
    <qtymax>0.00</qtymax> 
    <price>12.50</price> 
  </curres>
</VFPData>

#Haut de page

WsGetStringQuery

Vous envoyez une requête dans le tag <query> et indiquez le nom des tables (tag <table>) à ouvrir pour que celle-ci fonctionne, la fonction vous exécute la requête.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <query>SELECT NAME1 FROM ART</query> 
  <table>art</table> 
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <name1>CORRECTION PRIX</name1> 
    </curres>
  <curres>
    <name1>MOLDED,VELCRO,ANCHORS 25 MM X 25 M</name1> 
  </curres>
  <curres>
    <name1>PARTICIPATION FORFAITAIRE AUX FRAIS DE TRANSPORTS</name1> 
  </curres>
  <curres>
    <name1>FRAIS DE TRANSPORT 5KGS</name1> 
  </curres>
  <curres>
    <name1>PARTICIPATION AUX FRAIS D'IMPRESSION TESA NET</name1> 
  </curres>
</VFPData>

#Haut de page

WsPrDoc

...

...

Haut de page

WsArtGetArtIdComp

Cette fonction renvoie tous les ArtId des composant d'un article.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <artid>DELL1700</artid> 
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <cres>
    <artpartid>MAXHD500</artpartid> 
  </cres>
</VFPData>

Haut de page

WsGetPriceArray

Cette fonction renvoie les prix spécifiques pour un client et un article donné sous forme de tableau.

Dans le cas d'un prix spécifique, vous pouvez spécifier le type de prix. Ici, le 4 représente les prix spécifiques par client.
Les 1 sont les prix par catégorie, 2 Prix d'achats...

Si le QtyMax est égale à 0, cela indique que le Maximum est l'infini.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <artid>TEST</artid> 
  <custid>C-0100000001</custid>  
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
collapsetrue
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <qtymin>0.00</qtymin> 
    <qtymax>3.00</qtymax> 
    <price>20.83</price> 
  </curres>
  <curres>
    <qtymin>3.00</qtymin> 
    <qtymax>6.00</qtymax> 
    <price>19.23</price> 
  </curres>
  <curres>
    <qtymin>6.00</qtymin> 
    <qtymax>10.00</qtymax> 
    <price>18.38</price> 
  </curres>
  <curres>
    <qtymin>10.00</qtymin> 
    <qtymax>0.00</qtymax> 
    <price>17.12</price> 
  </curres>
  <curres>
    <qtymin>0.00</qtymin> 
    <qtymax>0.00</qtymax> 
    <price>12.50</price> 
  </curres>
</VFPData>

Haut de page

WsGetStringQuery

Vous envoyez une requête dans le tag <query> et indiquez le nom des tables (tag <table>) à ouvrir pour que celle-ci fonctionne, la fonction vous exécute la requête.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a


Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <query>SELECT NAME1 FROM ART</query> 
  <table>art</table> 
</VFPData>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <name1>CORRECTION PRIX</name1> 
    </curres>
  <curres>
    <name1>MOLDED,VELCRO,ANCHORS 25 MM X 25 M</name1> 
  </curres>
  <curres>
    <name1>PARTICIPATION FORFAITAIRE AUX FRAIS DE TRANSPORTS</name1> 
  </curres>
  <curres>
    <name1>FRAIS DE TRANSPORT 5KGS</name1> 
  </curres>
  <curres>
    <name1>PARTICIPATION AUX FRAIS D'IMPRESSION TESA NET</name1> 
  </curres>
</VFPData>

Haut de page

GetArticles

Cette requête permet de récupérer des informations articles.

il est possible de récupérer les informations suivant l'id de l'article, ou via des conditions ( voir les deux types de Header )

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER (pour reprendre un article spécifique)
<articles><art id="CANON-A30"/></articles>


Code Block
languagexml
themeRDark
titleXMLHEADER (pour faire une sélection d'article)
<articles from="15" count="100" getcount="yes" where="web=1" order="name1" />


Code Block
languagexml
titleXMLFILE
<options>
	<fields>
		<field name="name1"/>
		<field name="name2"/>
	</fields>
	<price customer="S000010059" jnl="2-BCC"/>
	<stock allwarehouses="true" />
</options>


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<xml>
	<articles count="1" pricevatinclude="False">
		<art id="CANON-A30" usestock="True">
			<fields>
				<name1>Appareil photo CANON A 30</name1> 
				<name2>Fotoapparaat CANON A 30</name2> 
			</fields>
			<stock inventory="94" delivrable="94" /> 
			<prices>
				<price unitprice="531,5" discountpc="0" amount="531,5" /> 
			</prices>
		</art>
	</articles>
</xml>

Haut de page

GetAnalyticsTree

Cette requête vous retourne les analytiques article du dossier

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<header type = "ART" />


Code Block
languagexml
titleXMLFILE
a


Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<analytics>
	<analytic level="1" code="APH" name="Appareil photo">
		<analytic level="2" code="CANON" name="CANON">
			<analytic level="3" code="A" name="A" /> 
			<analytic level="3" code="EOS" name="EOS" /> 
			<analytic level="3" code="G" name="G" /> 
			<analytic level="3" code="IXUS" name="IXUS" /> 
			<analytic level="3" code="PS" name="PowerShot" /> 
			<analytic level="3" code="S" name="S" /> 
			<analytic level="3" code="SX" name="SX" /> 
		</analytic>
		<analytic level="2" code="HP" name="HP">
		  <analytic level="3" code="C" name="C" /> 
		  <analytic level="3" code="M" name="M" /> 
		  <analytic level="3" code="R" name="R" /> 
		</analytic>
		<analytic level="2" code="OLYMPUS" name="OLYMPUS">
		  <analytic level="3" code="C" name="C" /> 
		  <analytic level="3" code="E" name="E" /> 
		  <analytic level="3" code="FE" name="FE" /> 
		  <analytic level="3" code="SP" name="SP" /> 
	  	</analytic>
		<analytic level="2" code="SONY" name="SONY">
		  <analytic level="3" code="DSC" name="DSC" /> 
		  <analytic level="3" code="MVC" name="MVC" /> 
		  <analytic level="3" code="RX" name="RX" /> 
		</analytic>
	</analytic>
	<analytic level="1" code="CAM" name="Caméra">
		<analytic level="2" code="GORPO" name="GO PRO">
			<analytic level="3" code="H3" name="HERO3" /> 
			<analytic level="3" code="H4" name="HERO4" /> 
		</analytic>
	</analytic>
	<analytic level="1" code="GSM" name="Téléphone portable">
		<analytic level="2" code="MOTOROLA" name="MOTOROLA">
			<analytic level="3" code="C" name="C" /> 
			<analytic level="3" code="RAZR" name="RAZR" /> 
			<analytic level="3" code="V" name="V" /> 
		</analytic>
		<analytic level="2" code="NOKIA" name="NOKIA">
			<analytic level="3" code="E" name="E" /> 
			<analytic level="3" code="N" name="N" /> 
		</analytic>
		<analytic level="2" code="SAMSUNG" name="SAMSUNG">
			<analytic level="3" code="ALPH" name="ALPHA" /> 
			<analytic level="3" code="D" name="D" /> 
			<analytic level="3" code="E" name="E" /> 
			<analytic level="3" code="GALA" name="GALAXY" /> 
			<analytic level="3" code="X" name="X" /> 
		</analytic>
	</analytic>
	<analytic level="1" code="NAV" name="Navigateur GPS">
		<analytic level="2" code="NAVMAN" name="NAVMAN" /> 
		<analytic level="2" code="TOMTOM" name="TOMTOM" /> 
	</analytic>
</analytics>

Haut de page

GetThirdLogin

Cette requête permet tester la validité un login client.
Attention le mot de passe doit être envoyé de manière chiffrée

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <jnl>NEC</jnl>                          <!-- Indique le journal du document. -->
  <number1>65331</number1>                <!-- Indique le document à imprimer. -->
  <layout>invoice modern 2.FRX</layout >  <!-- Layout à utiliser. -->
  <DestEmail>gfau@winbooks.be</DestEmail> <!-- Adresse email de destination (s'il n'est pas mentionné, aucun mail n'est envoyé). -->
  <fromname>Name for email</fromname>     <!-- Nom de l'émetteur. -->
  <frommail>info@winbooks.be</frommail>   <!-- Adresse Email de l'émetteur. -->
  <msgsubject>Subjet</msgsubject>         <!-- Sujet du mail envoyé. -->
  <msgcontent>Contenu</msgcontent>        <!-- Contenu du mail envoyé. -->
  <pdfname>winbooks</pdfname>             <!-- Nom du PDF généré. -->
  <layoutnumber>4</ layoutnumber >        <!-- Indique le numéro du layout à utiliser. -->
  <keeppdf>true</keeppdf>                 <!-- Est-ce que le PDF doit être supprimé après l'envoi du mail. -->
</VFPData>
Code Block
languagexml
titleXMLFILE
a
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <result>Ok</result> 
  </curres>
</VFPData>

#Haut de page

WsChangeYourRef

Disponible en Version 106 et supérieure, cette fonction vous donne la possibilité de modifier le contenu du champ référence YourRef d'un document.
S'il n'y a que le number qui est indiqué, le journal sera le journal par défaut de l'E-Commerce.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
a
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <number>3</number> <!-- Numéro du document. -->
  <reference>OGONES</reference> <!-- Référence à modifier. -->
  <jnl>BCC</jnl> <!-- Journal visé. -->
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> 
<VFPData>
  <curres>
    <result>Ok</result> 
  </curres>
</VFPData>

#Haut de page

WsPrDoc2

Disponible en version 108 et supérieure.
Cette fonction permet d'imprimer des documents et de les envoyer par Mail.
Le paramétrage d'envois de mail doit bien sûr être fait dans Logistics.

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER
 
Code Block
languagexml
titleXMLFILE
<?xml version="1.0" encoding="WINDOWS-1252" standalone="true"?>
<VFPData>
  <xmlresult>
    <Jnl>ECOM</Jnl>
    <Number>433</Number>
    <MailTo>gfau@winbooks.be</MailTo>
    <Subject>Sujet</Subject>
    <Body>Body</Body>
  </xmlresult>
</VFPData>
Code Block
languagexml
titleXMLFOOTER
a
Exemple d'XML reçu
Code Block
languagexml
<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<VFPData>
  <curxml>
    <jnl>ECOM</jnl>
    <number>433</number>
    <number1>433</number1>
    <number2>433</number2>
    <layoutnumber>0</layoutnumber>
    <mailto>gfau@winbooks.be</mailto>
    <subject>Sujet</subject>
    <body>Sujet</body>
    <printed>true</printed>
  </curxml>
</VFPData>
Exemple en ASP

...

languageactionscript3

...

(pour reprendre un article spécifique)
<header mail = "kf@winbooks.be" password="E10ADC3949BA59ABBE56E057F20F883E" />


Code Block
languagexml
titleXMLFILE
a


Code Block
languagexml
titleXMLFOOTER
a

Exemple d'XML reçu
Code Block
languagexml
<login status="valid" thirdid="S000010059" />

Haut de page

CheckDocument - AddDocument

la requête CheckDocument permet de vérifier un document avant son écriture dans la base de données via la requête AddDocument.

Les deux requêtes partage les même paramètres et retourne les même valeurs, la différence est que la requête retourne toujours un number -1, dans le cas du AddDocument le numéro du document est attribué est renvoyé.

Attention seul les documents qui ne mouvemente pas le stock peuvent être utilisé

Exemple d'XML envoyé
Code Block
languagexml
titleXMLHEADER (pour reprendre un article spécifique)
<document>
	<header thirdid="S000010059" jnl="2-BCC" />
	<articles>
		<art id="CANON-A30" qty="5.0" unitprice="341" discount="3" />
	</articles>
</document>


Code Block
languagexml
titleXMLFILE
a


Code Block
languagexml
titleXMLFOOTER
a

Exemple d'XML reçu
Code Block
languagexml
<doc jnl="2-BCC" number="-1">
	<header>
		<third id="S000010059">
			<groupid value="S000010059" /> 
			<civility value="" /> 
			<name value="Winbooks" /> 
			<address value="" /> 
			<address2 value="" /> 
			<zip value="" /> 
			<city value="" /> 
			<country value="" /> 
			<vat value="" /> 
		</third>
		<delivery type="third" id="S000010059">
		  <name value="Winbooks" /> 
		  <address value="" /> 
		  <address2 value="" /> 
		  <zip value="" /> 
		  <city value="" /> 
		  <country value="" /> 
		  <vat value="" /> 
		</delivery>
		<amount totalbasis="1653,85" totalvat="347,31">
			<basis vatid="21" vatpc="21" vatamount="347,31" amount="1653,85" /> 
		</amount>
		<fields>
			<field id="JNL" value="2-BCC" /> 
			<field id="TYPE" value="CO" /> 
			<field id="DATE" value="03/04/2020 10:59:03" /> 
			<field id="THIRDID" value="S000010059" /> 
			<field id="THIRDGROUP" value="S000010059" /> 
			<field id="THIRDNAME" value="Winbooks" /> 
			<field id="THIRDNAME2" value="" /> 
			<field id="THIRDADDR" value="" /> 
			<field id="THIRDADDR2" value="" /> 
			<field id="THIRDZIP" value="" /> 
			<field id="THIRDCITY" value="" /> 
			<field id="THIRDCOUNT" value="" /> 
			<field id="THIRDTEL" value="" /> 
			<field id="THIRDFAX" value="" /> 
			<field id="PRIORITY" value="" /> 
			<field id="THIRDVAT" value="" /> 
			<field id="AGENT" value="" /> 
			<field id="PAYDISC" value="0,0" /> 
			<field id="PAYDELAY" value="" /> 
			<field id="PAYMODE" value="" /> 
			<field id="BASIS1" value="1653,85" /> 
			<field id="VATAMT1" value="347,31" /> 
			<field id="VATID1" value="21" /> 
			<field id="VATPC1" value="21" /> 
			<field id="BASIS2" value="0" /> 
			<field id="VATAMT2" value="0" /> 
			<field id="VATID2" value="" /> 
			<field id="VATPC2" value="0" /> 
			<field id="BASIS3" value="0" /> 
			<field id="VATAMT3" value="0" /> 
			<field id="VATID3" value="" /> 
			<field id="VATPC3" value="0" /> 
			<field id="AMOUNT" value="1653,85" /> 
			<field id="TOPAY" value="2001,16" /> 
			<field id="NUMBER" value="-1" /> 
		</fields>
	</header>
	<details>
		<det artid="CANON-A30" artname="Appareil photo CANON A 30" vatid="21" vatpc="21" amount="1653,85">
			<qty total="5" unitprice="341" /> 
			<fields>
				<field id="QTY" value="5" /> 
				<field id="UNITPRICE" value="341" /> 
				<field id="DISCOUNT" value="3" /> 
				<field id="ARTID" value="CANON-A30" /> 
				<field id="ARTNAME" value="Appareil photo CANON A 30" /> 
				<field id="JNL" value="2-BCC" /> 
				<field id="NUMBER" value="" /> 
				<field id="THIRDID" value="S000010059" /> 
				<field id="VATPC" value="21" /> 
				<field id="VATID" value="21" /> 
				<field id="AMOUNT" value="1653,85" /> 
				<field id="AMTVATINC" value="2001,16" /> 
			</fields>
		</det>
	</details>
</doc>

Haut de page