`
hudeyong926
  • 浏览: 2033147 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Magento API v2 之webservice

 
阅读更多

http://yourserver.com/api/v2_soap /?wsdl v2是java,.net等语言可调用,可模仿Customer

 

Basic steps:

1. Create Magento Extension (we are not going explain here how to do it)
2. Create Model for API method
3. Create and configure api.xml file
4. Create wsdl.xml file (with proper definitions)
5. Create wsi.xml file (with proper definitions) (OPTIONAL)

Creating Model for API v2

After properly configuring our config.xml it looks like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version= "1.0" ?>
 
<config>
    <modules>
       <Inchoo_Mapy>
          <version>1.0.1</version>
       </Inchoo_Mapy>
    </modules>
    < global >
       <models>
          <inchoo_mapy>
              < class >Inchoo_Mapy_Model</ class >
          </inchoo_mapy>
       </models>
    </ global >
</config>

Let’s navigate through Magento core files to see where Magento API models are in file-system:

Since we are going to use API v2 only, We will create our model like this:



Creating and configuring api.xml

The easiest way is to copy/paste one of Magento’s api.xml files in our etc folder and make changes there to suit our needs. Our final api.xml should look like this:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version= "1.0" ?>
<config>
    <api>
      <resources>
      <!-- START GUSTOMER GROUP RESOURCES -->
        <mapy_customer_group>
             <model>inchoo_mapy/customer_group_api</model>
             <title>Inchoo Customer's Groups API</title>
             <acl>mapy_data</acl>
             <methods>
               <list translate= "title" module= "inchoo_mapy" >
                   <title>Retrieve customer groups</title>
                   <method>mapyItems</method>
               </list>
             </methods>
        </mapy_customer_group>
      <!-- END CUSTOMER GROUP RESOURCES -->
     </resources>
     <v2>
       <resources_function_prefix>
            <mapy_customer_group>mapy_customerGroup</mapy_customer_group>
            </resources_function_prefix>
     </v2>
     <acl>
        <resources>
            <mapy_data translate= "title" module= "inchoo_mapy" >
               <title>Mapy data</title>
               <sort_order>3</sort_order>
            </mapy_data>
        </resources>
     </acl>
   </api>
</config>

Here is logic that has to be implemented in api.xml file. Api.xml file basically connects API calls with php methods inside specific models. Also, the ACL resources are defined here for specific api call.

Creating wsdl.xml file

When working with wsdl.xml and wsi.xml later, if you are happy NetBeans user, I strongly suggest you to search on Google and download the XML Tools plug-in that can make life much easier …

There are few things that we have to fill-in when creating wsdl.xml.

  • Bindings
  • Port types
  • Messages
  • Types / Complex types

Also, it’s easier to copy one of Magento’s wsdl files, paste it in our etc folder and remove unnecessary things and add our own inside.

Here is NetBeans – XML Tools screen-shot how this look like:

This  image is showing logic and direction how should we fill-in wsdl.xml:

Let’s now look at real xml source:

After we finished with wsdl, let’s go to http://ourmagento/api/v2_soap/?wsdl=1 to see changes in global wsdl we made. (Don’t forget to clear cache first! ).

分享到:
评论

相关推荐

    Magento API 速查(alan storm).pdf

    ### Magento API 速查知识点详解 #### 一、概述 Magento Core API 是为 Magento 社区版 1.6.1 提供的核心 API 接口文档。这些接口为开发者提供了与 Magento 后台数据交互的能力,包括商店管理、国家地区管理等功能...

    python-magento:使用Python API访问magento API

    Magento Python API 用于连接到Magento Web服务的Python库。 用法 import magento url = 'http://domain.com/' apiuser = 'user' apipass = 'password' # Create an instance of API client = magento . API ( url ...

    magento-java-master.zip_magento

    4. **Magento API资源**:Magento提供了丰富的API资源,包括顾客管理、订单处理、产品信息、库存管理等。你需要熟悉每个资源的端点、方法(GET、POST、PUT、DELETE)以及它们所需的参数。 5. **异常处理**:在与...

    magento-api-soap:一个与Magento集成的Wordpress插件

    Magento API SOAP 一个与Magento集成的Wordpress插件。设定值如何使用! use Magento \ API \ SOAP \ Product ;//Get a single product by id.$ product_model = new Product ( 1 );$ product_model = new Product ...

    Magento-RestApi:Magento REST API的异步C#客户端

    Magento.RestApi-异步C#Magento REST API客户端是一个开放源代码电子商务平台,允许外部应用程序通过SOAP API或REST API与之交互。 仅在Magento的1.7版本中可用。... var client = new MagentoApi

    Laravel开发-laravel5-magento

    本项目 "Laravel5-Magento" 是 Michaelkmartin 的工作成果,主要关注如何在 Laravel 5 中与 Magento 进行集成,特别是通过 SOAP API v1 和 v2 进行数据交互。SOAP(简单对象访问协议)是一种基于 XML 的通信协议,...

    Laravel开发-magento

    本篇文章将深入探讨如何利用Laravel与Magento进行集成,特别是通过使用Magento的SOAP API来实现这一目标。 首先,Laravel是一个优雅的PHP Web开发框架,它提供了丰富的工具和功能,使开发者能够更高效地构建高质量...

    magento-api-rest:NodeJS包装器与Magento REST API通信

    Magento API REST 一个与Magento REST API一起使用的Node.js客户端包装。安装 npm i magento-api-rest入门按照生成API凭证。 确保检查资源访问是否符合您的要求,以防止滥用API密钥。 查看可以操纵的Magento API端点...

    magento-rest-api:客户端访问Magento Rest API

    Magento Rest API客户端基于Node.js的客户端与Magento REST Api进行交互。 ##使用指南var magentoRestApi = require('magento-rest-api');// Create api objectvar api = magentoRestApi.createClient({ consumerKey...

    CustomConfigurable:通过 Magento API 访问可配置产品。 Magento REST API 和前端有端点

    通过 Magento API 访问可配置产品。 Magento REST API 和前端有端点。 描述 创建可配置产品,设置其选项和相关产品。 然后通过 Magento API 访问该产品和选项。 促进为您的 Magento 网站上的特定产品创建移动应用...

    magja:Magento API的Java连接器

    Magja是Magento SOAP API的Java连接器,可以轻松与流行的商店系统集成,并可以交换Magento API可用的所有数据。 核心功能 对Magento 1.x SOAP API V1的基本支持 允许访问: 产品 产品媒体 产品链接 产品类别 产品...

    GoogleShoppingApi, Magento模块 GoogleShoppingApi v2.zip

    GoogleShoppingApi, Magento模块 GoogleShoppingApi v2 GoogleShoppingAPI v2 更新到重要 !如果你从早期版本更新到 0.2.4,请注意类别id已经更改。 有一个 shell script 插件,可以帮助你将旧的类别id映射到新的...

    magento二次开发大全

    5. **API接口**:Magento提供API接口,允许与其他系统集成,如CRM、ERP等。`API接口.txt`可能详细阐述了如何定义、调用和测试Magento API。 6. **后台功能和表单元素**:Magento的后台管理界面允许管理员配置商店的...

    magento官方文档翻译超好

    总之,Magento通过其丰富的API和强大的数据封装能力,极大地简化了开发流程,使得开发者能够专注于业务逻辑而无需过多关注底层数据处理细节。希望本文能帮助读者更好地掌握Magento中的数据处理技巧。

    Magento-Extra-RESTful:Magento API的更多REST资源

    额外的RESTful 邀请开发人员在项目中包含此可重用的扩展... (Magento API2错误地在这里重复了最后一页。) ,便于分页。 (这与相似,不同之处在于URI相对于网站的基本URL) 资源变更 新资源 URL重写 CMS块 CMS页面

    magento数据结构分析

    **SYSTEMLOGS**, **DATAFLOW**, **EAVENTITYTYPE**, **EAVATTRIBUTE**:这些表涉及标签管理、系统布局、API接口、目录管理、事件报告、系统日志、数据流控制、实体类型定义和属性定义,共同支持了Magento系统的全面...

    rails_magento:使用 Rails 连接 Magento API

    自述 此自述文件用于构建在 Ruby on Rails 上的 Magento API 包装器,用于将 Rails 应用程序连接到 Magento API 涵盖的内容有: 上市产品列出单个产品信息上市股票数据列出客户上市订单创建/更新产品向产品添加媒体...

    Magento-中文开发教程.doc

    Magento提供RESTful API和SOAP API,便于与其他系统集成,如ERP、CRM、物流等。通过API,你可以实现自动化数据同步、远程订单处理等功能。 六、Magento的性能优化 由于Magento的复杂性,性能优化是一个重要话题。你...

    magento快速复制网站_magento_magento快速复制站_

    在电商领域,经常会有需求将一个已经建立并运行良好的Magento站点快速复制到另一个服务器,用于测试、备份或者创建一个新的独立站点。这个过程涉及到数据库的备份与还原、文件系统的复制以及配置的调整等多个步骤。 ...

Global site tag (gtag.js) - Google Analytics