Questions tagged «api»

应用程序编程接口(API)指定某些软件组件应如何相互交互。

3
Magento 2无头解决方案
我想知道是否有一些最佳实践将Magento 2用作无头电子商务解决方案。 2017年典型的电子商务是拥有全渠道解决方案,其中包括 电子商务 不育系 多平台 层系统集成(ERP,...) 我想知道如何将Magento 2 API与这种解决方案结合在一起。 我的方法: 对台式机/移动Web应用程序和移动应用程序使用不同的前端框架(例如angular) 仅使用Magento 2 API才能检索电子商务数据/操作或与之交互 仅使用CMS API才能检索CMS数据。 专业版:仅API,全渠道 缺点:性能/功能/格式的局限性 有关此方法的一些问题: 谁负责格式化数据,例如价格。Magento API和前端框架? 谁负责调整产品图像的大小并缓存它们?因为在本地Magento 2 API中没有调整大小或缓存系统。 我是否需要创建新的自定义隔离API或扩展本机以用于将来的升级? 您是否建议使用额外的图层以结合CMS和Magento API? 感谢您分享经验。 此外,我发现了这种方法:http : //fbrnc.net/blog/2015/10/super-scaling-magento 有用的链接: https://blogi.lamia.fi/verkkokaupat/headless-ecommerce/ http://www.magetitans.it/headless-new-buzzword-magento-2-sander-mangel/ https://www.youtube.com/watch?v=6OuzAtqtWRE https://pantheon.io/blog/headless-websites-whats-big-deal-decoupled-architecture http://buytaert.net/the-future-of-decoupled-drupal https://creately.com/diagram/example-v2/ihbyjjkf/Example%20Headless%20Architecture https://www.lullabot.com/articles/should-you-decouple https://alankent.me/2016/12/14/headless-magento-and-extensions/ 编辑: 我找到了一个很好的引导程序,以便为您的Magento 2 API创建自己的缓存逻辑:https : //github.com/magespecialist/m2-MSP_APIEnhancer 编辑: 一个不错的开源项目,目的是将Magento 2用作VueJS …

4
Magento 2-使用REST API创建订单
我需要使用Magento REST API从移动客户端创建订单。就我而言,移动端将直接使用PayPal SDK实施付款。我需要做的是通过将付款方式设置为汇票来创建订单并执行客人结帐。我应该使用哪个API来实现这一目标?

2
过滤Magento 2对象存储库
在Magento 2中,您可以使用产品存储库按产品属性进行过滤吗? 在Magento 2中,您可以使用搜索条件对象 \Magento\Framework\Api\SearchCriteriaInterface $searchCriteria, 和一个仓库 \Magento\Catalog\Api\ProductRepositoryInterface $productRepository, 提取对象列表 $searchCriteria->getPageSize(10); $list = $productRepository->getList($searchCriteria); 但是,searchCriteria对象没有(似乎?)具有直接过滤功能。搜索条件类确实具有添加名为filterGroups的方法。 #File: lib/internal/Magento/Framework/Api/SearchCriteria.php public function getFilterGroups() { $filterGroups = $this->_get(self::FILTER_GROUPS); return is_array($filterGroups) ? $filterGroups : []; } public function setFilterGroups(array $filterGroups = null) { return $this->setData(self::FILTER_GROUPS, $filterGroups); } 但是尚不清楚究竟是什么过滤组归功于PHP的无类型数组。 我如何使用Magento 2存储库执行类似的操作 向我展示所有带有[此特定SKU]的产品 显示[此日期]之后创建的所有产品 等等

3
哪种API方法最适合应用
我想为Magento商店创建iOS和Android应用程序。 为此,我想知道哪种API方法最适合作为应用程序数据API。 请在下方建议Magento选项: 香皂 休息阿皮 创建自定义模块,控制器并发送JSON Magento默认移动应用程序XML连接(请参阅Magento Mobile Store本机应用程序使用什么API?) 我已经读过艾伦·斯托姆(Alan Storm)的答案。根据他的建议,我的第三个选择是最好的。 但是我想知道哪种方法最适合以下情况: 认证方式 更快的数据获取 发展更快 请帮我。简要描述


1
无法获取Magento Rest API客户端的OAuth令牌
我正在使用Magento 1.9.1.0版本,并且服务器在我的Mac上运行,并尝试通过OAuth集成使用Magento Rest API。 我有一个消费者密钥和消费者秘密。 现在,我想获得用于Rest API的OAuth令牌。我已经点击了此链接 在这方面,我们需要oauth_signature和timestamp它当我们创建管理面板上的消费者,我们没有得到。 现在我们如何只获得消费者密钥和消费者秘密就获得OAuth令牌?
17 magento-1.9  api  rest  oauth 

1
为什么我的SOAP v2 WS-I调用这么慢(每个产品更新需要7-10秒)?
我们将Magento SOAP v2 API与WS-I结合使用。 问题是,SOAP调用非常慢(每个产品7-10秒!)。我们称没有图像的catalogProductUpdate。商店本身运行良好,只是SOAP调用很慢。我们激活了Cache并降低了Index的性能,以提高性能(这在SOAP导入速度很慢时可以帮助许多其他商店)。 我将日志消息放入各种文件中,以找出错误所在。这是来自函数调用和调度事件的组合日志: 20.03.2013 14:17:43: Mage_Api_V2_SoapController 20.03.2013 14:17:43: dispatchEvent: controller_action_postdispatch_api_v2_soap_index 20.03.2013 14:17:43: dispatchEvent: controller_action_postdispatch_api 20.03.2013 14:17:43: dispatchEvent: controller_action_postdispatch 20.03.2013 14:17:43: dispatchEvent: controller_front_send_response_before 20.03.2013 14:17:43: dispatchEvent: http_response_send_before 20.03.2013 14:17:43: dispatchEvent: controller_front_send_response_after 20.03.2013 14:17:43: Mage::run 20.03.2013 14:17:51: dispatchEvent: resource_get_tablename 20.03.2013 14:17:51: dispatchEvent: resource_get_tablename 20.03.2013 14:17:51: dispatchEvent: resource_get_tablename 20.03.2013 14:17:51: …

