3

我有一个客户想使用 Magento 的 Web 服务 API 来创建和更新客户。使用 API,我们可以使用 V1 或 V2 API 轻松操作系统定义的属性 - 名字、姓氏等。我们很高兴去那里。

这就是它变得棘手的地方 - 该站点使用 Magento Enterprise 1.12,我们添加了一些自定义客户属性,用于将 Magento 客户链接到外部系统上的 CRM 数据。使用 V1 API,我可以完全访问自定义属性。但是,V2 API 不会公开它们。由于调用者来自.NET,我相信他需要使用 V2 API。

使用调试器跟踪代码,我看到 V2 代码获取所有属性数据,然后在生成 Web 服务响应时丢弃所有自定义数据。我尝试将属性添加到客户(Mage/Customer/etc/)WSDL 和 WSI 文件中,但这并没有奏效。

谁能给我一个关于我应该做什么来公开客户属性的指针?

格雷格

4

2 回答 2

2
  1. 创建一个新模块
  2. Your_Module/etc/wsdl.xmlwsi.xmlMage_Customer 相同的节点中添加新属性wsdl.xmlwsi.xml
  3. Magento 将所有wsdl.xmlwsi.xml文件合并在一起
于 2012-07-26T21:21:28.453 回答
0

这是我用来将 customer_number 添加到 API 的 wsdl.xml 文件的示例。

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
          <complexType name="customerCustomerEntity">
             <all>
               <element name="customer_number" type="xsd:string" minOccurs="0" />
             </all>
          </complexType>
       </schema>
    </types>
</definitions>          
于 2013-10-22T13:14:27.883 回答