Skip to content

EditContact#

Beta version

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

Test Postman Apidog

The method is intended for editing a number in 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 edit a number in contacts, you need to send a request to:

POST
{{apiUrl}}/waInstance{{idInstance}}/editContact/{{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"
firstName string Yes Contact's first name
lastName string No Contact's last name

Request body example#

{
    "chatId": "10000000",
    "firstName": "Ivan",
    "lastName": "Tsarevich"
}
{
    "chatId": "79876543210@c.us",
    "firstName": "Ivan",
    "lastName": "Tsarevich"
}

Response#

Response fields#

Field Type Description
editContact 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#

{
    "editContact": true
}

Method execution with an error#

status code 404 Not found

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

EditContact 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}}/editContact/{{apiTokenInstance}}"

payload = {
    "chatId": "10000000",
    "firstName": "Ivan",
    "lastName": "Tsarevich"
}
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}}/editContact/{{apiTokenInstance}}';

//chatId is the number (@c.us)  
$data = array(
    'chatId' => '10000000',
    'firstName' => 'Ivan',
    'lastName' => 'Tsarevich'
);

$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}}/editContact/{{apiTokenInstance}}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "chatId": "10000000",
    "firstName": "Ivan",
    "lastName": "Tsarevich"
}'
Sub EditContact()
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}}/editContact/{{apiTokenInstance}}"

' chatId is the number (@c.us)
RequestBody = "{""chatId"":""10000000"",""firstName"":""Ivan"", ""lastName"":""Tsarevich""}"

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 editContact;

{$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 + '/editContact/' + API_TOKEN_INSTANCE;

HttpClient := TNetHTTPClient.Create(nil);
RequestBody := TStringStream.Create('{ "chatId": "10000000", "firstName": "Ivan", "lastName": "Tsarevich"}', 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.