登入

/v1/users/login

若要進行 WhatsApp Business API 用戶端的驗證,您必須登入。若要登入,請傳送用戶名稱和密碼以進行基本驗證,並在回應中接收持有人權杖。之後當您傳送要求至任何 WhatsApp Business API 端點時,將使用該持有人權杖進行驗證。深入瞭解驗證以使用 API。

準備工作

WhatsApp Business API 用戶端有一個預設帳號,帳號用戶名稱為 admin,密碼為 secret。無法從系統中移除或刪除此帳號。基於安全起見,您必須在第一次登入時變更管理員密碼

密碼建議

建議您在建立新帳號及設定新帳號密碼時,依照各產業的最佳作法,使用強式密碼。

密碼長度介於 8 到 64 個字元,且至少需有:

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

在建立新帳號或變更現有帳號的密碼時,會強制要求密碼複雜度。

建立

您在登入時使用基本驗證(用戶名稱、密碼)進行身分驗證。Authorization 設定在 HTTP 標頭中。typeBasiccredentials 為由冒號連接的 usernamepassword 組成的 Base64 編碼字串(即 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 企業用戶端錯誤代碼HTTP 狀態代碼

傳回的欄位

欄位 說明

token

必填。

要用於所有其他 WhatsApp Business API 呼叫的驗證權杖。權杖必須以下列格式在驗證標頭中傳送:
Authorization: Bearer <authentication-token>

expires_after

必填。

權杖的到期時間戳記。根據預設,此值為 7 天。