API系列(一):SMS API

  • 简介
    • 一、 CONTACT GROUPS API
      • 1. 总概
      • 2. Create a group
      • 3. View a group
      • 4. Update a group
      • 5. Delete a group
      • 6. View all groups
    • 二、 CONTACTS API
      • 1. 总概
      • 2. Create a contact
      • 3. View a contact
      • 4. Update a contact
      • 5. View all contacts in group
      • 6. Delete a contact
    • 三、 SMS API
      • 1. 总概
      • 2. Send outbound SMS
      • 3. View an SMS
      • 4. View all messages
    • 四、 WHATSAPP API
      • 1. 总概
      • 2. Send outbound SMS
      • 3. View an SMS
      • 4. View all messages

简介

你们好,辛苦工作的朋友们!
本文有用之处:
以简约,直白的方式,给未曾接触过短信接口的朋友们,展示一个大概的思路。
本次介绍的是一款来自狮子王国肯尼亚的短信接口方案。由Xcobean 公司提供。
主要使用的技术以REST API风格的接口形式,实现了通讯录(联系人组)管理,联系人管理,短信管理以及WhatsApp短消息管理。
下图是他们的商业版图,可见该公司业务还是挺全面的。

本文将按照四个章节,依次对各个接口代码进行复制黏贴展示。本文更像是一篇笔记,当然有用之处也在文章开头写了。敬请阅读。欢迎新老朋友指点。花钱找这家公司注册账户,购买api之后,得到两个东西,一个是你的api 站点url,另一个是的token。

一、 CONTACT GROUPS API

Xcobean SMS Contact Groups API 允许您管理由唯一随机 ID 标识的联系人组。 使用此 ID 创建、查看、更新或删除组。

1. 总概

全部形式 保持统一:
url: https url;
method: GET, POST,PACH,DELETE
header 头部由认证Authorization,内容类型Content-Type,接受类型 Accept。
Authorization 采用 token。在使用Bearer令牌的身份验证流程中,客户端(例如 Web 应用程序或移动应用程序)通过向身份提供者(例如 Google、Facebook 或其他身份提供者)发送请求来获取访问令牌。一旦获取到访问令牌,客户端将在发送每个 API 请求时将该令牌作为 “Authorization” 请求标头的一部分发送到 API。···
content: POST json 请求体
return: 请求返回的json 体

2. Create a group

创建联系人分组,以方便之后批量发送营销信息,像微信一样给联系人上标签,发信息只发给有标签的人。
url: https://sms.xcobean.com/api/v3/contacts
method: post
header:

'Authorization: Bearer ${你的token}'
'Content-Type: application/json'
'Accept: application/json'

content:

{"name": "Mombasa"
}

return:

{"status": "success","message": "Contact group was successfully added","data":    {"name": "Mombasa","uid": "645e4dd27b55a"}
}

3. View a group

查看分组信息。
url: https://sms.xcobean.com/api/v3/contacts/{group_id}/show/
method: post
parameter: group_id 645e38f3e7e9d
header:

'Authorization: Bearer 8|FMwObDuDLPSAE6YkCB9p1cUjnIs61kECKjVmz111'
'Content-Type: application/json'
'Accept: application/json'

return:

{"status": "success","message": null,"data": {"uid": "645e4dd27b55a","name": "Mombasa"}
}

4. Update a group

更新分组,使用patch。
url: https://sms.xcobean.com/api/v3/contacts/{group_id}
method: patch
content:

{"name": "Kwale"
}

return:

{"status": "success","message": "Contact group was successfully updated","data": {"name": "Kwale","uid": "645e4dd27b55a"}
}

5. Delete a group

删除一个分组。
url: https://sms.xcobean.com/api/v3/contacts/{group_id}
method: delete
parameter:
group_id: 645e38f3e7e9d
return:

{"status": "error","message": "Attempt to read property \"id\" on null"
}

6. View all groups

查看所有的分组。
url: https://sms.xcobean.com/api/v3/contacts/{group_id}
method: get
return:

