Skip to content

DeleteContact#

Beta version

The functionality is in beta. Features may change and may work unstably.

Test Postman Apidog

The method is intended for deleting a number from contacts.

How Telegram contacts differ from the phone book of the main device

Telegram has its own contact manager, which is not linked to the phone book of the main device. This is done to improve privacy, as well as for the convenience of transferring Telegram contacts when working on different devices: Android, iOS, Windows, WEB.

Request#

To delete a number from contacts, you need to send a request to:

POST
{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}

To obtain the apiUrl, idInstance and apiTokenInstance request parameters, refer to the Before you start section.

Request parameters#

Parameter Type Required Description
chatId string Yes User's сhatId in the personal chat identifier format. For example "10000000"

Request body example#

{
    "chatId": "10000000"
}
{
    "chatId": "79876543210@c.us"
}

Response#

Response fields#

Field Type Description
deleteContact boolean Returns True if the method was executed without errors. Absent in the response body with an error.
messsage string Error description if the method was executed with an error. Absent in the response body without an error.

Response body example#

{
    "deleteContact": true
}

Method execution with an error#

status code 404 Not found

{
    "message": "Contact 100000000 not found"
}

DeleteContact errors#

For the list of errors common to all methods, see the Standard errors section

HTTP code Error identifier Description
404 Contact 100000000 not found A contact with this number is not in the phone book

Code examples#

import requests

url = "{{apiUrl}}/waInstance{{idInstance}}/deleteContact/{{apiTokenInstance}}"

payload = {
    "chatId": "10000000"
}
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' => '10000000'
);

$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": "10000000"
}'
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"":""10000000""}"

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.