关于小红书卡片跳转微信的技术研究报告

摘要

什么是小红书卡片?如下图所示,有一个卡片,有封面图有标题,这张卡片可以点击,点击进去可以直接跳转到微信并且自动打开一个页面,这个页面展示一个二维码,这个二维码可以长按加微信

在这里插入图片描述

这边是一个小红书卡片的基本的样子。

演示视频:https://viusosibp88.feishu.cn/docx/LYH5diVAxoMOI4x1IjYcjOxFn1g

而这种卡片,在小红书并不能随意制作,点进去也是没有所谓的【右上角分享转发】之类的。它不像微信链接一样可以转发又变成卡片,在小红书APP内,非官方的页面,都是没有转发成卡片的功能。

为什么非得卡片?还不是因为小红书对于个人号引流的管控严格,动不动就违规封号,因此使用卡片可以一定程度规避官方的检测,因为卡片就是通过官方接口发送出去的,不会被判为引流违规。

那么市面上这类卡片如何制作?

经过研究得知,这类卡片的制作方法有2种:

  1. 小红书专业号私信接口;
  2. 安卓hook技术

专业号私信接口:

专业号私信接口又有2种,一种是私信回复,一种是私信通

私信回复接口:message/reply
私信通接口:im/multiCustomerService

私信回复接口

通过私信回复接口,可以查看小红书的聊天记录,发送笔记卡片、发送商品卡片。

在这里插入图片描述

因此可以通过抓包的方法,抓取发送卡片的参数,对参数进行篡改,即可实现卡片的制作。

通过篡改卡片消息体,将正常跳转的链接替换为跳转到微信的中间页,例如URLScheme跳转到微信并打开小程序的链接,这一步需要借助小红书的中转页跳转到你自己的落地页,你自己的落地页实则就是一个js重定向调用了URLScheme实现的打开微信指定页面。

URLScheme格式:weixin://dl/business/?t=xxxxxxx

例如发送一个笔记卡片:

在这里插入图片描述

有一个send接口,这接口POST一个JSON参数:

{
  "receiver_id": "接收者的id",
  "content_type": "NOTE", // 类型
  "content": "笔记id"
}

即可请求成功并实现发卡,只不过这个是发送笔记卡片,如需发送微信跳转卡片,还需将content_type改为CARD,将content改为卡片的消息体。

以下是关于CARD的发卡源码:

import httpx

url = "https://pro.xiaohongshu.com/api/eros/pm/chat/message/send"
headers = {
    "Cookie": "专业号私信回复的Cookie",
    "Sec-Ch-Ua-Platform": "\"Windows\"",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Sec-Ch-Ua": "\"Chromium\";v=\"131\", \"Not_A Brand\";v=\"24\"",
    "Sec-Ch-Ua-Mobile": "?0",
    "X-B3-Traceid": "a1dfa40a69adc868",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.6778.86 Safari/537.36",
    "Accept": "application/json, text/plain, */*",
    "Content-Type": "application/json;charset=UTF-8",
    "Origin": "https://pro.xiaohongshu.com",
    "Sec-Fetch-Site": "same-origin",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Dest": "empty",
    "Referer": "https://pro.xiaohongshu.com/enterprise/message/reply",
    "Accept-Encoding": "gzip, deflate, br",
    "Priority": "u=1, i",
}

payload = {
    "receiver_id": "接收者的ID",
    "content_type": "CARD",
    "content": {
        "actionContent": "",
        "avatar": "",
        "background": "",
        "brandName": "",
        "buttonLink": "",
        "buttonTitle": "",
        "buyNow": False,
        "commentContent": "",
        "commentId": "",
        "cover": "",
        "desc": "",
        "expectedPrice": "",
        "expression": "",
        "fans": "",
        "goodsId": "",
        "goodsImage": "",
        "groupId": "",
        "groupImage": "",
        "groupName": "",
        "height": 800,
        "id": "653e73ce9e6e5500016e73b2",
        "image": "封面图链接",
        "internalPurchasePrice": "",
        "internalPurchasePriceName": "",
        "itemTitle": "",
        "link": "跳转到微信的链接",
        "minorPrice": "",
        "multi": False,
        "nickname": "",
        "noteId": "",
        "noteNum": "",
        "notes": -1,
        "officialVerifyContent": "",
        "orderButtonStatus": "NONE",
        "originPrice": "",
        "originPriceName": "",
        "price": 0,
        "priceStr": "",
        "rankTitle": "",
        "rankType": -1,
        "ranking": -1,
        "redNumber": "",
        "redOfficialVerifyShowIcon": False,
        "roomId": "",
        "saleQuantity": "",
        "showLabel": "",
        "sourceTag": "",
        "tagName": "",
        "tagStrategyMap": {},
        "title": "点击了解",
        "type": "common",
        "userId": "",
        "width": 0,
    },
}

try:
    response = httpx.post(url, headers=headers, json=payload)
    print(f"Status Code: {response.status_code}")
    print("Response Text:", response.text)
except Exception as e:
    print(f"Error occurred: {e}")

私信通

私信通是需要开通聚光平台的专业号才可以拥有,因此这必然是需要花钱的。

私信通的主账号一样可以看到小红书所有的聊天记录,支持的功能比私信回复更多。

在这里插入图片描述

还提供了一个获客工具,获客工具就是让你使用小红书的官方工具光明正大的引流,发微信,发电话号码,这是小红书官方允许的行为,因此是不会违规的,果然是花了钱的就是大爷。

在这里插入图片描述

例如这个留资卡,就是可以让对方填写微信号,手机号之类的:

在这里插入图片描述

还有这种名片,直接将你微信号告诉对方,别人点一下按钮就复制你的微信号:

在这里插入图片描述

而且还可以授权企业微信,直接跳转到企业微信获客助手界面加企业微信好友。

在这里插入图片描述

最后就是这个落地页,这种就是以卡片形式呈现,点进去不是跳转到微信,只是显示一些你制作的内容,例如点进去显示你的微信二维码,显示一句话,显示你的服务内容,海报之类的。

在这里插入图片描述

落地页需要在聚光平台进行自己制作并提交审核:https://ad.xiaohongshu.com/aurora/home

在这里插入图片描述

选择新建落地页即可:

在这里插入图片描述

在这里插入图片描述

自己DIY出来的落地页,通过审核之后,通过私信通的获客工具选择落地页即可发送出去,就是一张官方的小红书卡片了。

落地页卡片演示视频:https://viusosibp88.feishu.cn/docx/LYH5diVAxoMOI4x1IjYcjOxFn1g

以上三个就是私信通自带的获客卡片,可以帮助你合规解决获客问题,引流问题。

安卓hook技术

hook技术需要借助Xposed框架,是一种直接入侵内存进行篡改任何信息的技术。Xposed框架是一个在Android高权限模式下运行的框架服务,可以在不修改APK文件的情况下修改程序的运行。

简单来说就是在软件运行的过程中,你可以通过hook技术对其中的内容进行拦截,阻断,篡改,劫持。

例如小红书卡片为例,在卡片发送到对方的小红书账号之前,我们可以正常发送,通过hook技术,在点击发送按钮在发送对方的过程中,可以修改其封面图、标题、跳转链接,以此达到发送卡片的目的。

通过反编译小红书 APK查看小红书安装包的源代码,找到发送消息的方法。Xposed模块中,需要 hook相应的发送方法,实现消息的劫持,对原本正常的内容篡改后再发送出去,就成了卡片。

hook技术在微信利用比较常见,例如市面上常见的机器人,大名鼎鼎的wetool就是hook技术,通过拦截微信电脑版的内存实现的接口,例如自动回复,自动通过好友,自动…凡是需要借助固定版本的微信电脑版,都是hook技术实现的。

还有安卓版本的Xposed框架的,由fkzhang大神开发的微X模块,也是hook技术实现的。

结论

现在市面上的卡片就这两种,一种是通过抓包获取官方发送接口,篡改数据实现的发卡,这一半需要有专业号,聚光平台的加持,再有一些抓包和重放接口的知识。

