登录

/v1/users/login

您必须登录,才能使用 WhatsApp Business API 客户端验证自己的身份。如要登录,请发送帐号和密码进行基本身份验证,并接收响应中的 Bearer 口令。然后,在向任何 WhatsApp Business API 端点发送请求时,您可使用 Bearer 口令进行身份验证。为正常使用 API,请详细了解身份验证

准备工作

WhatsApp Business API 客户端有默认帐户,其帐号是 admin,密码是 secret。您无法从系统中移除或删除此帐户。出于安全原因,您需在首次登录时更改管理员密码

推荐密码

根据行业最佳实践,我们建议您在新建帐户和设置新帐户密码时使用强度较高的密码。

密码长度需在 8 至 64 个字符之间,并至少应包括:

  • 一个数字
  • 一个大写字符
  • 一个小写字符
  • !"#$%&\'()*+,-./:;<=>?@[]^_`{|}~ 中的一个特殊字符

新建帐户或更改现有帐户的密码时,您必须设置具有一定复杂性的密码。

创建

在登录时,请通过基本身份验证(帐号、密码)来验证自己的身份。您可在 HTTP 标头中设置 AuthorizationtypeBasiccredentials 是以 base64 编码的字符串,其中包含以冒号连接的 usernamepassword(即 username:password)。

当 WhatsApp Business API 客户端收到您的登录请求时,系统便会处理您的凭证以便验证。

  • 如果验证成功,系统将生成口令。响应的 token 字段中会包含您的口令。
  • 如果验证失败,系统将返回错误。

示例

首次登录

出于安全考虑,在首次尝试登录时,您需要使用 new_password 字段将默认的管理员密码更新为新密码。如果您尝试使用默认密码登录且没有提供 new_password 字段信息,系统将返回错误。

请参阅密码,了解相关推荐。首次登录请求应如下所示:

  POST /v1/users/login
  Authorization: Basic base64(username:password)
  {
  "new_password": "new-password"
  }

cURL 版本应如下所示:

curl -k -X POST https://your-webapp-hostname:your-webapp-port/v1/users/login \
  -w "\n%{http-code}\n" \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Basic base64(username:password)' \
  -d '{"new_password" : "new-password"}'

标准登录

WhatsApp Business API 客户端的标准登录请求应如下所示:

POST /v1/users/login
Authorization: Basic base64(username:password)

cURL 版本应如下所示:

curl -X POST \
  -H 'Authorization: Basic base64(username:password)' \
  -H 'Content-Type: application/json' \
  -d '{}' \
  https://your-webapp-hostname:your-webapp-port/v1/users/login

请求成功后,系统会返回 200 OK 状态,以及口令和口令过期时间。生成的所有口令均在 7 天后过期。响应内容如下例所示:

{
   "users": [{
      "token": "eyJhbGciOHlXVCJ9.eyJ1c2VyIjoNTIzMDE2Nn0.mEoF0COaO00Z1cANo",
      "expires_after": "2018-03-01 15:29:26+00:00"
   }]
}

如果请求失败,您会看到 401 Unauthorized HTTP 状态。通常,此错误意味着与登录请求一同发送的帐号和/或密码无效,导致 WhatsApp Business API 客户端无法生成口令。

如果响应中存在错误,请参阅以下文档,以了解更多信息:WhatsApp Enterprise 客户端错误代码HTTP 状态代码

返回的字段

字段 描述

token

必要项。

用于所有其他 WhatsApp Business API 调用的身份验证口令。请务必以下列格式在授权标头中发送口令:
Authorization: Bearer <authentication-token>

expires_after

必要项。

口令过期时间戳。默认情况下,此值为 7 天。