如何实现Coupa PunchOut ,如何的实现通过CXML交互?

简介: 如何实现Coupa PunchOut ,如何的实现通过CXML交互?

Coupa Network是Coupa公司开发的供应商采购平台。punchout功能对接数据传输基于cxml。

主要是实现接口登录、购物车信息返回到Coupa系统,以及等订单功能。

开发手册中有相应的技术接口要求及格式,主要是实现相应的接口格式。

近期呢我们公司也正在准备将我们的电商系统通过punchout功能与Coupa进行对接,接下来我分享一下我们的开发过程:

1、首先我们要开发一个用于接受Coupa请求访问的接口,填写维护到Coupa Network中,Coupa network 会请求我们的接口 通过发送 PunchoutSetupRequest 请求

2、我们接收到请求后,要立刻返回 Response 响应。

3、Coupa 会直接打开PunchoutSetupResponse cXML文件中的URL网址,然后用户就可以进行选购。

订单的传送我们还在继续开发中,PunchoutOrderMessage之后下一篇文章分享给大家

在这个开发的过程中,希望给以后的小伙伴们提个醒,以便更快的开发对接,

1、接口部署的站点必须要HTTPS加密并且不能是IP地址,建议用真实域名。

2、https 证书加密协议版本TLS 1.2 ,一般IIS7.5都是1.0 ,建议大家部署完成后测试一下加密协议。

3、 在开发的过程中顾问一直在说收到Request 请求 要先解析CXML的URL,然后给此URL返回Response 响应,此误区来回测试经历了好久,最终发现在接受到Request 请求后无须任何解析立刻返回Response 响应。

4、Coupa network 请求发送Request CXML文件只能接受一次,这点大家要注意一下,必须先将接受到的CXML保存早本地,以便后续解析使用。

5、关于网络通讯,在开发的过程中,发现周五测试完成的接口,运行了3天后,继续测试时Coupa系统总返回500错误。我重启服务器后解决此问题,因在开发过程中是通过云服务器安装的反向代理指向我本地的服务器,更加方便测试,最终也未能知晓此原因是什么造成了,有可能怀疑网络响应慢造成的。

以上为此次对接Coupa punchout过程中的一些过程,写的比较粗,如果大家有问题可以一起发邮件探讨沟通。

目录
相关文章
|
5天前
|
开发框架 前端开发 Android开发
Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势
本文深入探讨了 Flutter 与原生模块(Android 和 iOS)之间的通信机制,包括方法调用、事件传递等,分析了通信的必要性、主要方式、数据传递、性能优化及错误处理,并通过实际案例展示了其应用效果,展望了未来的发展趋势。这对于实现高效的跨平台移动应用开发具有重要指导意义。
33 4
|
6月前
|
安全 数据处理 C++
【Qt 底层之事件驱动系统】深入理解 Qt 事件机制:主事件循环与工作线程的交互探究,包括 QML 的视角
【Qt 底层之事件驱动系统】深入理解 Qt 事件机制:主事件循环与工作线程的交互探究,包括 QML 的视角
1415 3
|
消息中间件 存储 缓存
如何设计各个组件之间的交互行为?
如何设计各个组件之间的交互行为?
|
人工智能 自然语言处理 机器人
人人交互
人人交互(Human-to-Human Interaction)是指人与人之间通过交流、沟通、
268 2
|
前端开发 JavaScript 安全
带你读《现代Javascript高级教程》二十一、前端跨页面通信:实现页面间的数据传递与交互(1)
带你读《现代Javascript高级教程》二十一、前端跨页面通信:实现页面间的数据传递与交互(1)
157 0
|
存储 前端开发 JavaScript
带你读《现代Javascript高级教程》二十一、前端跨页面通信:实现页面间的数据传递与交互(2)
带你读《现代Javascript高级教程》二十一、前端跨页面通信:实现页面间的数据传递与交互(2)
111 0
|
前端开发 JavaScript 安全
带你读《现代Javascript高级教程》——前端跨页面通信:实现页面间的数据传递与交互(1)
带你读《现代Javascript高级教程》——前端跨页面通信:实现页面间的数据传递与交互
200 0
|
JavaScript 小程序
UniApp 小程序封装原生组件(使用与交互详细流程)
UniApp 小程序封装原生组件(使用与交互详细流程)
429 0
|
弹性计算 前端开发 Windows
C/S和B/S交互
C/S和B/S交互
85 0
|
缓存
如何实现一个每日打卡功能
在游戏中经常能看到每日签到,每日打卡或者每日送奖励这样的功能,这些功能每天只能使用一次,然后等到下一天才能再使用。 如何实现这样每日只能使用一次的功能呢?今天的这篇教程我们就来学习一下每日打开功能的实现原理和方法。 要实现每日打卡功能,我们需要借助一块“获取当前日期”的积木,以及“缓存插件”。“获取当前日期”可以用于获得当前的时间,例如年,月,日,时,分,秒等,“缓存插件”可以帮助我们把游戏中的数据缓存在本地。
266 0