另一个技术hook技术,这个需要有比较厉害的安卓逆向工程的技术,这比较考验技术水平。

成品样例

在这里插入图片描述
制作方法:https://img10.360buyimg.com/imgzone/jfs/t1/15178/8/21694/40534/669876c4Fa54cc3d3/36d0b522f7ef9486.jpg
本文作者

TANKING

### 小红书跳转卡片功能的实现方式 小红书作为一个社交电商平台,其跳转卡片功能通常用于增强用户体验并促进应用内外部流量互通。以下是关于如何实现类似功能的技术分析: #### 1. **技术背景** 为了实现类似于微信小程序卡片的功能,需要考虑以下几个方面: - 应用与外部平台(如小红书)之间的身份验证机制。 - 数据传输的安全性和稳定性。 - 用户体验的一致性。 根据已知的信息[^2],可以推测类似的跳转卡片功能可能依赖于以下条件: - 平台间的身份绑定:发起分享的应用需与目标平台(如小红书的小程序或H5页面)归属于同一个开放平台账号。 - 客户端版本兼容性:如果用户的设备运行的是较旧版本的客户端,则需要提供备用方案(如网页链接)以确保功能可用。 --- #### 2. **API 接口调用** 目前公开可查的小红书官方文档并未直接提及类似“跳转卡片”的具体接口说明。然而,基于其他平台的经验以及引用中的描述[^3],可以通过以下方式进行尝试: ##### (1)OAuth授权流程 通过OAuth协议完成用户登录状态同步和权限授予。此过程涉及以下步骤: - 获取临时code:`https://api.xiaohongshu.com/oauth/authorize?client_id=YOUR_CLIENT_ID&redirect_uri=REDIRECT_URI&response_type=code` - 使用code换取access_token: ```json POST https://api.xiaohongshu.com/oauth/token HTTP/1.1 Content-Type: application/json;charset=UTF-8 { "grant_type": "authorization_code", "client_id": "YOUR_CLIENT_ID", "client_secret": "YOUR_CLIENT_SECRET", "code": "TEMPORARY_CODE" } ``` ##### (2)内容分发接口 假设存在一个专门的内容分发接口,允许开发者上传或者指定要展示的卡片信息。请求体结构如下所示: ```json POST https://api.xiaohongshu.com/v1/card/create HTTP/1.1 Authorization: Bearer YOUR_ACCESS_TOKEN Content-Type: application/json;charset=UTF-8 { "title": "示例标题", "description": "这是卡片的描述文字。", "image_url": "https://example.com/image.jpg", "link_url": "https://example.com/target_page.html" } ``` 上述方法中,`image_url`定义了卡片封面图地址;`link_url`则指向最终的目标页面,在某些情况下可能是原生APP内部路径或者是Webview加载URL。 --- #### 3. **前端渲染逻辑** 当用户点击此类跳转卡片时,实际触发的动作取决于开发者的配置选项。一般有三种常见处理模式: - 打开内置浏览器访问指定网址; - 调起第三方应用程序(前提是安装了对应APK文件); - 展示模态对话框提示下载缺失组件。 对于Android环境下的实现细节,请参考开源项目集合内的UI设计案例作为灵感来源之一。例如采用CardView控件构建基础布局单元,并结合RecyclerView适配器动态填充数据列表项。 ```xml <!-- 卡片视图 --> <androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 图像区域 --> <ImageView android:id="@+id/image_card" android:layout_width="match_parent" android:scaleType="centerCrop" android:adjustViewBounds="true"/> <!-- 描述文本 --> <TextView android:id="@+id/text_description" android:textSize="16sp"/> </androidx.cardview.widget.CardView> ``` --- #### 4. **注意事项** 尽管以上提供了理论框架和技术指导方针,但在正式投入生产前仍需要注意几个重要事项: - 确认当前业务场景是否符合目标平台政策规定。 - 测试不同网络条件下服务响应速度及时延表现。 - 对敏感操作增加额外安全防护措施以防恶意攻击行为发生。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TANKING-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值