`
JerryWang_SAP
  • 浏览: 1028948 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何使用API的方式消费SAP Commerce Cloud的订单服务

阅读更多

最近Jerry在做一个微信和SAP Commerce Cloud集成的项目,需要在微信里调用后者的Restful API进行订单创建和读取。以前Jerry对SAP Commerce Cloud知之甚少,这次趁机学习了一下,过程中得到了SAP成都研究院Commerce开发团队的Jonathan,Kevin和Kate等几位同学的大力帮助,这里表示感谢。

在SAP官网help.sap.com上根据关键字commerce搜索,结果列表里会显示出好几个产品,这难免会让像Jerry这种刚接触commerce的人感到有点疑惑。

其实只需要耐心地打开这些链接逐一阅读一会儿,就能弄清楚这几个产品间的差异:

  • SAP Commerce:SAP On-Premises上的电商解决方案
  • SAP Commerce Cloud on SAP Infrastructure: SAP Commerce的云端解决方案,Commerce核心代码通过SAP内部工具打成一个容器镜像,部署和运行在SAP自己的数据中心里。在很多文档里又称为Commerce Cloud Version One, 简称为CCV1.
  • SAP Commerce Cloud on Public Cloud:SAP Commerce云端解决方案,部署运行在公有云上,比如微软的Azure,简称为CCV2.

Medium上有一篇不错的博客Two clouds in practice: a comparison of SAP Commerce Cloud v1 and v2介绍CCV1和CCV2的对比,这里Jerry就不深入展开了。

回到本文主题,要想消费Commerce Cloud的订单服务,首先需要熟悉一下如何手动在Commerce Cloud里下单。在Commerce Cloud B2C的场景里,下单的流程对我们每个人来说几乎熟悉得不能再熟悉了——和我们日常在某宝上购物如出一辙。

到电商店铺里浏览商品,看中自己心仪的一款产品后,

点击Add To Cart把产品加到购物车里:

点Check Out去结账:

会生成一个购物车ID:

维护发货地址。当然我们平时在某宝上购物时,一般都提前在手机app里维护了好几个发货地址,然后结账时只需从中选择一个即可。

维护支付方式和明细(Payment Detail),这一步好比我们在某宝上购物选择微信,支付宝,花呗等方式支付。

Place Order点击后,成功生成订单,得到订单ID.

总结一下,手动下单的流程可以分成这五步:

(1) 创建一个购物车Shopping Cart
(2) 给该购物车里添加产品
(3) 给该购物车维护发货地址
(4) 给该购物车维护支付明细
(5) 执行下单操作,成功生成订单

搞清楚流程之后,接下来需要找到每个步骤分别调用哪些API来实现。

登录SAP官网https://api.sap.com, 根据关键字Commerce Cloud搜索,很容易就能找到所有需要使用的API:

Jerry写了一个nodejs应用来演示这些API的用法。这个nodejs应用的完整代码在Jerry的github上。

执行这个应用,在第20行的回调函数里会打印出成功创建的订单ID:

根据这个ID到Commerce Cloud的backoffice里,能查找到成功创建的订单:

前面说到手动下单需要5个步骤,而Jerry项目文件里有七个step.js, 多出来的两个步骤,一个是获取Access Token,另一个是设置购物车的Delivery Mode. 前者是后续调用所有API的基础,而后者完成的逻辑,当我们在浏览器里手动下单时,Commerce Cloud应用会自动帮我们设置,但是用API的方式下单时,需要我们显式调用设置Delivery Mode的API, 因此最后一共需要7个步骤才能完成订单的创建。

获取Access Token的步骤,仍然是采用常规的OAuth认证,通过client id和client secret去换取Access Token.

我们首先需要在Commerce Cloud上创建一个OAuth Client,维护Client ID, Client Secret, 密码,token刷新间隔,相关权限等信息:

然后在step1_get_token.js里,通过OAuth Client维护的这些信息发一个POST请求到OAuth endpoint换取Access Token.

因为隐私原因,Jerry没有把urlconfig.js上传到github上,只上传了一个urlconfigTemplate.js, 请大家在使用这个nodejs应用之前,把urlconfigTemplate.js里的以左右尖括号标识的占位符替换成实际值,然后重命名成urlconfig.js即可。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    SAP Commerce Cloud - Commerce with SAP C4HANA.zip

    sap press doc 解压密码:abap_developer

    SAP HANA Cloud Platform

    SAP HANA Cloud Platform是SAP公司提供的一个集成平台即服务(PaaS)解决方案,它旨在为开发者和企业客户构建、扩展和运行应用程序提供一个全面的平台。在这个平台上,用户可以使用SAP HANA云数据库服务,并利用各种...

    17 SAP S4HANA Cloud Integration.pdf

    标题“17 SAP S4HANA Cloud Integration.pdf”表明这篇白皮书专注于SAP S/4HANA Cloud集成方面,是SAP在云计算集成领域的深度介绍和详解。而描述部分说明了白皮书会详细介绍SAP S/4HANA Cloud集成的景观及其各种选项...

    SAP Cloud Platform Connectivity

    SAP Cloud Platform Connectivity是SAP云平台的一项关键服务,它使得云中的应用程序能够安全地访问互联网上或企业内部网络上的远程服务。这个服务是SAP云解决方案与外部系统集成的关键工具,尤其对于那些希望扩展其...

    cds-scp-api:用于SAP Cloud Platform API消费的CDS扩展

    使用SAP Cloud Platform目标和连接服务进行端点和配置 支持所有类型的API,包括SAP OnPremise和Cloud OData和Rest API,Microsoft Office 365 API,Google Cloud Platform API和其他REST API 基于Axios配置选项的

    SAP_SD_销售服务类订单操作说明

    ### SAP_SD_销售服务类订单操作说明 #### 一、业务场景 假设您所在的公司提供计算机设备的维护和维修服务。在提供这类服务时,有时需要派遣技术人员到客户的现场进行处理。在这种情况下,并不会使用SAP系统中的...

    spartacus:Spartacus是SAP Commerce Cloud的精简,基于AngularJavaScript店面,专门通过Commerce REST API进行通信

    Spartacus仅通过Commerce REST API与SAP Commerce Cloud对话。 文档存储在我们专用的。 在我们的公共演示站点上尝试。 技术问题? 与我们联系 。 非技术问题? 加入我们的。 有关2.0启动的详细信息,请参见我们的...

    SAP_Cloud_Platform_zh中文介绍.pdf

    该平台提供了多种语言和框架的支持,例如 Java、Kotlin、Python、Node.js 等,并提供了丰富的开发工具和服务,例如 SAP Cloud SDK、SAP Cloud Platform SDK for iOS 和 Android 等。 账户管理是 SAP Cloud Platform...

    SAP 服务订单处理

    ### SAP 服务订单处理 #### 一、业务场景概述 SAP 服务订单处理主要针对企业提供的维护与修理服务,特别是在计算机设备领域的应用。在这个场景中,企业的员工可能需要上门为客户解决问题。假设一家公司接到客户的...

    SAP免费销售订单配置及操作手册

    SAP系统中的免费销售订单是一种特殊类型的销售订单,通常用于记录不涉及费用的产品或服务交付情况。这些订单主要用于内部转移、样品发送或者作为对客户的附加服务。本文档旨在详细介绍如何在SAP系统中配置并操作免费...

    SAP的API文档

    SAP的API文档

    cloud-commerce-sample-setup-sso

    SAP Commerce Cloud示例存储库 此样本存储库包含设置SAP Commerce Cloud所需的文件和文件夹。 有多个分支机构涵盖了Commerce Cloud的不同方案(例如,项目Spartacus,数据中心,solr定制)。 您可以克隆/下载此存储...

    SAP_Scripting_API.pdf

    SAP GUI Scripting API的设计目的是提供一种方式来模拟用户界面与SAP系统之间的交互,从而能够更好地集成和自动化使用这些界面的应用程序。 5. 使用Python结合SAP实现自动化: 文档描述了一个使用Python结合SAP实现...

    sap查看采购订单修改记录

    sap查看采购订单修改记录

    SAP2000的API功能文档

    标题:“SAP2000的API功能文档” 描述:“SAP2000的API功能文档,很不错的,API入门必读。” 本篇将详细解读SAP2000 API的功能及其在工程领域的应用,旨在为初学者提供一个全面且深入的理解。 ### SAP2000 API...

    SAP S/4 HANA Cloud - SAP Cloud Security&Support; Framework

    而SAP Cloud Security & Support Framework则是SAP为了保障其云服务的安全性、隐私性以及合规性,并为客户提供支持服务所建立的框架。 首先,SAP S/4 HANA Cloud的云服务状态需要保障高可用性和持续运行。SAP提供...

    SAP Cloud Platform Introduction

    SAP Cloud Platform还包括了SAP HANA服务(SAPHANA Service),这个服务允许用户在云中使用SAP HANA数据库,SAP HANA是一个高性能的数据库,特别适合于处理大量数据的实时分析。 整体而言,SAP Cloud Platform是一...

    SAP_ME中文API

    对于SAP ME中文API的使用,开发者需要熟悉SAP NetWeaver Gateway服务,这是一个用于创建和发布OData(Open Data Protocol)服务的平台,它可以将SAP业务数据转换为RESTful服务。OData是一种基于HTTP的协议,专门用于...

    SAP MM审批采购订单时将采购订单作为PDF附件发送电子邮件

    在SAP MM模块中,审批采购订单是一个关键的业务流程,确保了公司的采购活动符合预设的审批策略。为了提高效率并确保及时的信息传递,有时需要在审批过程中将采购订单(Purchase Order, PO)作为PDF附件通过电子邮件...

Global site tag (gtag.js) - Google Analytics