Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

getui-rest-sdk

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

getui-rest-sdk

Getui rest api for node.js, in TypeScript

  • 0.2.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
9
increased by200%
Maintainers
1
Weekly downloads
 
Created
Source

Getui Rest SDK

Build Status npm version Dependency Status npm

Getting Started

详细原接口文档:http://docs.getui.com/server/rest/start/

除了原文档中的接口,其中另外还提供了 pushMessageByTag 方法,可以用来发送按 tag 或者说按 topic 方式推送数据。

Installing

npm i getui-rest-sdk --save

建议使用 vscode 开发,typing 代码提示更加完善

Usage

以下样例均使用 TypeScript 展示,可轻易修改为 ES6

初始化
const option: GetuiOption = {
  appId: APP_ID,
  appSecret: APP_SECRET,
  appKey: APP_KEY,
  masterSecret: MASTER_SECRET,
};

const gt = new Getui(option);
await gt.authSign();
初始化透传模板
const alert = new Alert();
alert.title = 'Title: push test';
alert.body = `Body: push test`;

const payload = JSON.stringify({
  message: `Payload message: push message test`,
});

const apnsInfo = new ApnsInfo();
apnsInfo.alert = alert;
apnsInfo.customMsg = { payload };

const template = new TransmissionTemplate();
template.transmissionContent = payload;
单个推送
const message = new SingleMessage();
message.template = template;
message.apnsInfo = apnsInfo;

const target = <Target>{
  cid: GETUI_CID,
};

const ret = await gt.pushMessageToSingle(message, target);
APP推送
const message = new AppMessage();
message.template = template;
message.apnsInfo = apnsInfo;
message.conditions = [
  new Condition(ConditionKey.TAG, [testTag], CondOptType.OR),
  new Condition(ConditionKey.Region, [Region.北京市], CondOptType.OR),
  new Condition(ConditionKey.PHONE_TYPE, [PhoneType.IOS], CondOptType.OR),
];

const ret = await gt.pushMessageToApp(message)
按 tag 推送
const message = new TagMessage();
message.template = template;
message.apnsInfo = apnsInfo;
message.tag = testTag;

const ret = await gt.pushMessageByTag(message);

更多样例,请见测试代码

Test

测试基于 nock 来模拟服务器,但是你可以设置环境变量与真实个推服务器测试进行交互,以下测试账号数据需要用你自己的

export GETUI_APP_ID=<app id>
export GETUI_APP_SECRET=<app secret>
export GETUI_APP_KEY=<app key>
export GETUI_MASTER_SECRET=<master secret>
export GETUI_CID=<cid>
export GETUI_TEST_TAG=<tag>

export GETUI_TEST_USE_REAL_CONNECTION=true

export DEBUG=getui

npm test

TODO

  • 测试代码完善

License

This project is licensed under the MIT License - see the LICENSE file for details

Keywords

FAQs

Package last updated on 03 Jul 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc