Введение
Возможности
API OKOCRM поддерживает чтение и запись контактов, компаний, сделок и других элементов системы. Это дает вам возможность, как просматривать, так и использовать дынные, которые храняться в OKOCRM в других своих сервисах.
Вы можете использовать API для импорта внешних данных в свою учетную запись OKOCRM.
Мы также работаем над интеграцией других сервисов в платформу OKOCRM. Эти сервисы будут доступны для всех пользователей OKOCRM для интеграции в платформу. Если вы планируете создать свою интеграцию, которая сможет использоваться на нашей платформе, свяжитесь с нами по адресу [email protected]
Как это работает?
API OKOCRM основано на RESTfull API. URL-адрес okocrm.com API v2: https://api.okocrm.com/v2/.
Авторизация
Заголовок запроса
Ко всем запросам к API необходимо добавить 2 header:
Accept: application/json Authorization: Bearer токенТокен можно получить в разделе личного профиля, в okocrm, в графе "Токен для API".
Обратите внимание, что все запросы к api будут иметь те же права, что имеет пользователь этого токена.
Пользователи
Список пользователей
Контакты
Список контактов
В списке возвращаемых полей, динамически выводятся дополнительные поля, которые являются уникальными у каждого клиента, в зависимости от настроек
Получить контакт
В списке возвращаемых полей, динамически выводятся дополнительные поля, которые являются уникальными у каждого клиента, в зависимости от настроек
Добавить контакт
В передаваемый список полей добавляются уникальные, для каждого клиента, поля которые настраиваются в системе
curl --location 'https://api.okocrm.com/v2/contacts' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{токен}}' \
--form 'name="Delbert Cummerata"' \
--form 'user_id="1"' \
--form 'phones[][phone]="464-313-2066"' \
--form 'emails[][email]="[email protected]"' \
--form 'tags[]="feed"'
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io"
)
func main() {
url := "https://api.okocrm.com/v2/contacts"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("name", "Carlton Corwin")
_ = writer.WriteField("user_id", "1")
_ = writer.WriteField("phones[][phone]", "204-857-4763")
_ = writer.WriteField("emails[][email]", "[email protected]")
_ = writer.WriteField("tags[]", "HDD")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer {{токен}}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'api.okocrm.com',
'path': '/v2/contacts',
'headers': {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nShelia Sawayn\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"user_id\"\r\n\r\n1\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"phones[][phone]\"\r\n\r\n201-325-1196\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"emails[][email]\"\r\n\r\[email protected]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"tags[]\"\r\n\r\nrepurpose\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
req.write(postData);
req.end();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.okocrm.com/v2/contacts',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('name' => 'Domingo Huel','user_id' => '1','phones[][phone]' => '599-318-0994','emails[][email]' => '[email protected]','tags[]' => 'Cambridgeshire'),
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Authorization: Bearer {{токен}}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://api.okocrm.com/v2/contacts"
payload = {'name': 'Lana Raynor',
'user_id': '1',
'phones[][phone]': '568-371-6852',
'emails[][email]': '[email protected]',
'tags[]': 'partnerships'}
files=[
]
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Изменить контакт
В передаваемый список полей добавляются уникальные, для каждого клиента, поля которые настраиваются в системе
Удалить контакт
Привязка сущностей
Компании
Список компаний
В списке возвращаемых полей, динамически выводятся дополнительные поля, которые являются уникальными у каждого клиента, в зависимости от настроек
Получить компанию
В списке возвращаемых полей, динамически выводятся дополнительные поля, которые являются уникальными у каждого клиента, в зависимости от настроек
Добавить компанию
В передаваемый список полей добавляются уникальные, для каждого клиента, поля которые настраиваются в системе
curl --location 'https://api.okocrm.com/v2/companies' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{токен}}' \
--form 'name="Boyd Hodkiewicz"' \
--form 'user_id="1"' \
--form 'phones[][phone]="546-722-7423"' \
--form 'emails[][email]="[email protected]"' \
--form 'tags[]="transmit"'
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io"
)
func main() {
url := "https://api.okocrm.com/v2/companies"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("name", "Brian Stoltenberg")
_ = writer.WriteField("user_id", "1")
_ = writer.WriteField("phones[][phone]", "765-323-5658")
_ = writer.WriteField("emails[][email]", "[email protected]")
_ = writer.WriteField("tags[]", "deposit")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer {{токен}}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'api.okocrm.com',
'path': '/v2/companies',
'headers': {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nSuzanne DuBuque\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"user_id\"\r\n\r\n1\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"phones[][phone]\"\r\n\r\n730-602-9619\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"emails[][email]\"\r\n\r\[email protected]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"tags[]\"\r\n\r\nCustomizable\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
req.write(postData);
req.end();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.okocrm.com/v2/companies',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('name' => 'Roland Schneider','user_id' => '1','phones[][phone]' => '962-994-0760','emails[][email]' => '[email protected]','tags[]' => 'deposit'),
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Authorization: Bearer {{токен}}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://api.okocrm.com/v2/companies"
payload = {'name': 'Winston Anderson Jr.',
'user_id': '1',
'phones[][phone]': '856-699-9699',
'emails[][email]': '[email protected]',
'tags[]': 'Clothing'}
files=[
]
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Изменить компанию
В передаваемый список полей добавляются уникальные, для каждого клиента, поля которые настраиваются в системе
Удалить компанию
Привязка сущностей
Сделки
Список сделок
В списке возвращаемых полей, динамически выводятся дополнительные поля, которые являются уникальными у каждого клиента, в зависимости от настроек
Получить сделку
В списке возвращаемых полей, динамически выводятся дополнительные поля, которые являются уникальными у каждого клиента, в зависимости от настроек
Создать сделку
В передаваемый список полей добавляются уникальные, для каждого клиента, поля которые настраиваются в системе
curl --location 'https://api.okocrm.com/v2/leads' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{токен}}' \
--form 'name="Est aut tenetur est quas ratione sed cum assumenda magni."' \
--form 'pipeline_id="2"' \
--form 'stages_id="4"' \
--form 'contact[name]="Mamie Kuhic MD"' \
--form 'contact[phone]="401-567-9280"' \
--form 'responsible="queue_24"' \
--form 'ip="122.193.218.217"' \
--form 'note[text]="Odit et et omnis eos natus hic reiciendis voluptatem.
Nobis sed iste est commodi.
Dolorem impedit quam error fuga in quas.
Ad rerum laboriosam magnam voluptate quo rerum voluptate."' \
--form 'tags[]="Accounts"'
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io"
)
func main() {
url := "https://api.okocrm.com/v2/leads"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("name", "Possimus enim consequuntur et id delectus.")
_ = writer.WriteField("pipeline_id", "2")
_ = writer.WriteField("stages_id", "4")
_ = writer.WriteField("contact[name]", "Sherman Kozey")
_ = writer.WriteField("contact[phone]", "539-688-0071")
_ = writer.WriteField("responsible", "queue_24")
_ = writer.WriteField("ip", "132.104.170.251")
_ = writer.WriteField("note[text]", "Totam officia saepe.\nOfficia quia quia aut possimus commodi tempore porro officia.\nItaque aliquid eos ratione.\nAb consectetur ratione.\nEius aut voluptas perferendis.")
_ = writer.WriteField("tags[]", "connect")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer {{токен}}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'api.okocrm.com',
'path': '/v2/leads',
'headers': {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"name\"\r\n\r\nVelit molestias et mollitia magni vel.\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"pipeline_id\"\r\n\r\n2\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"stages_id\"\r\n\r\n4\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"contact[name]\"\r\n\r\nBrent Williamson\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"contact[phone]\"\r\n\r\n630-983-5879\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"responsible\"\r\n\r\nqueue_24\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"ip\"\r\n\r\n88.155.126.255\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"note[text]\"\r\n\r\nVoluptatem magnam voluptatem minima repellat earum voluptas.
Veritatis assumenda eos reprehenderit enim maxime ratione.
Rerum modi earum beatae tempora.
Dolor laudantium nesciunt deleniti ut qui qui.\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"tags[]\"\r\n\r\n24\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
req.write(postData);
req.end();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.okocrm.com/v2/leads',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('name' => 'Possimus aut nihil accusamus recusandae aliquid recusandae.','pipeline_id' => '2','stages_id' => '4','contact[name]' => 'Francis Gulgowski','contact[phone]' => '812-503-8537','responsible' => 'queue_24','ip' => '124.155.223.111','note[text]' => 'Similique non corporis sed sed mollitia.
Corrupti veritatis voluptas perspiciatis maiores vitae est.','tags[]' => 'explicit'),
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Authorization: Bearer {{токен}}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://api-dev.okocrm.com/v2/leads"
payload = {'name': 'Eum aut amet voluptas tenetur dolore unde.',
'pipeline_id': '2',
'stages_id': '4',
'contact[name]': 'Delia Leffler',
'contact[phone]': '472-249-4705',
'responsible': 'queue_24',
'ip': '179.205.211.141',
'note[text]': 'Repellendus illum alias perferendis sed aut ipsa sed modi doloremque.
Quidem laudantium repellendus minima praesentium mollitia voluptas.
A minima ducimus qui quia.',
'tags[]': 'Focused'}
files=[
]
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
Изменить сделку
В передаваемый список полей добавляются уникальные, для каждого клиента, поля которые настраиваются в системе
Удалить сделку
Привязка сущностей
Воронки
Список воронок
Этапы воронок
Список этапов
Задачи
Список задач
Создать задачу
curl --location 'https://api.okocrm.com/v2/tasks/' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{токен}}' \
--form 'lead_id="{lead_id}"' \
--form 'contact_id="{contact_id}"' \
--form 'company_id="{company_id}"' \
--form 'type_id="2"' \
--form 'text="Consequatur et repellendus voluptatem. Quas assumenda autem maiores. Harum ea expedita totam fugit similique maxime officiis dolorum. Esse error sint quam voluptatem dolores nisi consectetur nisi aut. Explicabo distinctio reiciendis."' \
--form 'executor_id="76"' \
--form 'date_start="2022-03-29 10:10"' \
--form 'date_finish="2022-03-29 12:10"'
package main
import (
"fmt"
"bytes"
"mime/multipart"
"net/http"
"io"
)
func main() {
url := "https://api.okocrm.com/v2/tasks/"
method := "POST"
payload := &bytes.Buffer{}
writer := multipart.NewWriter(payload)
_ = writer.WriteField("lead_id", "{lead_id}")
_ = writer.WriteField("contact_id", "{contact_id}")
_ = writer.WriteField("company_id", "{company_id}")
_ = writer.WriteField("type_id", "2")
_ = writer.WriteField("text", "Quaerat blanditiis earum maxime consequatur voluptatem et ut exercitationem. Animi magnam aut itaque autem et tempore fugiat. Corporis nisi distinctio.")
_ = writer.WriteField("executor_id", "76")
_ = writer.WriteField("date_start", "2022-03-29 10:10")
_ = writer.WriteField("date_finish", "2022-03-29 12:10")
err := writer.Close()
if err != nil {
fmt.Println(err)
return
}
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Accept", "application/json")
req.Header.Add("Authorization", "Bearer {{токен}}")
req.Header.Set("Content-Type", writer.FormDataContentType())
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': 'api.okocrm.com',
'path': '/v2/tasks/',
'headers': {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = "------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"lead_id\"\r\n\r\n{lead_id}\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"contact_id\"\r\n\r\n{contact_id}\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"company_id\"\r\n\r\n{company_id}\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"type_id\"\r\n\r\n2\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"text\"\r\n\r\nAccusantium non sit ipsa totam cupiditate non et nostrum. Nesciunt excepturi possimus necessitatibus itaque nostrum fuga aut ad fugit. Eum ex vero reprehenderit incidunt quia. Error dolor deleniti eos. Totam consectetur quae animi debitis. Et et natus debitis numquam.\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"executor_id\"\r\n\r\n76\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"date_start\"\r\n\r\n2022-03-29 10:10\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name=\"date_finish\"\r\n\r\n2022-03-29 12:10\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--";
req.setHeader('content-type', 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW');
req.write(postData);
req.end();
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.okocrm.com/v2/tasks/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('lead_id' => '{lead_id}','contact_id' => '{contact_id}','company_id' => '{company_id}','type_id' => '2','text' => 'Mollitia sunt illo ab quae qui. Earum enim aut. Fuga molestiae tenetur aut eaque voluptas cum accusantium rem. Aut officia harum molestiae. Magnam rerum omnis consequatur tenetur laudantium mollitia. Tenetur similique ex veritatis ipsa est.','executor_id' => '76','date_start' => '2022-03-29 10:10','date_finish' => '2022-03-29 12:10'),
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Authorization: Bearer {{токен}}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
import requests
url = "https://api.okocrm.com/v2/tasks/"
payload = {'lead_id': '{lead_id}',
'contact_id': '{contact_id}',
'company_id': '{company_id}',
'type_id': '2',
'text': 'Nulla quasi vitae. Magnam laborum dolore aut id rerum tempore recusandae. Explicabo harum sed. Non tempore quidem exercitationem voluptate dignissimos atque nisi.',
'executor_id': '76',
'date_start': '2022-03-29 10:10',
'date_finish': '2022-03-29 12:10'}
files=[
]
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {{токен}}'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)