{"status": "success","message": null,"data": {"current_page": 1,"data": [{"uid": "645e4f1be9ad2","name": "Kilifi"}],"first_page_url": "https://sms.xcobean.com/api/v3/contacts?page=1","from": 1,"last_page": 1,"last_page_url": "https://sms.xcobean.com/api/v3/contacts?page=1","links": [{"url": null,"label": "« Previous","active": false},{"url": "https://sms.xcobean.com/api/v3/contacts?page=1","label": "1","active": true},{"url": null,"label": "Next »","active": false}],"next_page_url": null,"path": "https://sms.xcobean.com/api/v3/contacts","per_page": 25,"prev_page_url": null,"to": 1,"total": 1}
}

二、 CONTACTS API

1. 总概

Xcobean SMS Contacts API 可帮助您管理由唯一随机 ID 标识的联系人。 使用此 ID,您可以创建、查看、更新或删除联系人。 此 API 用作客户特定联系人的集合,允许您对它们进行分组并分配自定义值,您稍后可以在发送 SMS 模板消息时使用这些值。

Contacts API 使用 HTTP 动词和 RESTful 端点结构以及用作 API 授权的访问密钥。 使用 UTF-8 编码和 URL 编码值将请求和响应有效负载格式化为 JSON。

2. Create a contact

url: https://sms.xcobean.com/api/v3/contacts/{group_id}/store
method: POST
parameter:
group_id: 645e38f3e7e9d
content:

{"phone": "25420342277","first_name": "Tana","last_name": "River"
}

return:

{"status": "success","message": "Contact was successfully added","data": {"customer_id": 7,"group_id": 6,"phone": 25420317778,"first_name": "Tana","last_name": "River","uid": "645e5a0e3833b","status": "subscribe","updated_at": "2023-05-12T15:23:58.000000Z","created_at": "2023-05-12T15:23:58.000000Z","id": 3}
}

3. View a contact

url: https://sms.xcobean.com/api/v3/contacts/{{group_id}}/search/{{uid}}
method: POST
return:

{"status": "success","message": null,"data": {"uid": "645e5a0e3833b","phone": "25420641216","first_name": "Taita","last_name": "Taveta"}
}

4. Update a contact

url: https://sms.xcobean.com/api/v3/contacts/{group_id}/update/{uid}
method: PATCH
content:

{"phone":"25420343715"
}

return:

{"status": "success","message": "Contact was successfully updated","data": {"id": 3,"uid": "645e5a0e3833b","customer_id": 7,"group_id": 6,"phone": 25420558565,"status": "subscribe","first_name": "Garissa","last_name": "Wajir","email": null,"username": null,"company": null,"address": null,"birth_date": null,"anniversary_date": null,"created_at": "2023-05-12T15:23:58.000000Z","updated_at": "2023-05-12T15:23:58.000000Z"}
}

5. View all contacts in group

url: https://sms.xcobean.com/api/v3/contacts/{group_id}/all
method: POST
return:

{"status": "success","message": null,"data": {"current_page": 1,"data": [{"uid": "645e59a786720","phone": 25420552298,"first_name": "Mandera","last_name": "Marsabit"},{"uid": "645e59b3716d6","phone": 25420550493,"first_name": "Isiolo","last_name": "Meru"},{"uid": "645e5a0e3833b","phone": 25420344037,"first_name": "Tharaka","last_name": "Nithi"}],"first_page_url": "https://sms.xcobean.com/api/v3/contacts/645e56be3c6d2/all?page=1","from": 1,"last_page": 1,"last_page_url": "https://sms.xcobean.com/api/v3/contacts/645e56be3c6d2/all?page=1","links": [{"url": null,"label": "« Previous","active": false},{"url": "https://sms.xcobean.com/api/v3/contacts/645e56be3c6d2/all?page=1","label": "1","active": true},{"url": null,"label": "Next »","active": false}],"next_page_url": null,"path": "https://sms.xcobean.com/api/v3/contacts/645e56be3c6d2/all","per_page": 25,"prev_page_url": null,"to": 3,"total": 3}
}

6. Delete a contact

url: https://sms.xcobean.com/api/v3/contacts/{group_id}/delete/{uid}
method: delete
return:

{"status": "success","message": "Contact was successfully deleted","data": null
}

三、 SMS API

1. 总概

Xcobean SMS SMS API 允许您通过 REST API 向世界上任何国家/地区发送和接收 SMS 消息。 每条消息都由一个唯一的随机 ID 标识,以便用户始终可以使用给定的端点检查消息的状态。

2. Send outbound SMS

url: https://sms.xcobean.com/api/v3/sms/send
method: POST
content:

{"recipient": "25420829085","sender_id": "[Test]","type": "plain","message": "Dear user"
}

return:

{"status": "error","message": "No sending server available for your subscribed plan"
}

3. View an SMS

url: https://sms.xcobean.com/api/v3/sms/{uid}
method: GET
parameter:
uid: 645e5a0e3833b
content:

{"recipient": "25420550331","sender_id": "[Test]","type": "plain","message": "Dear user"
}

return:

{"status": "error","message": "No query results for model [App\\Models\\Reports] 645e59b3716d6"
}

4. View all messages

url: https://sms.xcobean.com/api/v3/sms/
method: GET
return:

{"status": "success","message": null,"data": {"current_page": 1,"data": [],"first_page_url": "https://sms.xcobean.com/api/v3/sms?page=1","from": null,"last_page": 1,"last_page_url": "https://sms.xcobean.com/api/v3/sms?page=1","links": [{"url": null,"label": "« Previous","active": false},{"url": "https://sms.xcobean.com/api/v3/sms?page=1","label": "1","active": true},{"url": null,"label": "Next »","active": false}],"next_page_url": null,"path": "https://sms.xcobean.com/api/v3/sms","per_page": 25,"prev_page_url": null,"to": null,"total": 0}
}

四、 WHATSAPP API

1. 总概

Xcobean SMS SMS API 允许您通过 REST API 向世界上任何国家/地区发送和接收 SMS 消息。 每条消息都由一个唯一的随机 ID 标识,以便用户始终可以使用给定的端点检查消息的状态。
API Endpoint

2. Send outbound SMS

url: https://sms.xcobean.com/api/v3/sms/send
method: POST
content:

{"recipient": "25420555259","sender_id": "YourName","type": "whatsapp","message": "This is a test message"
}

return:

{"status": "error","message": "No sending server available for your subscribed plan"
}

3. View an SMS

url: https://sms.xcobean.com/api/v3/sms/{uid}
method: GET
parameter:
uid: 645e5a0e3833b
return:

{"status": "success","message": null,"data": {"current_page": 1,"data": [],"first_page_url": "https://sms.xcobean.com/api/v3/sms?page=1","from": null,"last_page": 1,"last_page_url": "https://sms.xcobean.com/api/v3/sms?page=1","links": [{"url": null,"label": "« Previous","active": false},{"url": "https://sms.xcobean.com/api/v3/sms?page=1","label": "1","active": true},{"url": null,"label": "Next »","active": false}],"next_page_url": null,"path": "https://sms.xcobean.com/api/v3/sms","per_page": 25,"prev_page_url": null,"to": null,"total": 0}
}

4. View all messages

url: https://sms.xcobean.com/api/v3/sms/
method: GET
parameter:
uid: 645e5a0e3833b
return:

{"status": "success","message": null,"data": {"current_page": 1,"data": [],"first_page_url": "https://sms.xcobean.com/api/v3/sms?page=1","from": null,"last_page": 1,"last_page_url": "https://sms.xcobean.com/api/v3/sms?page=1","links": [{"url": null,"label": "« Previous","active": false},{"url": "https://sms.xcobean.com/api/v3/sms?page=1","label": "1","active": true},{"url": null,"label": "Next »","active": false}],"next_page_url": null,"path": "https://sms.xcobean.com/api/v3/sms","per_page": 25,"prev_page_url": null,"to": null,"total": 0}
}

总结:
总共黏贴了四个章节的指南,
1.contact groups api
2.contacts api
3.sms api
4.whatsapp api

《登高》是一首鼓励程序员小白的古诗,全诗如下:飞流直下三千尺,
疑似骑鹤腾空泄。
千峰万壑路不定,
迷花倚石忽已暝。
熊咆龙吟殷岩泉,
栗深林兮惊层巅。
云横秦岭家何在?
雪拥蓝关马不前。这首诗借用了自然界的壮丽景色,鼓励程序员小白要像登高者一样,勇往直前,迎接新的挑战。即使面对千峰万壑,也要坚定地迈出脚步,探索前行的道路。同时,诗中也表达了对困难的正视和克服困难的勇气。古人在写诗时常常以自然景观来寄托情感和寓意,这种表达方式也可以激励现代程序员面对技术挑战时的勇气和决心。

