2017-05-23 5 views
0

Ich möchte meine Kundenadressen abrufen.Prestashop - Kundenadresse über Webservice abrufen

Dies ist der Code, den ich für die Rückgabe der Kundendaten haben:

$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG); $xml = $webService->get(array('url' => 'http://example.com/api/customers/104')); $resources = $xml->children()->children();

Und das ist das Ergebnis:

<?xml version="1.0" encoding="UTF-8"?> 
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
<customer> 
    <id><![CDATA[104]]></id> 
    <id_default_group xlink:href="http://example.com/api/groups/3"><![CDATA[3]]></id_default_group> 
    <id_lang xlink:href="http://example.com/api/languages/2"><![CDATA[2]]></id_lang> 
    <newsletter_date_add><![CDATA[2016-01-31 23:32:17]]></newsletter_date_add> 
    <ip_registration_newsletter><![CDATA[46.245.17.126]]></ip_registration_newsletter> 
    <last_passwd_gen><![CDATA[2016-01-31 17:32:17]]></last_passwd_gen> 
    <secure_key><![CDATA[15423d30bac893c43344749c515c45f7]]></secure_key> 
    <deleted><![CDATA[0]]></deleted> 
    <passwd><![CDATA[02b5555e9ca7c2ea3588dae0a5e1d950]]></passwd> 
    <lastname><![CDATA[اصالتی]]></lastname> 
    <firstname><![CDATA[جاوید]]></firstname> 
    <email><![CDATA[[email protected]]]></email> 
    <id_gender><![CDATA[0]]></id_gender> 
    <birthday><![CDATA[1981-08-11]]></birthday> 
    <newsletter><![CDATA[1]]></newsletter> 
    <optin><![CDATA[0]]></optin> 
    <website></website> 
    <company><![CDATA[1376709392]]></company> 
    <siret></siret> 
    <ape></ape> 
    <outstanding_allow_amount><![CDATA[0.000000]]></outstanding_allow_amount> 
    <show_public_prices><![CDATA[0]]></show_public_prices> 
    <id_risk><![CDATA[0]]></id_risk> 
    <max_payment_days><![CDATA[0]]></max_payment_days> 
    <active><![CDATA[1]]></active> 
    <note></note> 
    <is_guest><![CDATA[0]]></is_guest> 
    <id_shop><![CDATA[1]]></id_shop> 
    <id_shop_group><![CDATA[1]]></id_shop_group> 
    <date_add><![CDATA[2016-01-31 23:32:17]]></date_add> 
    <date_upd><![CDATA[2016-01-31 23:54:54]]></date_upd> 
<associations> 
<groups nodeType="group" api="groups"> 

</groups> 
</associations> 
</customer> 

Es gibt nicht die Adressen.

Wie kann ich die Kundenadresse über den Webservice zurückgeben?

Antwort

0

Da in PrestaShop Sie mehr von einer Adresse haben sollten Sie diese Adressen in zwei Schritten abrufen.
Zuerst müssen Sie die Kundennummer (ich sehe, und ich nehme an, dass Sie bereits in Ihrem Fall haben) und dann die Adressen für diesen Kunden abrufen.

Wenn Sie über eine URL abrufen möchten, müssen Sie die ‚Filter‘ Funktion:
http://example.com/api/addresses/?filter[id_customer]=[104]&filter[deleted]=[0]
Wir haben zwei Parameter, id_customer, dass die ID des Kunden ist und die nur die aktiven Adressen abgerufen werden gelöscht

Andernfalls sollten Sie die $opt Array verwenden:

$opt = array(
    'resource'   =>'addresses', 
    'filter[id_customer]' => '[104]', 
    'filter[deleted]' => '[0]' 
); 

Nach der, dass Sie die Liste aller Adressen (des Kunden) haben, mit einem foreach können Sie die Adressen-ID (s) abrufen und alle Informationen dieser Adresse abrufen.

Verwandte Themen