php对接小鹅通API开发高级实战案例解析:小鹅通实战开发之合并用户user_id批量同步

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: php对接小鹅通API开发高级实战案例解析:小鹅通实战开发之合并用户user_id批量同步

前言

作为一个API对接的开发者,最头疼的就是第三方API的升级。第三方API的升级可能会带来以下影响:

  1. 功能变更:升级后的API可能会有新的功能或停用一些老的功能,这会对接入方的应用程序产生影响。如果老的功能停用后,接入方的应用程序可能会受到破坏或无法正常工作。
  2. 接口变更:升级后的API可能会更改接口,比如修改请求参数、返回参数或URL等方面,这将迫使接入方对应用程序进行修改。
  3. 兼容性:如果升级后的API与以前版本不兼容,那么接入方的应用程序可能无法继续使用该API。这将需要重新编写应用程序或协商新的接口。
  4. 性能变化:升级后的API可能会产生性能变化,可能会变得更快或更慢。这也将影响接入方应用程序对API的使用。
  5. 安全问题:升级后的API可能会带来新的安全问题,因此,接入方需要注意更新他们的安全措施以适应API的变化,以保证应用程序的安全性。


应用开发者您好,为了给您提供更好的服务,我们对帐号系统做了升级,从7月14日起,[注册新用户]接口的请求字段不允许同时传递 data.wx_union_id 和 data.phone。如您的应用涉及到以上接口及参数,请在7月14日接口调整生效前完成优化改造。否则将影响到应用服务。感谢你的理解与支持!

注册新用户接口调整通知 2023-06-16 11:52:26


很不幸,在系统正常运行的情况下,小鹅通发布了最新的API通知,也解释了为什么会出现59997


好吧,开工!

一、账号发生合并带来的影响

当账号发生合并时,可能会导致API注册的账号被注销,user_id将会无效。

  • 新注册用户,提示其合并账户;


  • 老用户,已经大批量入库的老用户,如何将合并后的user_id更新过来呢

二、查询用户合并记录

1.用户管理-查询用户信息

请求示例:


请求方式及url
请求方式:POST
请求头:Content-Type:application/json
接口地址:https://api.xiaoe-tech.com/xe.user.merge.info/1.0.0
频率限制:10秒3000次


2.请求格式

3.返回参数

 {
    "code": 0,
    "msg": "ok",
    "data": {
        "app_id": "appxxxx",
        "target_user_id": "u_xxxx",
        "resource_user_id": "u_xxxx",
        "merged_at": "2021-05-14 09:57:25.000000"
    }
}


其中:

  • data.target_user_id string 合并后账号id;
  • data.resource_user_id string 被合并账号id;
  • data.merged_at timestamp 合并时间;

三、大数量的批处理API

1.合并用户API接口封装

/*获取指定资源学习记录信息
 * 频率限制:10秒3000次
 * $target_user_id,合并后账号id
 * $resource_user_id,被合并账号id
 * By WoodCutter 2023-06-27
*/
function getUserMerge($resource_user_id)
{
    require_once './libs/Client.php';
    $client = new Client();
    $url = "https://api.xiaoe-tech.com/xe.user.merge.info/1.0.0";
    $method = "post";
    $data = array("resource_user_id" => $resource_user_id);
    $params = ['data' => $data];
    $result = $client->request($method, $url, $params);
    return json_encode($result);
}

2.遍历数据表用户

新增is_merge,是否检测过账户合并。

global $db, $res;
dbc();
//04.对接数据
@$course_id = get_param('course_id');
$sql = "select sign_id,user_eid,is_merge FROM " . $db->table('sign_2023') . " WHERE is_merge = 0 AND user_eid <> ''";//未判断合并的用户
if ($course_id != "") {
    $sql .= " AND course_id = " . $course_id;
}
$sql .= " ORDER BY sign_id DESC LIMIT 3000";
$row = $db->queryall($sql);
$res["data"] = $row;
die(json_encode_lockdata($res));


3.同步用户user_id

$sign_id = get_param('sign_id');
$user_eid = get_param('user_eid');
$data = ['resource_user_id' => $user_eid];
//执行同步
require_once '../libs/Client.php';//注意路径问题
$client = new Client();
$url = "https://api.xiaoe-tech.com/xe.user.merge.info/1.0.0";
$method = "post";
$params = ['data' => $data];
$result = $client->request($method, $url, $params);
//return json_encode($result);
if ($result['code'] == 0) {//合并用户;
    if ($result['data']['target_user_id']) {
        $db->update('sign_2023', array('user_eid' => $result['data']['target_user_id'], 'is_merge' => 1), array('sign_id' => $sign_id));
    }
} else {
    $db->update('sign_2023', array('is_merge' => 1), array('sign_id' => $sign_id));//已判断
}
//输出数据
$res['code'] = $result;
die(json_encode($res));


总结

