Request confirmation code
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ddi": "<string>",
"phone": "<string>",
"method": "<string>"
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code"
payload = {
"ddi": "<string>",
"phone": "<string>",
"method": "<string>"
}
headers = {
"Client-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Client-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({ddi: '<string>', phone: '<string>', method: '<string>'})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code",
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([
'ddi' => '<string>',
'phone' => '<string>',
'method' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code"
payload := strings.NewReader("{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\",\n \"method\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Client-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\",\n \"method\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Client-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\",\n \"method\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"captcha": "<string>",
"blocked": true,
"retryAfter": 123,
"smsWaitSeconds": 123,
"voiceWaitSeconds": 123,
"waOldWaitSeconds": 123,
"method": "<string>"
}Mobile
Request confirmation code
Request the confirmation code for number registration
POST
/
instances
/
{instanceId}
/
token
/
{token}
/
mobile
/
request-registration-code
Request confirmation code
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ddi": "<string>",
"phone": "<string>",
"method": "<string>"
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code"
payload = {
"ddi": "<string>",
"phone": "<string>",
"method": "<string>"
}
headers = {
"Client-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Client-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({ddi: '<string>', phone: '<string>', method: '<string>'})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code",
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([
'ddi' => '<string>',
'phone' => '<string>',
'method' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Client-Token: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code"
payload := strings.NewReader("{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\",\n \"method\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Client-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\",\n \"method\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/request-registration-code")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Client-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\",\n \"method\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"captcha": "<string>",
"blocked": true,
"retryAfter": 123,
"smsWaitSeconds": 123,
"voiceWaitSeconds": 123,
"waOldWaitSeconds": 123,
"method": "<string>"
}Overview
Method used to request the confirmation code to be sent.Don’t forget that the phone number you send in this request must be the same one you verified in the previous API.If you receive a captcha in the response, confirm it via the captcha API before receiving the code.
Attributes
Header
string
required
Your instance ID. Available in the Z-API panel under Instances.
string
required
Your Z-API instance token.
Body
string
required
Country code
string
required
Phone number with area code (e.g.: 4499999999)
string
required
Code delivery method:
sms, voice or wa_oldRequest Body
{
"ddi": "55",
"phone": "4499999999",
"method": "sms"
}
Response
200
boolean
Returns true if the code request was sent successfully
string
Base64 image with captcha code
boolean
Whether the number is banned or not
number
Time in seconds to wait before requesting a new code
number
Time to wait before requesting SMS
number
Time to wait before requesting voice call
number
Time to wait before requesting in-app pop-up
string
Code delivery method
{
"success": true,
"retryAfter": 165,
"smsWaitSeconds": 125,
"voiceWaitSeconds": 125,
"waOldWaitSeconds": 125,
"method": "sms"
}
{
"success": false,
"blocked": true
}