Prestashop - 通过网络服务检索客户的地址



我想检索我的客户地址。

这是我返回客户数据的代码:

$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();

这就是结果:

<?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[javidasalat@yahoo.com]]></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>

它不返回地址。

如何通过网络服务返回客户地址?

因为在PrestaShop中,您应该有多个地址,因此您必须分两步检索此地址。
首先,您必须检索客户ID(我明白了,我想您已经在您的案例中拥有(,然后是与该客户关联的地址。

如果你想通过url检索,你必须使用"过滤器"功能:

http://example.com/api/addresses/?filter[id_customer]=[104]&filter[deleted]=[0]我们有两个参数,id_customer是您客户的id,删除的参数仅检索活动地址

否则,应使用 $opt 数组:

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

之后,您拥有(该客户(所有地址的列表,通过foreach您可以获取地址 ID 并检索该地址的所有信息。

相关内容

  • 没有找到相关文章