3
Magento 2:使用服务合同的好处是什么?
因此,如您所知,Magento 2建议的处理CRUD行为的模型/集合的方法是使用服务合同。 但是仍然根据Magento SE问答,似乎大多数人倾向于直接使用模型/资源模型/集合来代替。 作为加载报价的示例,我可以这样直接通过工厂进行报价: $this->quoteFactory->create()->load($quoteId); $this->quoteFactory的实例在哪里\Magento\Quote\Model\QuoteFactory 但是我也可以通过服务合同来做到这一点: $this->quoteRepository->get($quoteId); $this->quoteRepository的实例在哪里\Magento\Quote\Api\CartRepositoryInterface 所以我的问题是,与工厂相比,使用服务合同有什么好处?

3
如何在Magento 2中使用自定义REST API返回JSON对象?
我正在编写一个自定义的REST API演示;现在它可以在演示中返回数字和字符串,但是我希望它像其他REST API一样返回JSON对象。 在我的演示中,我使用curl 调用了Magento 2 API(即,获取客户信息:http://localhost/index.php/rest/V1/customers/1),它返回一个JSON字符串: “ {\” id \“:1,\” group_id \“:1,\” default_billing \“:\” 1 \“,\” created_at \“:\” 2016-12-13 14:57:30 \“ ,\“ updated_at \”:\“ 2016-12-13 15:20:19 \”,\“ created_in \”:\“默认商店视图\”,\“电子邮件\”:\“ 75358050@qq.com \ “,\”名字\“:\” azol \“,\”姓氏\“:\”年轻\“,\” store_id \“:1,\”网站ID \“:1,\”地址\“:[{ \“ id \”:1,\“ customer_id \”:1,\“ region \”:{\“ region_code \”:\“ AR \”,\“ region …
14 magento2  api  rest 

3
提高SOAP调用的性能
Magento 2.1出现性能问题 在我的商店中,我有90.000种产品。我将这些产品添加到肥皂中。当我这样做时,每篇文章(产品?)大约​​花费了7秒钟(Request> Response)。总而言之,初始化所有产品花了几天时间。 现在所有产品都在商店里。整整几周,我不得不更新文章(产品)上的某些内容。当我再次用肥皂擦洗时,需要花费相同的时间。更新后,商店将无法使用。请求和响应的示例在这里:https : //pastebin.com/aqnMJk98 https://pastebin.com/UAh0h8Zz 我的服务器具有12核心CPU,24 GB RAM和SSD。它运行带有Apache2 PHP7-fpm和MYSQL的Ubuntu 16.04。 当我观看更新过程时,我发现MySQL的5个核心正在以100%的速度工作,而其余的则处于闲置状态。仅使用少量的内存就iotop表明我的SSD很无聊。 我观察了数据库的性能,发现Magento在添加过程中向数据库触发了数千条命令。这个可以吗? 当我使用Magento CSV导入更新它时,它的速度要快得多。 我该怎么做才能加快Magento2的速度?在这种情况下,这家商店不可能很好地运作。

1
Magento2 Rest API订单流程
我正在对magento网站进行REST API调用以下订单。以下是我的通话顺序。 创建购物车 rest/V1/guest-carts/ 取得购物车 rest/V1/guest-carts/bae0af147b83f1561f66cc4e3c97916e 将产品添加到购物车 rest/V1/guest-carts/24/items 添加帐单信息,设置付款方式和下订单 rest/V1/guest-carts/24/payment-information 在此序列中,订单的订单状态为“待处理”。我想知道如果涉及任何付款网关(例如PayPal)来处理付款和生成发票,如何通过api捕获付款。 上面的流程中是否缺少用于捕获付款的任何api。

2
Magento 2:产品存储库,过滤器组和“与”
我正在尝试使用产品存储库来获取产品列表。我想基于两个过滤器并结合一个AND条件来获取数据,但是似乎没有任何效果。我不了解过滤器组如何工作?还是应该报告此错误? 具体来说,(为简单起见,这是一个愚蠢的示例)我有一个构造函数,在该构造函数中注入了过滤器构建器,过滤器组构建器和搜索条件构建器 public function __construct( \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder, \Magento\Framework\Api\FilterBuilder $filterBuilder, \Magento\Framework\Api\Search\FilterGroupBuilder $filterGroupBuilder ) { $this->searchCriteriaBuilder = $searchCriteriaBuilder; $this->filterBuilder = $filterBuilder; $this->filterGroupBuilder = $filterGroupBuilder; } 然后,在以后的方法中,我将使用过滤器构建器来构建两个过滤器 $filter1 = $this->filterBuilder->setField('sku') ->setValue('24-MB01') ->setConditionType('eq') ->create(); $filter2 = $this->filterBuilder->setField('sku') ->setValue('WT08-XS-Black') ->setConditionType('eq') ->create(); 然后,我使用过滤器组构建器来构建由这两个过滤器组成的过滤器组 $filter_group = $this->filterGroupBuilder ->addFilter($filter1) ->addFilter($filter2) ->create(); 然后,我使用了搜索条件构建器,在其上设置了过滤器组 $criteria = $this->searchCriteriaBuilder ->setFilterGroups([$filter_group]) ->setPageSize(100) ->create(); …




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.