登入

/v1/users/login

您必須先登入,才可使用 WhatsApp Business API 用戶端驗證自己的身分。如要登入,您需傳送用戶名稱和密碼以進行基本驗證,並接收回應中的持有人憑證。然後,您可在向任何 WhatsApp Business API 端點傳送要求時,使用持有人憑證驗證身分。進一步了解如何使用 API 驗證身分

準備工作

WhatsApp Business API 用戶端擁有一個預設帳戶,此帳戶的用戶名稱是 admin,密碼則為 secret。您無法將此帳戶從系統中移除或刪除。出於安全原因,您必須在首次登入時更改管理員密碼

密碼建議

根據行業最佳操作實例,我們建議您在建立新帳戶和設定新帳戶密碼時使用高強度密碼。

密碼長度必須為 8 至 64 個字元,而且最少要包含:

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

建立新帳戶或更改現有帳戶的密碼時,您必須設定具有一定複雜程度的密碼。

建立

請在登入時使用基本驗證方式(用戶名稱、密碼)來驗證自己的身分。Authorization 會在 HTTP 標題中設定。typeBasiccredentials 則是以 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"
   }]
}

如果要求失敗,您將會看到 HTTP 狀態 401 Unauthorized。如果看到此錯誤,則通常代表與登入要求同時傳送的用戶名稱和/或密碼無效,因此 WhatsApp Business API 用戶端無法產生憑證。

如果回應中有錯誤,請參閱下列內容以了解詳情:WhatsApp Enterprise 用戶端錯誤代碼HTTP 狀態代碼

傳回的欄位

欄位 說明

token

此為必要項目。

用於所有其他 WhatsApp Business API 呼叫的驗證憑證。憑證必須採用下列格式並使用驗證標題傳送:
Authorization: Bearer <authentication-token>

expires_after

此為必要項目。

憑證到期時戳。在預設情況下,有效期為 7 天。