EditContact#
Beta version
The functionality is in beta. Features may change and may work unstably.
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.