Page History
Anchor | ||||
---|---|---|---|---|
|
Section | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 | ||
---|---|---|
| ||
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>" & _
"<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 C#
|
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)
|
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.
- PHP - Site web Ecommerce
- C# - Exemple d'utilisation des requêtes WSGETSTRINGQUERY et WSGETPRICE_STOCK ( Projet en visual studio 2017)
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 | ||
---|---|---|
| ||
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.
| ||
Code Block | ||
| ||
String lsValue = ""; String lsName = ""; String LsCTRL = "<?xml version = '1.0' encoding='Windows-1252' standalone='yes'?>" & +_ "<VFPData><login>" + & _ "<userid>" +& psUSERLsUSER +& "</userid>" & +_ "<pswd>" +& psPSWDLsPSWD +& "</pswd>" + & _ "<compid>" +& psCOMPANYLsCOMPANY +& "</compid>" & +_ "<version>" +& psVERSIONLsVERSION +& "</version>" +& _ "<PrgRoot>" +& psPRGROOTLsPRGROOT +& "</PrgRoot></login></VFPData>"; WsFlexset wssoapclient = new WsFlexCreateObject("MSSOAP.SoapClient30") soapclient.ClientProperty("ServerHTTPRequest"); psResultLogin) = True soapclient.mssoapinit(WSPath) Lsresult = wssoapclient.LOGINlogin (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
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 | ||
---|---|---|
| ||
String lsValue = "";
String lsName = "";
String LsCTRL | ||
Code Block | ||
| ||
<?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><VFPData><login>" + <compid>".$LsCOMPANY."</compid> <version>".$LsVERSION. "</version> <PrgRoot>".$LsPRGROOT."</PrgRoot> </login> </VFPData>"; try { <userid>" + psUSER + "</userid>" + $params = array("PcCtrl" => $LsCTRL); $Res = $client->__call('Login', array("parameter" => $params));<pswd>" + psPSWD + "</pswd>" + $language = "F"; $dbpath = $LsPRGROOT."".$LsCOMPANY."\\"; <compid>" + psCOMPANY + "</compid>" + $dbkey = $Res->LOGINResult; //echo 'RESPONSE: ' .$client->__getLastResponse()."<br>";"<version>" + psVERSION + "</version>" + //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()); } ?> |
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 | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlresult>
<chkmail>jfcu@spiritsystems.be</chkmail>
<pswd>123</pswd>
</xmlresult>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
"<PrgRoot>" + psPRGROOT + "</PrgRoot></login></VFPData>";
WsFlex ws = new WsFlex("");
psResultLogin = 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 | ||
---|---|---|
| ||
<?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());
}
?>
|
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 | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlresult>
<chkmail>jfcu@spiritsystems.be</chkmail>
<pswd>123</pswd>
</xmlresult>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlreturn>
<name>Fauquet Sprl.</name>
<name2>Fauquet Geoffrey</name2>
<adrname />
<adrname2 />
<adrstreet | ||
Code Block | ||
| ||
<?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<adrstreet2 /> <adrcountry <points>0</points>> <errornr>ERROR<adrzip 0</errornr>> <language<adrcity /> <dbkey<adrfax /> <logmessage>Consumer is<adrphone correct</logmessage>> <displayinventory>0<<adrphone2 /displayinventory>> <u_test<userid /> <email <c_prenom>John.</c_prenom>/> <c_num>18</c_num><civility /> <ana1<title /> <customer>true</customer> </xmlreturn> </VFPData> |
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 | ||
---|---|---|
| ||
TextBox_XmlResult.Text = ws.WsRequest("WSMANAGECUSTOMER", TextBox_XmlHeaderSend.Text, TextBox_XmlFileSend.Text, TextBox_XmlFooterSend.Text);
|
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <xmlresult> <name>Fauquet Sprl</name> <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> <name2>Fauquet<paymode Geoffrey</name2>> <<web>true</xmlresult> </VFPData> |
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <xmlreturn> <custid>C-WS00000003</custid> <useridweb> <webpsw /> <webwhere /> <points>0</points> <errornr>ERROR 0</errornr> <language /> <accountid<dbkey /> <groupid>WS00000003</groupid> <logmessage>Consumer <name>Fauquetis Sprl<correct</name>logmessage> <name2>Fauquet Geoffrey<<displayinventory>0</name2>displayinventory> <adrstreet /> <adrzip <u_test /> <adrcity /> <adrphone /> <c_prenom>John.</c_prenom> <adrphone2 /> <adrfax /> <c_num>18</c_num> <language /> <vat <ana1 /> <memo </xmlreturn> </VFPData> |
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 | ||
---|---|---|
| ||
TextBox_XmlResult.Text = ws.WsRequest("WSMANAGECUSTOMER", TextBox_XmlHeaderSend.Text, TextBox_XmlFileSend.Text, TextBox_XmlFooterSend.Text);
|
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlreturn>
<name>Fauquet Sprl</name>
<name2>Fauquet Geoffrey</name2>
</xmlreturn>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <xmlreturn> <custid>C-WS00000003</custid> <userid> <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<accountid /> <ca>0<<groupid>WS00000003</ca>groupid> <bankparam<name>Fauquet Sprl</>name> <name2>Fauquet <tarif>0<Geoffrey</tarif>name2> <ana1<adrstreet /> <ana2<adrzip /> <adrcountry<adrcity /> <stkid<adrphone /> <adrname<adrphone2 /> <adrname2<adrfax /> <title<language /> <vat <supplyer>false</supplyer>> <customer>true<<memo /customer>> <extref<vatid /> <s_deleted>false</s_deleted> <importid /> <s_credate>2008-02-26T10:46:07</s_credate> <other>false</other><s_moddate>2008-02-26T10:53:08</s_moddate> <custaccid<custtype /> <discount>0<<currid /discount>> <currid2<agent /> <adrstreet2<artcateg /> <invstreet2 <artcoef>0</>artcoef> <vatcountry<bankname /> <email<banknr /> <website<paydelay /> <buyvatid<paymode /> <saledelay>0<<paydisc>0.0</saledelay>paydisc> <s_repdate<credfile /> <blocktype>0<<credamount>0</blocktype>credamount> <blockwhen>0</blockwhen> <blockmax>0</blockmax><crednote /> <codexpgrp<priority /> <copycount>0<<fullline>false</copycount>fullline> <situation <invpos>false</invpos>> <invartgrp>false<<transport /invartgrp>> <amtfranco>0</amtfranco><ca>0</ca> <bankparam /> <tarif>0</tarif> <artport<ana1 /> <vatcat<ana2 /> <adrcountry <modified>false</modified>> <civility<stkid /> <web>false<<adrname /web>> <webpsw<adrname2 /> <webwhere<title /> <webdispinv>0</webdispinv><supplyer>false</supplyer> <customer>true</customer> <extref /> <forecolor<importid /> <gdisc>0<<other>false</gdisc>other> <u_test<custaccid /> <s_creuid<discount>0</discount> <currid2 /> <s_moduid<adrstreet2 /> <invstreet2 </xmlreturn> </VFPData> |
WsGetCustInfo
Cette fonction permet d'avoir les informations d'un client.
Exemple en ASP
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
ws.WsRequest(PcProcName, pPath, pKey, pLang, pcXmlHeader, pcXmlFile, pcXmlFooter);
|
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlreturn>
<custid>C-WS00000001</custid>
</xmlreturn>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <xmlreturn> <custid>WS00000316</custid> <userid /> <accountid> <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 /> <groupid>WS000316<<web>false</groupid>web> <name>Spirit<webpsw Systems sprl</name>> <name2>Cuylits<webwhere Jean-François.</name2>> <adrstreet>Fond Jean Paques 6C</adrstreet><webdispinv>0</webdispinv> <adrzip>1438</adrzip> <adrcity>Louvain-La-Neuve</adrcity> <adrphone>010 45 12 44</adrphone> <adrphone2>0475 78 82 57</adrphone2> <adrfax /<forecolor /> <language>F<<gdisc>0</language>gdisc> <vat>04737.109.813</vat> <memo /> <vatid<u_test /> <s_deleted>false</s_deleted> <s_credate creuid /> <s_moddatemoduid /> </xmlreturn> </VFPData> |
WsGetCustInfo
Cette fonction permet d'avoir les informations d'un client.
Exemple en ASP
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
ws.WsRequest(PcProcName, pPath, pKey, pLang, pcXmlHeader, pcXmlFile, pcXmlFooter);
|
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlreturn>
<custid>C-WS00000001</custid>
</xmlreturn>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <xmlreturn> <custid>WS00000316</custid> <userid /> <accountid <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<<groupid>WS000316</tarif>groupid> <ana1<name>Spirit Systems sprl</>name> <name2>Cuylits <adrcountry>BE</adrcountry>Jean-François.</name2> <adrstreet>Fond <stkidJean Paques 6C</>adrstreet> <adrname <adrzip>1438</>adrzip> <adrname2 /><adrcity>Louvain-La-Neuve</adrcity> <title>Monsieur</title><adrphone>010 45 12 <supplyer>false<44</supplyer>adrphone> <adrphone2>0475 78 <customer>false<82 57</customer>adrphone2> <extref<adrfax /> <language>F</language> <importid /> <vat>04737.109.813</vat> <other>false<<memo /other>> <custaccid<vatid /> <discount>0</discount><s_deleted>false</s_deleted> <currid2<s_credate /> <adrstreet2<s_moddate /> <invstreet2<custtype /> <vatcountry>BE<<currid /vatcountry>> <email>jfcu@spiritsystems.be</email><agent /> <website<artcateg /> <buyvatid <artcoef>0</>artcoef> <bankname <saledelay>0</saledelay>> <s_repdate<banknr /> <paydelay <blocktype>0</blocktype>> <blockwhen>0<<paymode /blockwhen>> <blockmax>0<<paydisc>0.0</blockmax>paydisc> <codexpgrp<credfile /> <copycount>0<<credamount>0</copycount>credamount> <invpos>false</invpos> <invartgrp>false</invartgrp><crednote /> <vatcat<priority /> <modified>false<<fullline>false</modified>fullline> <civility<situation /> <transport <web>false</web>> <webpsw>123<<ca>0</webpsw>ca> <webwhere<bankparam /> <webdispinv>0<<tarif>0</webdispinv>tarif> <forecolor<ana1 /> <gdisc>0<<adrcountry>BE</gdisc>adrcountry> <u_test<stkid /> <s_creuid<adrname /> <s_moduid<adrname2 /> < <title>Monsieur</xmlreturn> </VFPData> |
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é
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<Customer>
<custid>C-0100000009</custid>
</Customer>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <articles> <article> <artid>C2</artid> <colortitle> <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> <size <s_repdate /> <<blocktype>0</article>blocktype> <warehouses><blockwhen>0</blockwhen> <blockmax>0</blockmax> <Warehouse>A<<codexpgrp /Warehouse>> <copycount>0</copycount> <Warehouse>B< <invpos>false</Warehouse>invpos> </warehouses> </articles> |
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <vatinc>.T.</vatinc> <xmlreturnst> <xartid>C2</xartid> <xcolor<invartgrp>false</invartgrp> <vatcat /> <modified>false</modified> <civility /> <web>false</web> <webpsw>123</webpsw> <webwhere /> <webdispinv>0</webdispinv> <xsize<forecolor /> <gdisc>0</gdisc> <xwarehouse> <u_test <Xname>A</Xname>> <s_creuid /> <Qty>5000</Qty> <s_moduid </xwarehouse> <xwarehouse> <Xname>B</Xname> <Qty>3000</Qty> </xwarehouse> <xqty>8000</xqty> <xprice>0</xprice> <xstkinday>0</xstkinday> <xremark>x</xremark> </xmlreturnst> /> </xmlreturn> </VFPData> |
...
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é
Code Block | ||||
---|---|---|---|---|
| ||||
a
| ||||
Code Block | ||||
| ||||
<<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <xmlreturn><Customer> <custid>C-WS00000001<0100000009</custid> </xmlreturn>Customer> </VFPData> |
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
| ||
Code Block | ||
---|---|---|
| ||
<?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>articles> |
WsGetContacts
...
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML
...
language | xml |
---|---|
title | XMLHEADER |
...
reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?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 | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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> <xmlreturn> <name>Test</name> <adrstreet>Rue du bois</adrstreet> <adrstreet2>Drogenbos</adrstreet2> <adrzip>1000</adrzip> <adrcity>Bruxelles</adrcity> <adrcountry /> <persid>P-WS00000002</persid> </xmlreturn> <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> |
...
WsGetDeliveryAdress
Cette fonction permet d'
...
avoir les adresses de livraisons d'un client.
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?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 | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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>
|
WsGetContacts
Cette fonction permet d'avoir les contacts d'un client
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlreturn>
<custid>C-WS00000001</custid>
</xmlreturn>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a |
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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> <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> |
...
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 | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml<?xml version="1.0" encoding="ISO-8859-1Windows-1252" standalone="yes" ?> <order><VFPData> <docdet><xmlreturn> <thirdid>P-WS00000002</thirdid><name>Spirit Systems sprl.</name> <name2>Cuylits <thirdname>Colin</thirdname>Jean-François.</name2> <basis1>1140490</basis1><adrstreet>Fond Jean Paques 6C</adrstreet> <vatid1>21<<adrstreet2 /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> <adrphone2>0475 78 <vatamt282 57</>adrphone2> <basis3 /><email>jfcu@spiritsystems.be</email> <vatid3 <title>Monsieur</>title> <vatpc3 /><vat>0437.109.813</vat> <vatcountry>BE</vatcountry> <web>true</web> <webpsw>123</webpsw> <vatamt3 /><language>F</language> <CustId>C-WS00000001</CustId> <topay>1379993<<persid>P-WS00000003</topay>persid> </docdet>xmlreturn> </order>VFPData> |
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="ISO-8859-1Windows-1252" standalone="yes" ?> <order><VFPData> <docdet><xmlreturn> <artid>DELL1700</artid> <name>Geo SPRL.</name> <artname>Dell 1700</artname><adrstreet>Place du charbonnage, <qty>1000<2</qty>adrstreet> <unitprice>561980</unitprice> <amount>561980</amount> <vatid>21</vatid> <adrstreet2>Trazegnies</adrstreet2> <adrzip>6183</adrzip> <adrcity>Trazegnies</adrcity> <adrcountry>BE</adrcountry> <vatpc>21</vatpc> <persid>P-WS00000001</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> <vatid>21</vatid> <adrcountry /> <vatpc>21<<persid>P-WS00000002</vatpc>persid> </docdet>xmlreturn> </order>VFPData> |
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
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 | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="ISO-8859-1" ?> <order> <VFPData> <docdet> <returncode>OK<<thirdid>P-WS00000002</returncode>thirdid> <Xorderid>382<<thirdname>Colin</Xorderid>thirdname> <headgroups><basis1>1140490</basis1> <vatid1>21</vatid1> <headgroup code="L100FAC" description="Coordonnées de facturation"> <vatpc1>21</vatpc1> <vatamt1>239503</vatamt1> <basis2 <header>/> <vatid2 /> <vatpc2 <ncol>2</ncol>> <vatamt2 /> <basis3 /> <col01 type="C">Libellé</col01><vatid3 /> <vatpc3 /> <col02 type="M">Valeur</col02><vatamt3 /> <topay>1379993</topay> </docdet> </order> |
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
<order>
<docdet>
<artid>DELL1700</artid>
<artname>Dell 1700</artname>
<qty>1000</qty>
<unitprice>561980</unitprice>
<amount>561980</amount>
<vatid>21</vatid>
<vatpc>21</vatpc>
</docdet>
<docdet>
<artid>HPLASERCOLOR3000</artid>
<artname>HP Color LaserJet 3000</artname>
<qty>1000</qty>
<unitprice>578510</unitprice>
<amount>578510</amount>
<vatid>21</vatid>
<vatpc>21</vatpc>
</docdet>
</order>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?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> <recs> <rec> <col01>Code client</col01> <col02>WS00000001</col02> </rec> <rec> <col01>Nom</col01> <col02>Colin</col02> </rec> <rec> <col01>Adresse</col01> <col02>Chaussée de Tubize 483<br>BE 1420 Braine l'alleud</col02> <header> </rec> <<ncol>2</recs>ncol> </headgroup> <headgroup code="L200VAT" description="Totaux"> <header> <ncol>2</ncol> <col01 <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> <rec></recs> </headgroup> <headgroup <col01>Devise</col01> code="L200VAT" description="Totaux"> <header> <col02>EUR</col02> <ncol>2</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> <col04 type="N" dec="2">prix</col04> <rec> <col05 type="N" dec="2">remise</col05> <col01>Tva</col01> <col06 type="N" dec="2">htva</col06> <col02>197.94</col02> <col07 type="C">color</col07> </rec> </header> <recs><rec> <rec> <col01>A <col01>DELL1700<payer</col01> <col02>Dell 1700<<col02>1140.50</col02> <col03>1000<</col03> rec> <col04>561980</col04> <rec> <col05>0<<col01>Devise</col05>col01> <col06>464450<<col02>EUR</col06>col02> <col07 </> rec> </rec>recs> </headgroup> <rec></headgroups> <body> <header> <col01>HPLASERCOLOR3000</col01> <ncol>7</ncol> <col01 type="C">code</col01> <col02>HP Color LaserJet 3000<<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> |
WsGetArtInfo
Cette fonction permet de récupérer les informations d'un contact.
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlresult>
<artId>RADIATOR</artId>
</xmlresult>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <cres> <artid>RADIATOR</artid> <buyartid /> <custid /> <name1>RADIATOR F-11 OIL.</name1> <name2>RADIATOR F-11 OIL</name2> <family <rec> <col01>DELL1700</col01> <col02>Dell 1700</col02> <col03>1000</col03> <col04>561980</col04> <col05>0</col05> <col06>464450</col06> <col07 /> <category /> <coef>0<</coef>rec> <currid /> <rec> <buyprice>0</buyprice> <buydate <col01>HPLASERCOLOR3000</>col01> <saleprice>0</saleprice> <stock>0</stock> <minqty>0</minqty><col02>HP Color LaserJet <maxqty>0<3000</maxqty>col02> <unit /> <vatid>21<<col03>1000</vatid>col03> <ana1>PIECE</ana1> <ana2>AUTOS</ana2> <ana3>CITROEN<<col04>578510</ana3>col04> <ana4 /> <memo>Information du produit<<col05>0</memo>col05> <s_credate>2008-01-08T14:52:52</s_credate> <s_moddate>2008-02-07T14:56:32</s_moddate> <coeftarif1>0<<col06>478110</coeftarif1>col06> <saletarif1>0</saletarif1> <expenses>0</expenses> <nostock>false</nostock> <artpart>false</artpart><col07 /> <compound>false</compound> <qtypackby>0</qtypackby> <finalprice>0<</finalprice> rec> <packkg>0</packkg> <notinhist>false<</notinhist> recs> <stocktype>1<</body> </VFPData> |
WsGetArtInfo
Cette fonction permet de récupérer les informations d'un contact.
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlresult>
<artid>RADIATOR</artid>
</xmlresult>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <cres> <artid>RADIATOR</artid> <buyartidstocktype> <kg>0</kg> <buyvatid /> <buydisc>0</buydisc> <saledisc>0</saledisc> <artaccid /> <actualval>0</actualval> <nopaydisc>false</nopaydisc> <discount>0</discount> <buyvatpc>0</buyvatpc> <coeffinal>0</coeffinal> <pctarif1>0</pctarif1> <pcsalepric>0</pcsalepric> <options>false</options> <sleep>false</sleep> <buydelay>0</buydelay> <colrange /> <s_repdate<custid /> <buyqty>0</buyqty><name1>RADIATOR F-11 OIL.</name1> <buypack /> <saleqty>0</saleqty><name2>RADIATOR F-11 OIL</name2> <salepack<family /> <linkartid<category /> <linkqty>0<<coef>0</linkqty>coef> <linkqtyfix>false<<currid /linkqtyfix>> <compotype>4<<buyprice>0</compotype>buyprice> <buydate <valuetype>0</valuetype>> <proqty>0<<saleprice>0</proqty>saleprice> <web>true<<stock>0</web>stock> <webpromo>false<<minqty>0</webpromo>minqty> <webnew>false<<maxqty>0</webnew>maxqty> <unit <webmonth>false</webmonth>> <webmsg1 /><vatid>21</vatid> <ana1>PIECE</ana1> <webmsg2 <ana2>AUTOS</>ana2> <memo1 <ana3>CITROEN</>ana3> <memo2<ana4 /> <memo>Information <webviewlev>3<du produit</webviewlev>memo> <webstockok>0</webstockok><s_credate>2008-01-08T14:52:52</s_credate> <packcost>0</packcost><s_moddate>2008-02-07T14:56:32</s_moddate> <forecolor <coeftarif1>0</>coeftarif1> <weborder>0<<saletarif1>0</weborder>saletarif1> <vatid2 <expenses>0</>expenses> <vatid3 <nostock>false</>nostock> <buyvatid2 <artpart>false</>artpart> <buyvatid3 <compound>false</>compound> <expensetyp>0<<qtypackby>0</expensetyp>qtypackby> <u_format /><finalprice>0</finalprice> <u_grammage /><packkg>0</packkg> <c_proprio /><notinhist>false</notinhist> <stocktype>1</stocktype> <c_categ /><kg>0</kg> <c_format<buyvatid /> <c_millesim /><buydisc>0</buydisc> <saledisc>0</saledisc> <c_url<artaccid /> <disp>0<<actualval>0</disp>actualval> <c_pdv>false</c_pdv><nopaydisc>false</nopaydisc> <c_recomp /><discount>0</discount> <buyvatpc>0</buyvatpc> <a_stock /><coeffinal>0</coeffinal> <pctarif1>0</pctarif1> <s_creuid>SYSTEM</s_creuid><pcsalepric>0</pcsalepric> <s_moduid>SYSTEM</s_moduid><options>false</options> <<sleep>false</cres> </VFPData> |
WsGetPasswordFromEmail
Cette fonction permet de récupérer un mot de passé par rapport au login (adresse email)
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<xmlresult>
<email>test@test.be</email>
</xmlresult>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<curres>
<password>123</password>
</curres>
</VFPData>
|
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 | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?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 | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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>
...
|
WsArtGetArtIdComp
...
sleep>
<buydelay>0</buydelay>
<colrange />
<s_repdate />
<buyqty>0</buyqty>
<buypack />
<saleqty>0</saleqty>
<salepack />
<linkartid />
<linkqty>0</linkqty>
<linkqtyfix>false</linkqtyfix>
<compotype>4</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>
|
WsGetPasswordFromEmail
Cette fonction permet de récupérer un mot de passé par rapport au login (adresse email)
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <artid>DELL1700</artid> <xmlresult> <email>test@test.be</email> </xmlresult> </VFPData> |
Code Block | ||||
---|---|---|---|---|
| ||||
a |
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?> <VFPData> <cres><curres> <artpartid>MAXHD500<<password>123</artpartid>password> </cres>curres> </VFPData> |
...
WsArtGetItems
Cette fonction renvoie
...
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...
...
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 | ||||
---|---|---|---|---|
| ||||
a |
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<artid>TEST</artid>
<custid>C-0100000001</custid>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?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>
|
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 | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<query>SELECT NAME1 FROM ART</query>
<table>art</table>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
<?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 | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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>
...
|
WsArtGetArtIdComp
Cette fonction renvoie tous les ArtId
des composant d'un article.
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<artid>DELL1700</artid>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<cres>
<artpartid>MAXHD500</artpartid>
</cres>
</VFPData>
|
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 | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<artid>TEST</artid>
<custid>C-0100000001</custid>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||||
---|---|---|---|---|
| ||||
<?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>
|
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 | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="Windows-1252" standalone="yes" ?>
<VFPData>
<query>SELECT NAME1 FROM ART</query>
<table>art</table>
</VFPData>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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>
|
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 | ||||
---|---|---|---|---|
| ||||
<articles><art id="CANON-A30"/></articles>
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<articles from="15" count="100" getcount="yes" where="web=1" order="name1" />
|
Code Block | ||||
---|---|---|---|---|
| ||||
<options>
<fields>
<field name="name1"/>
<field name="name2"/>
</fields>
<price customer="S000010059" jnl="2-BCC"/>
<stock allwarehouses="true" />
</options>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<?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>
|
GetAnalyticsTree
Cette requête vous retourne les analytiques article du dossier
Exemple d'XML envoyé
Code Block | ||||
---|---|---|---|---|
| ||||
<header type = "ART" />
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<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>
|
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 | ||||
---|---|---|---|---|
| ||||
<header mail = "kf@winbooks.be" password="E10ADC3949BA59ABBE56E057F20F883E" />
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<login status="valid" thirdid="S000010059" />
|
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 | ||||
---|---|---|---|---|
| ||||
<document>
<header thirdid="S000010059" jnl="2-BCC" />
<articles>
<art id="CANON-A30" qty="5.0" unitprice="341" discount="3" />
</articles>
</document>
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Code Block | ||||
---|---|---|---|---|
| ||||
a
|
Exemple d'XML reçu
Code Block | ||
---|---|---|
| ||
<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> | ||
Code Block | ||
| ||
<?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>
|