Verificar disponibilidade
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ddi": "<string>",
"phone": "<string>"
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available"
payload = {
"ddi": "<string>",
"phone": "<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>'})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available', 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/registration-available",
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>'
]),
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/registration-available"
payload := strings.NewReader("{\n \"ddi\": \"<string>\",\n \"phone\": \"<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/registration-available")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available")
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}"
response = http.request(request)
puts response.read_body{
"available": true,
"blocked": true,
"appealToken": "<string>",
"smsWaitSeconds": 123,
"voiceWaitSeconds": 123,
"waOldWaitSeconds": 123,
"waOldEligible": true,
"reason": "<string>"
}Mobile
Verificar disponibilidade
Verifica a disponibilidade de registro de um número no WhatsApp
POST
/
instances
/
{instanceId}
/
token
/
{token}
/
mobile
/
registration-available
Verificar disponibilidade
curl --request POST \
--url https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available \
--header 'Client-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"ddi": "<string>",
"phone": "<string>"
}
'import requests
url = "https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available"
payload = {
"ddi": "<string>",
"phone": "<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>'})
};
fetch('https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available', 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/registration-available",
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>'
]),
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/registration-available"
payload := strings.NewReader("{\n \"ddi\": \"<string>\",\n \"phone\": \"<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/registration-available")
.header("Client-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ddi\": \"<string>\",\n \"phone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.z-api.io/instances/{instanceId}/token/{token}/mobile/registration-available")
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}"
response = http.request(request)
puts response.read_body{
"available": true,
"blocked": true,
"appealToken": "<string>",
"smsWaitSeconds": 123,
"voiceWaitSeconds": 123,
"waOldWaitSeconds": 123,
"waOldEligible": true,
"reason": "<string>"
}Conceituação
Método utilizado para verificar disponibilidade de registro de um número. Este endpoint verifica se o número está disponível para registro e realiza o setup de onboarding do WhatsApp. Deve ser chamado antes de solicitar o código de confirmação.ATENÇÃONão utilize esse método se você não tem acesso ao celular onde o número está atualmente vinculado. Este método é útil para agilizar o processo de confirmação do código, sem ter que esperar o recebimento de um SMS ou chamada de voz, porém necessita que você tenha o dispositivo em mãos e com o aplicativo do WhatsApp aberto.
Caso de número banidoExistem alguns cenários onde o número é impedido de ser conectado até mesmo no aplicativo oficial do WhatsApp. Nesse caso, a API de verificar disponibilidade do número não é capaz de identificar isso, e acaba sendo retornado que o número está bloqueado somente no momento de solicitar o código. Infelizmente, até o momento não há nada que possamos fazer a esse respeito, pois, diferente do banimento padrão, não é disponibilizado um token (appealToken) para realizar uma solicitação de desbanimento.
Atributos
Header
string
obrigatório
ID da sua instância. Disponível no painel Z-API em Instâncias.
string
obrigatório
Token da sua instância Z-API.
Body
string
obrigatório
Código do país
string
obrigatório
Número do telefone com DDD, sem formatação
Request Body
{
"ddi": "55",
"phone": "4499999999"
}
Response
200
boolean
Retorna true caso o número esteja disponível para registro
boolean
Define se o número está banido ou bloqueado por algum outro motivo
string
Token para solicitação de desbanimento (quando bloqueado)
number
Tempo que deve ser aguardado para solicitação de SMS
number
Tempo que deve ser aguardado para solicitação de chamada de voz
number
Tempo que deve ser aguardado para solicitação de pop-up no aplicativo
boolean
Define se o método de solicitação do código via pop-up está disponível
string
Em caso de erro, esse atributo diz a razão pela qual o erro aconteceu
{
"available": true,
"smsWaitSeconds": 0,
"voiceWaitSeconds": 0,
"waOldWaitSeconds": 0,
"waOldEligible": true
}
{
"available": false,
"blocked": true,
"appealToken": "Ae0B_6FfVfyB8on0v76ALf1RkWXFFsfvliOdh02JyXTFcbnlTAwO5_h5Ju4L5zfa..."
}