DeleteContact#
Метод предназначен для удаления номера из контактов, а также для удаления номера из телефонной книги основного устройства (телефонной трубки).
Чем отличаются контакты WhatsApp* и телефонной книги основного устройства
В WhatsApp* есть собственный менеджер контактов, который по умолчанию не связан с телефонной книгой основного устройства. Сделанно это для повышения приватности, а также удобства переноса контактов WhatsApp* при работе на разных устройствах: Android, iOS, Windows, WEB. По умолчанию синхронизация контактов между телефонной книгой основого устройства и WhatsApp* может быть выключена, поэтому необходимо включить синхранизацию контактов в API и, иногда, на вашем основном устройстве.
Подробнее читайте в статье Как управлять списком контактов в телефонной книге подключенного телефона?
Запрос#
Для удаления номера из контактов требуется выполнить запрос по адресу:
{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}
Для получения параметров запроса apiUrl, idInstance и apiTokenInstance обратитесь к разделу Перед началом работы.
Параметры запроса#
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
chatId | string | Да | Номер телефона в формате идентификатора личного чата. Например "79876543210@c.us" |
Пример тела запроса#
{
"chatId": "79876543210@c.us"
}
Ответ#
Поля ответа#
| Поле | Тип | Описание |
|---|---|---|
deleteContact | boolean | Возвращает True, если метод выполнен без ошибок. Отсуствует в ответе тела с ошибкой. |
messsage | string | Описание ошибки, если метод выполнен с ошибкой. Отсутствует в ответе тела без ошибки. |
Пример тела ответа#
{
"deleteContact": true
}
Выполнение метода с ошибкой#
status code 404 Not found
{
"message": "77059640505@c.us is not on WhatsApp"
}
Ошибки DeleteContact#
Перечень общих для всех методов ошибок смотрите в разделе Стандартные ошибки
| Код HTTP | Идентификатор ошибки | Описание |
|---|---|---|
| 404 | Not found 79876543210@c.us is not on WhatsApp | Контакт с этим номером отсутствует в WhatsApp |
Примеры кода#
import requests
url = "{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}"
payload = {
"chatId": "79876543210@c.us"
}
headers = {
'Content-Type': 'application/json'
}
response = requests.post(url, json=payload, headers=headers)
print(response.text.encode('utf8'))
<?php
//The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
$url = '{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}';
//chatId is the number (@c.us)
$data = array(
'chatId' => '71234567890@c.us'
);
$options = array(
'http' => array(
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
)
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
echo $response;
?>
curl --location '{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"chatId": "71234567890@c.us"
}'
Sub DeleteContact()
Dim URL As String
Dim RequestBody As String
Dim http As Object
' The apiUrl, idInstance and apiTokenInstance values are available in console, double brackets must be removed
URL = "{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}"
' chatId is the number (@c.us)
RequestBody = "{""chatId"":""71234567890@c.us""}"
Set http = CreateObject("MSXML2.XMLHTTP")
With http
.Open "POST", URL, False
.setRequestHeader "Content-Type", "application/json"
.send RequestBody
End With
Set http = Nothing
End Sub
program deleteContact;
{$APPTYPE CONSOLE}
uses
System.SysUtils,
System.Classes, System.Net.HttpClient, System.Net.URLClient, System.Net.HttpClientComponent;
var
HttpClient: TNetHTTPClient;
RequestBody: TStringStream;
RequestHeaders: TNetHeaders;
Response: IHTTPResponse;
EndpointURL, ID_INSTANCE, API_TOKEN_INSTANCE: string;
begin
ID_INSTANCE := '110100001';
API_TOKEN_INSTANCE := 'd75b3a66374942c5b3c019c698abc2067e151558acbd451234';
EndpointURL := 'https://api.green-api.com/waInstance' + ID_INSTANCE + '/deleteContact/' + API_TOKEN_INSTANCE;
HttpClient := TNetHTTPClient.Create(nil);
RequestBody := TStringStream.Create('{ "chatId": "79876543210@c.us" }', TEncoding.UTF8);
RequestHeaders := [
TNetHeader.Create('Content-Type', 'application/json')
];
try
Response := HTTPClient.Post(EndpointURL, RequestBody, nil, RequestHeaders);
if Response.StatusCode = 200 then
Writeln('[Response]: ' + Response.ContentAsString)
else
Writeln('[ERROR ' + IntToStr(Response.StatusCode) + ']:' + Response.StatusText + '' + Response.ContentAsString);
readln;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
HttpClient.Free;
RequestBody.Free;
end.