API系列(一):SMS API相关推荐

  1. java date加一天_Java日期时间API系列15-----Jdk8中API类,java日期计算2,年月日时分秒的加减等...

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...

  2. .net core实践系列之短信服务-Sikiro.SMS.Api服务的实现

    前言 本篇会继续讲解Sikiro.SMS.Job服务的实现,在我写第一篇的时候,我就发现我当时设计的架构里Sikiro.SMS.Job这个可以选择不需要,而使用MQ代替.但是为了说明调度任务使用实现也 ...

  3. phoenix 开发API系列(三)phoenix api 结合数据库

    概述 介绍了 api 的各种写法之后,下面介绍构建 api 时与数据库连接的方式. 注 下面使用的工程的完整代码已经公开在: http://git.oschina.net/wangyubin/phoe ...

  4. java date只保留年月日_Java日期时间API系列14-----Jdk8中日期API类,日期计算1,获取年月日时分秒等...

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...

  5. openresty开发系列11--openresty的api入门

    openresty开发系列11--openresty的api入门 1)ngx_lua模块的hello world 编辑nginx下conf配置文件nginx.conf # vi nginx.conf ...

  6. phoenix 开发API系列 目录

    phoenix 开发API系列(一)创建简单的http api phoenix 开发API系列(二)phoenix 各类 api 实现方式 phoenix 开发API系列(三)phoenix api ...

  7. larvel 中的api.php_Laravel API 系列教程(一): 基于 Laravel 5.5 构建 测试 RESTful API...

    Laravel API 系列教程(一): 基于 Laravel 5.5 构建 & 测试 RESTful API 由 学院君 创建于2年前, 最后更新于 9个月前 版本号 #3 171702 v ...

  8. Web API系列(三)统一异常处理

    前面讲了webapi的安全验证和参数安全,不清楚的朋友,可以看看前面的文章,<Web API系列(二)接口安全和参数校验>,本文主要介绍Web API异常结果的处理.作为内部或者是对外提供 ...

  9. WEB API 系列(二) Filter的使用以及执行顺序

    在WEB Api中,引入了面向切面编程(AOP)的思想,在某些特定的位置可以插入特定的Filter进行过程拦截处理.引入了这一机制可以更好地践行DRY(Don't Repeat Yourself)思想 ...

最新文章

  1. java oracle数据回滚,误操作ORACLE生产数据利用闪回查询备份恢复数据-java-51CTO博客...
  2. 三种运动让身高增长4-10cm
  3. Apache ZooKeeper -从初始化到对外提供服务的过程解析( 集群模式 )
  4. 如何在ASP.NET 5和XUnit.NET中进行LocalDB集成测试
  5. linux ubuntu bionic,尝试在Linux Ubuntu 18.04 Bionic上安装Docker CE时出现错误?
  6. 远程GPU 使用指南(新)
  7. ASP与數据庫,文本文件鏈接精髓
  8. [HeadFirst-HTMLCSS入门][第十章div,span]
  9. unbuffered low level IO 和 bufferd IO
  10. 14. Magento路由分发过程解析(二):Standard路由对象
  11. mw150um 驱动程序win10_Intel网卡驱动Win10专版 64位
  12. wordcloud----canvas 绘制标签云/词云web版wordle(一)
  13. React_music开发日记
  14. 绿色软件联盟:杀毒软件已经进入空前弱智与混沌状态
  15. 14 win7 sp1下安装vs2015
  16. springcloud(一)微服务概述
  17. (转)C#中两个问号和一个问号 ??
  18. 【进阶版】伪东方project的游戏制作
  19. catia v5r20破解版 32位64位 安装说明方法
  20. 【高等数学】伽马函数与斯特林公式

热门文章

  1. Spring基于XMLMysql | 注解Mysql的简单IOC案例
  2. 第39级台阶 小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
  3. 运用京东云代码托管、云编译、云部署等产品进行蓝绿部署简单实践
  4. Android Studio 默认keystore 以及自定义keystore
  5. 词根词缀 (一):前缀篇
  6. 路由器AP、路由、桥接模式有什么区别【详细介绍】
  7. ChatGPT插件与简要介绍(已收集70个)了解添加插件后的chatgpt能做什么
  8. 应聘嵌入式软件工程师需要准备些什么?
  9. c语言已知祖父年龄70,实验三循环结构程序设计.doc
  10. CDP科普:客户数据中台(CDP)是什么?