eBay Notification介绍
1.简介
"通知服务"(约定为Notification的中文名称),是EbayAPI提供的一个便捷的工具,具有实时性的特点。
其设计思想基于发布-订阅模式。一旦客户端订阅了需要通知的事件,服务器发送通知时,客户端就实时接收从eBay发送的通知。
官网API文档:
http://developer.ebay.com/Devzone/guides/ebayfeatures/Notifications/Notifications.html 此文档应该是最好的第一手资料.
论坛帖子:
http://community.ebay.cn/thread-1200288175-1-1.html 此帖子比较全面.
.NET WebService接收例子:
https://ebaydts.com/eBayKBDetails?KBid=2112 直接可以拿过来用,主要是对SOAP消息接收的配置。
2.Usage
2.1流程描述
1)使用SetNotificationPreference接口去设定订阅的event type、通知地址(email或url)
2)如果选择Email,只需考虑收到邮件之后你将如何处理;
3)如果选择URL,则需要提供一个地址,如ebayapi.company.com的地址来接收,此处注意,端口号尽量使用80(8080和443没有试过,应该可以过),但是用了94,结果死活都收不到。问了ebay的技术,只能用默认端口。
4)当有订阅的event发生时,ebay会主动推送消息去你事先设定好的通知地址上。
2.2 设置接收地址
主要分为提醒邮箱设置、默认接收URL、指定URL(最多25个)三块。
依次分别是AlertEmail,ApplicationURL,DeliveryURLDetailType
- [Test]
- public void SetNotification_EnableOrDisable_ApplicaitonDelivery_Test()
- {
- var context = ApiContextFactory.GetApiContext(token);
- //var context = SandBoxEnvironment.GetApiContextOfSendBox();
- SetNotificationPreferencesCall call = new SetNotificationPreferencesCall(context);
- var enable = EnableCodeType.Enable;
- var type = new ApplicationDeliveryPreferencesType()
- {
- AlertEmail = "mailto://1050244110@qq.com",
- AlertEnable = enable,
- AlertEnableSpecified = true,
- ApplicationURL = "mailto://1050244110@qq.com",
- ApplicationEnable = enable,
- ApplicationEnableSpecified = true,
- DeliveryURLDetails = new DeliveryURLDetailTypeCollection(
- new DeliveryURLDetailType[] {
- new DeliveryURLDetailType()
- {
- Status = enable,
- DeliveryURLName = "seller1_Delivery",
- DeliveryURL = "http://address1.com",
- StatusSpecified = true
- },new DeliveryURLDetailType(){
- Status = enable,
- DeliveryURLName = "seller2_Delivery",
- DeliveryURL = "http://address2.com",
- StatusSpecified = true
- }})
- };
- call.SetNotificationPreferences(type);
- }
查看指定结果
- [Test]
- public void GetNotification_RoleCodeType_Application_Test()
- {
- var context = ApiContextFactory.GetApiContext(token);
- //var context = SandBoxEnvironment.GetApiContextOfSendBox();
- GetNotificationPreferencesCall call = new GetNotificationPreferencesCall(context);
- call.GetNotificationPreferences(NotificationRoleCodeType.Application);
- Console.WriteLine(call.ApplicationDeliveryPreferences);
- Console.WriteLine(call.ApplicationDeliveryPreferences.AlertEmail);
- Console.WriteLine(call.ApplicationDeliveryPreferences.ApplicationURL);
- Console.WriteLine(call.ApplicationDeliveryPreferences.AlertEnable.ToString());
- Console.WriteLine(call.ApplicationDeliveryPreferences.ApplicationEnable.ToString());
- Console.WriteLine(call.ApplicationDeliveryPreferences.DeviceType.ToString());
- Console.WriteLine(call.ApplicationDeliveryPreferences.NotificationPayloadType.ToString());
- foreach (DeliveryURLDetailType item in call.ApplicationDeliveryPreferences.DeliveryURLDetails)
- {
- Console.WriteLine(item.DeliveryURL);
- Console.WriteLine(item.DeliveryURLName);
- Console.WriteLine(item.Status.ToString());
- }
- }
2.3订阅EventType
- [Test]
- public void SetNotificationPreferences_EnableOrDisbable_EventTypes()
- {
- var context = ApiContextFactory.GetApiContext(token);
- //var context = SandBoxEnvironment.GetApiContextOfSendBox();
- SetNotificationPreferencesCall call = new SetNotificationPreferencesCall(context);
- var enable = EnableCodeType.Enable;
- call.DeliveryURLName = "seller1_ Delivery "; //如果指定了,则使用对应名称的URL,反之,则使用 ApplicationURL
- var coll = new NotificationEnableTypeCollection();
- coll.Add(new NotificationEnableType()
- {
- EventEnable = enable,
- EventEnableSpecified = true,
- EventType = NotificationEventTypeCodeType.AuctionCheckoutComplete,
- EventTypeSpecified = true
- });
- coll.Add(new NotificationEnableType()
- {
- EventEnable = enable,
- EventEnableSpecified = true,
- EventType = NotificationEventTypeCodeType.FixedPriceTransaction,
- EventTypeSpecified = true
- });
- coll.Add(new NotificationEnableType()
- {
- EventEnable = enable,
- EventEnableSpecified = true,
- EventType = NotificationEventTypeCodeType.EndOfAuction,
- EventTypeSpecified = true
- });
- call.SetNotificationPreferences(coll);
- }
查看订阅结果
- [Test]
- public void GetNotification_UserLevel_Test()
- {
- var context = ApiContextFactory.GetApiContext(token);
- //var context = SandBoxEnvironment.GetApiContextOfSendBox();
- GetNotificationPreferencesCall call = new GetNotificationPreferencesCall(context);
- call.GetNotificationPreferences(NotificationRoleCodeType.User);
- Console.WriteLine(call.DeliveryURLName);
- Console.WriteLine(call.DetailLevelList.Count);
- foreach (NotificationEnableType item in call.UserDeliveryPreferenceList)
- {
- Console.WriteLine(item.EventEnable.ToString());
- Console.WriteLine(item.EventType.ToString());
- }
- }
2.4 邮件接收结果截图
内容就是XML文档。
3.注意事项
3.1 端口
如果使用http或https的方式,端口号尽量使用默认端口号(80,443)
3.2 token
订阅某个卖家的EventType时,需要指定此卖家的token;
3.3 ApplicationDeliveryPreferencesType
当ApplicationDeliveryPreferencesType设置为Disable时,所有启用的订阅事件将不发送,除非将其又设置为Enable。
转载于:https://www.cnblogs.com/pengzhen/p/4583248.html
eBay Notification介绍相关推荐
- 13 消息提示 notification 介绍
Notification: Notification通知可以显示到系统的上方的状态栏(status bar)中. 通知内容的显示分为两个部分: 1.notification area(通知状态栏) 2 ...
- 消息栏通知(Notification)介绍
用过安卓的应该对通知栏消息都很熟悉了,下面是演示通知栏消息的一个Demo,首先来看一下界面,后面是代码,解释就都放在代码里了. java代码 package jason.notification;im ...
- android通知栏使用情况,Android通知栏(Notification)介绍及使用
在使用手机时,咱们经常会碰到各类通知,例如微信,头条,UC等,每天不厌其烦的给你各类推送,固然了咱们今天不讲推送,咱们讲讲通知栏的构建和使用,以及自定义通知栏的布局和使用方法java 构建一个通知栏通 ...
- Notification介绍
是在你的应用常规界面之外展示的消息,当app让系统发送一个消息的时候,消息 首先以图表的形式显示在通知栏,要查看消息的详情需要进入通知抽屉(notificationdrawer中查看) 通知栏和通知抽 ...
- Notification桌面提醒:HTML5新功能
1.Notification介绍 window.Notification,是一个通过浏览器调用桌面弹窗的API,具体效果如下 如今支持Notification基础功能的浏览器有Chrome,Firef ...
- 马宁的Windows Phone 7.1初体验(二)——Push Notification
Push Notification并不是Windows Phone 7.1的新功能,但是之前的文章里对这部分都缺少详细的分析,所以姑且就把Push Notification放到这部分里吧. 很多iOS ...
- Prism4学习笔记(七):State-Based Navigation QuickStart
本节学习了Navigation的一些基本知识,觉得这节比较难.这里讲学习和理解点的东西记录下来.觉得本节应该弄清楚的问题的关键词 (1)CallMethodAction用于事件和行为的绑定. (2)I ...
- 刘备学Android目录
准备篇-刘备,从编草鞋到编代码...1 第1回 哦,何为Android?...1 1.1. Android基本知识...1 1.1.1. Android的历史...2 1.1.2. Andro ...
- 不去奥斯汀同样收获满满,OpenStack技术峰会议题大揭秘
奥斯汀峰会正在美国火热上演,您是否还在为没能现场感受OpenStack的火热而遗憾,不用郁闷,由CSDN打造的OpenStack技术峰会强势来袭了,5月15日,北京新云南皇冠假日酒店,我们邀请到众多O ...
最新文章
- ComponentOne Ultimate 2020中文版
- 为何Apache下.htaccess不起作用,Linux、Windows详解
- ORACLE下载当中的gateways,companion,clusterware都是什么用途?
- 数据库高级知识——主从复制
- Confluence 6 匿名访问远程 API
- linux中sed命令用例,sed解析和用例(马哥视频笔记)
- liunxs运维_Linux运维工程师必备(命令)
- SpringMVC 工作流程
- 如何安装 罗技“优联技术”无线鼠标、无线键盘?
- 【Vegas原创】VMWare下,Linux挂载、卸载新硬盘的方法
- poj1062 昂贵的聘礼
- 在MVC中使用泛型仓储模式和依赖注入实现增删查改
- 解决将visio图片插入Word后有大片空白
- 软件测试面试题目—接口测试面试题,梦寐以求的答案来了
- 对医疗类网站的seo优化方法细致探讨
- 计算机网络水晶头博客,网线水晶头接法顺序图解分享,这个简单口诀记好了(超实用)...
- IEEE Transactions on Vehicular Technology投稿经验分享-1
- win10系统 开启蓝牙服务器,Win10打开蓝牙的方法步骤详解
- 我的编程之路点滴记录(三)
- ubuntu18.04安装微信——简单操作
热门文章
- 如何配置三层交换机创建VLAN 3
- GARFIELD@04-14-2005
- Failed to connect to driver at XXXXXXx
- 解决git push 中remote: Permission to xxxxx.git denied to xxx. fatal: unable to access xxxx 403(转)
- KNN针对中文文本分类
- java海滩上有一,Java猴子分桃问题--三种算法
- 语音识别(三)——声学模型, 解码器技术
- linux修复u盘文件系统,linux下转换U盘文件系统
- 抽象工厂模式_抽象工厂模式
- iframe打印excel bold_搭载君正X1000E芯片 中盈SP7080激光打印机现已开售!