✔ WhatsApp Group API:开发人员指南
WhatsApp 是一款全球知名的即时通讯应用,它为开发者提供了大量功能增强的机会。自动化群组管理对于企业和社区管理者来说都是至关重要的工具。在本指南中,我们将探讨如何使用 PHP 高效地处理各种群组操作。
1.设置
在深入研究代码之前,请确保您已:
- 从Whapi.Cloud访问 WhatsApp API 。它是目前功能最强大、最稳定的 WhatsApp API 提供商,提供价格低廉的 WhatsApp API 访问。
- 一个可运行的 PHP 环境。
- 在您的 PHP 配置中启用 cURL,因为它对于发出 HTTP 请求至关重要。
在 Whapi.Cloud 上注册
开启您的Whapi.Cloud之旅,请创建一个免费账户。此步骤简单易行,无需任何信用卡信息。注册后,您可以立即访问测试频道,但会有一些限制。
连接手机
测试通道启动大约需要一分钟。激活后,连接手机即可启用 WhatsApp 自动化功能。该服务将利用您已连接的手机发送消息。以下是分步说明:
- 点击您的 Whapi.Cloud 帐户中的试用频道来访问二维码。
- 在您的移动设备上打开 WhatsApp。
- 前往“设置”->“已连接设备”->“关联设备”->“扫描二维码”。快速连接是 Whapi.Cloud 的一大亮点,让您几分钟内即可启动并运行。
频道自定义和配置
在连接的第二步和第三步,系统会提示您进行频道个性化设置。您可以根据自己的喜好命名频道、配置 webhook 以及修改其他设置。不过,这些步骤可以先跳过,稍后再进行完善。
获取 API 令牌:
您的通道恢复运行后,请在限制信息下方的中心区块中找到您的 API 令牌。此令牌对于验证您的 API 请求至关重要。通常,它会作为 Bearer 令牌或请求参数包含在请求标头中,具体取决于所使用的 API 方法。
创建新的 WhatsApp 群组
在 WhatsApp 中,群组是多个用户进行集体交流的中心。无论是企业、社区还是个人用途,自动创建群组都能节省时间。
要使用 PHP 创建新群组:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gate.whapi.cloud/groups?token=h0uXrELd3Q4i7jvX6ke1i3rCcWBZgpEi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'subject' => 'Test name :)',
'participants' => [
'15056952654',
'14046952648'
]
]),
CURLOPT_HTTPHEADER => [
"accept: application/json",
"content-type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
在这段代码中,我们向 WhatsApp 提供的 API 端点发起一个 POST 请求,用于创建一个新群组。我们传递群组名称(主题)和初始参与者人数。执行后,群组将被创建,API 响应将确认创建成功或标记任何遇到的问题。WhatsApp
API 文档
设置群组图标
群组图标可帮助成员快速识别群组,并将其与聊天列表区分开来。自动更新群组图标的任务至关重要,尤其是对于经常更改营销活动或视觉效果的品牌而言。
以下是使用 PHP 设置或更新群组图标的方法:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gate.whapi.cloud/groups/12031836356517114940g.us/icon?token=h0uXrELd3Q4i7jvX6ke1i3rCcWBZgpEi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"accept: application/json",
"content-type: image/jpeg"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
在此示例中,我们向提供的 API 端点发出了一个 PUT 请求,并指定了群组 ID (12031833656517114940g.us)。此 ID 代表我们要为其更新图标的群组。content-type: image/jpeg 标头确保 API 知道我们正在发送图像数据。
生成群组邀请链接:
有了可直接分享给潜在成员的链接,发展 WhatsApp 群组变得更加轻松。无需手动添加每个用户,邀请链接允许用户自行加入群组。以下是如何自动生成群组邀请链接的方法:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gate.whapi.cloud/groups/12036565318317114940g.us/invite?token=h0uXrELd3Q4i7jvX6ke1i3rCcWBZgpEi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
此代码会向提供的 API 端点发送一个 GET 请求,目标为特定的群组 ID (12036318651735114940g.us)。响应将包含该群组的邀请链接,您可以将其分享给潜在成员。
将参与者添加到 WhatsApp 群组
建立 WhatsApp 群组需要高效地添加成员。相比手动添加,自动添加成员可以节省时间并减少错误。以下是如何自动添加群组成员的方法:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gate.whapi.cloud/groups/12036565318317114940g.us/participants?token=h0uXrELd3Q4i7jvX6ke1i3rCcWBZgpEi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'participants' => [
'<Recipient WA-ID, from Contacts API>',
'15056984562'
]
]),
CURLOPT_HTTPHEADER => [
"accept: application/json",
"content-type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
在此代码中,会向提供的 API 端点发送一个 POST 请求,指定要添加参与者的群组 ID (12036517131835614940g.us)。您可以在“participants”数组中列出要添加的成员的 ID。占位符应替换为从联系人 API 或其他来源获取的实际 WhatsApp ID。
通过 API 获取 Whatsapp 群组成员列表
管理多个群组时,获取特定群组的详细信息至关重要。这有助于了解群组统计信息、成员及其他相关信息。让我们了解如何通过群组 ID 检索群组详细信息:
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://gate.whapi.cloud/groups/12036565318317114940g.us?token=h0uXrELd3Q4i7jvX6ke1i3rCcWBZgpEi",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"accept: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
上述代码向指定的 API 端点发起 GET 请求,指向群组 ID (12036318517135614940g.us)。执行后,该代码将检索群组的详细信息,例如群组名称、群组图片 (chat_pic)、最新消息、群组所有者姓名 (name_owner)、群组描述,以及包含群组成员姓名和电话的数组。
例如:
"participants": [
{
"id": "5217554348750",
"rank": "member"
},
{
"id": "5215499583721",
"rank": "creator"
}
这对于深入了解群组活动、成员数量等信息非常有帮助。
开发机器人时,必须持续测试和调试应用程序,以确保其正常运行且没有错误。对于本地测试,您可以使用 Postman 或任何其他 API 测试工具来模拟传入消息并检查机器人的响应。
免费试用
结论:
WhatsApp 已不仅仅是一个消息平台。随着聊天机器人的兴起以及与各行各业的整合,以编程方式理解和管理群组至关重要。本手册旨在指导开发人员使用 PHP 在 WhatsApp 中实现群组管理的自动化。
提供的代码片段涵盖了从创建群组到获取群组详细数据等基本操作。将这些示例应用于特定用例将简化工作流程,提供更深入的群组活动洞察,并提升整体用户体验。
请务必谨慎处理用户数据,并遵守隐私法规和 WhatsApp 指南。自动化的力量意味着巨大的责任,因此请谨慎使用。
编码愉快!
继续阅读:https://dev.to/whapicloud/a-manual-for-developers-how-to-automatically-manage-groups-in-whatsapp-using-php-572f