升级API后,需要进行以下测试步骤:

  1. 功能检查:对升级后的API进行全面功能检查,确认新的功能是否正常工作,回归已有的功能是否出现异常。
  2. 兼容性测试:进行兼容性测试,特别是对接入方应用程序进行测试,确保和旧版本API的兼容性,并确认新的版本兼容已有的应用程序。
  3. 性能测试:对升级后的API进行性能测试,保证API的性能满足要求,并寻找性能改进的机会。
  4. 安全测试:针对升级后的API进行安全测试,确认新的API是否有新的安全问题,并采取相应的措施加以解决。
  5. 文档更新:更新API的文档和其它文档,介绍API的新功能和改变,帮助接入方更好地了解API的使用。
  6. 用户反馈:收集用户反馈,包括API的功能、易用性等方面,根据反馈对API进行改进和优化。

@漏刻有时

相关文章
|
5天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
4天前
|
JSON 自然语言处理 Java
OpenAI API深度解析:参数、Token、计费与多种调用方式
随着人工智能技术的飞速发展,OpenAI API已成为许多开发者和企业的得力助手。本文将深入探讨OpenAI API的参数、Token、计费方式,以及如何通过Rest API(以Postman为例)、Java API调用、工具调用等方式实现与OpenAI的交互,并特别关注调用具有视觉功能的GPT-4o使用本地图片的功能。此外,本文还将介绍JSON模式、可重现输出的seed机制、使用代码统计Token数量、开发控制台循环聊天,以及基于最大Token数量的消息列表限制和会话长度管理的控制台循环聊天。
36 7
|
17天前
|
机器学习/深度学习 搜索推荐 API
淘宝/天猫按图搜索(拍立淘)API的深度解析与应用实践
在数字化时代,电商行业迅速发展,个性化、便捷性和高效性成为消费者新需求。淘宝/天猫推出的拍立淘API,利用图像识别技术,提供精准的购物搜索体验。本文深入探讨其原理、优势、应用场景及实现方法,助力电商技术和用户体验提升。
|
19天前
|
监控 数据管理 测试技术
API接口自动化测试深度解析与最佳实践指南
本文详细介绍了API接口自动化测试的重要性、核心概念及实施步骤,强调了从明确测试目标、选择合适工具、编写高质量测试用例到构建稳定测试环境、执行自动化测试、分析测试结果、回归测试及集成CI/CD流程的全过程,旨在为开发者提供一套全面的技术指南,确保API的高质量与稳定性。
|
26天前
|
搜索推荐 数据挖掘 API
淘宝商品API接口的对接及收益
淘宝商品API接口是淘宝开放平台提供的数据服务,支持商品搜索、详情、评价等功能,帮助开发者快速获取商品数据,提升用户体验,降低运营成本,增强市场竞争力,并支持数据分析和业务决策。对接流程包括注册账号、获取API密钥、阅读文档、编写请求代码、发送请求、解析数据、错误处理和日志记录等步骤。通过实际案例,如价格比较网站、库存管理工具、个性化推荐系统等,展示了API接口的应用价值。
77 5
|
10天前
|
供应链 搜索推荐 数据挖掘
1688搜索词推荐API接口:开发应用与收益全解析
在电商数据驱动时代,1688搜索词推荐API接口为开发者、供应商及电商从业者提供强大工具,优化业务流程,提升竞争力。该接口基于1688平台的海量数据,提供精准搜索词推荐,助力电商平台优化搜索体验,提高供应商商品曝光度与销售转化率,同时为企业提供市场分析与商业洞察,促进精准决策与成本降低。通过集成此API,各方可实现流量增长、销售额提升及运营优化,推动电商行业的创新发展。
22 0
|
16天前
|
监控 搜索推荐 测试技术
电商API的测试与用途:深度解析与实践
在电子商务蓬勃发展的今天,电商API成为连接电商平台、商家、消费者和第三方开发者的重要桥梁。本文深入探讨了电商API的核心功能,包括订单管理、商品管理、用户管理、支付管理和物流管理,并介绍了有效的测试技巧,如理解API文档、设计测试用例、搭建测试环境、自动化测试、压力测试、安全性测试等。文章还详细阐述了电商API的多样化用途,如商品信息获取、订单管理自动化、用户数据管理、库存同步、物流跟踪、支付处理、促销活动管理、评价管理、数据报告和分析、扩展平台功能及跨境电商等,旨在为开发者和电商平台提供有益的参考。
23 0
|
9天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
53 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
4天前
|
前端开发 API 数据库
Next 编写接口api
Next 编写接口api
|
10天前
|
XML JSON 缓存
阿里巴巴商品详情数据接口(alibaba.item_get) 丨阿里巴巴 API 实时接口指南
阿里巴巴商品详情数据接口(alibaba.item_get)允许商家通过API获取商品的详细信息,包括标题、描述、价格、销量、评价等。主要参数为商品ID(num_iid),支持多种返回数据格式,如json、xml等,便于开发者根据需求选择。使用前需注册并获得App Key与App Secret,注意遵守使用规范。
下一篇
DataWorks