GetAuthorizationCode#
The method is intended to authorize an instance by phone number. The method is used as an alternative to the QR method.
Authorization process:
- The official WhatsApp or WhatsApp Business application must be installed on your phone.
- You need to register in your console and create an instance.
- In the WhatsApp application, select the menu item "Linked devices" -> "Link a device" -> "Link with phone number instead".
- Call the GetAuthorizationCode method from console or through Postman collection by indicating your phone number in the body of the request (the
phoneNumber
field). In response to calling the GetAuthorizationCode method, you will receive 2 fields:status
andcode
.The code for authorization by phone number is valid for approximately 2.5 minutes.
- Enter the received code in the WhatsApp application, authorization is successful.
To receive the code, the instance must be in an unauthorized state. If the instance is authorized, then you first need to log out the instance using the Logout method.
The authorization procedure is described in more detail in the section Before you start.
After successfully entering the code and authorizing the instance, an incoming notification of the form Instance Status is generated.
Request#
To retrieve the code, you need to execute a query at:
{{apiUrl}}/waInstance{{idInstance}}/getAuthorizationCode/{{apiTokenInstance}}
Refer to Before-Start for the apiUrl
, idInstance
and apiTokenInstance
request parameters.
Request parameters#
Parameter | Type | Mandatory | Description |
---|---|---|---|
phoneNumber | integer | Yes | Phone number in international format without + or 00 |
Request body example#
{
"phoneNumber": 441234567890
}
Response#
Response parameters#
Field | Type | Description |
---|---|---|
status | boolean | Status of code receipt, possible values are true , false . |
true - Code received successfully | ||
false - Code not received. Possible reasons: 1. Instance is already authorized 2. An error occurred while receiving the code (try to receive the code again) | ||
code | string | Authorization code |
Response body example#
{
"status": true,
"code":"GAPI2018"
}
It may take up to 30 seconds to receive the code
Errors#
For a list of errors common to all methods, see Common errors
HTTP code | Error identifier | Description |
---|---|---|
200 | "status": false | 1. Instance is already authorized 2. An error occurred while receiving the code (try to receive the code again) |
400 | Bad Request Validation failed | Validation error |
400 | Validation failed. Details: Wrong format. 'phoneNumber' must contain only digits | The number must contain only numbers. |
Code Examples#
import requests
import json
url = "{{apiUrl}}/waInstance{{idInstance}}/getAuthorizationCode/{{apiTokenInstance}}"
payload = json.dumps({
"phoneNumber": 441234567890
})
headers= {}
response = requests.post(url, json=payload)
print(response.text.encode('utf8'))
curl --location 'http://localhost:6001/waInstance9903789715/getAuthorizationCode/f4fc69110b364ecfbc75cdd800d0516e4933b4d4e9574ea688' \
--header 'Content-Type: application/json' \
--data '{
"phoneNumber": 441234567890
}'
var requestUrl = new StringBuilder();
requestUrl
.append({{apiUrl}})
.append("/waInstance").append({{idInstance}})
.append("/getAuthorizationCode/")
.append({{apiTokenInstance}});
var response = Unirest.post(requestUrl.toString())
.header("Content-Type", "application/json")
.body("{\n \"phoneNumber\": 441234567890,\n}")
.asString();
System.out.println(response);
Sub GetAuthorizationCode()
Dim url As String
Dim RequestBody As String
Dim http As Object
Dim response As String
' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
url = "{{apiUrl}}/waInstance{{idInstance}}/getAuthorizationCode/{{apiTokenInstance}}"
' phoneNumber - Phone number in international format without + and 00
RequestBody = "{""phoneNumber"":79123456780}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", url, False
.setRequestHeader "Content-Type", "application/json"
.send RequestBody
End With
response = http.responseText
Debug.Print response
' Outputting the answer to the desired cell
Range("A1").Value = response
Set http = Nothing
End Sub