Приклад на PHP
Зміст#1. Створення угоди#2. Створення контрагента#3. Приєднання форм, які створенні через плагін Contact Form 7 для WordPress з додаванням фіксованого товару#4. Створення завданняДодаткова інформація
#1. Створення угоди
- Тут вказано можливі приклади запитів, додаткові параметри описані в документації на Swagger.
- В X-Auth-Token вказується особистий API-ключ
$products_list = array (
0 => array (
'amount' => 2,
'title' => 'Товар #1',
'product_attributes' => array (
'sku' => '2123123',
'title' => 'Товар #1',
'price' => 100
)
)
);
$order_details = array (
'title' => 'Назва угоди',
'comment' => 'Коментар клієнта',
'stage_id' => 21,
'source_id' => 8,
'client_attributes' => array (
'person' => 'Олексій',
'email' => '[email protected]',
'lead' => false,
'phones' => array (
0 => '+380991112233'
)
),
'jobs_attributes' => $products_list,
'custom_fields' => array (
0 => array (
'name' => 'Адреса',
'value' => 'Україна, м. Київ'
)
)
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.keepincrm.com/v1/agreements');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json','X-Auth-Token: API-ключ','Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($order_details));
curl_exec($curl);
curl_close($curl);
#2. Створення контрагента
$client_details = array (
'email' => '[email protected]',
'company' => 'Назва компанії',
'comment' => 'Коментар',
'lead' => true,
'source_id' => 5,
'phones' => array (
0 => '+380991112233',
)
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.keepincrm.com/v1/clients');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json', 'X-Auth-Token: API-ключ', 'Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($client_details));
curl_exec($curl);
curl_close($curl);
#3. Приєднання форм, які створенні через плагін Contact Form 7 для WordPress з додаванням фіксованого товару
- В if вказується ID форми, яка приєднується
add_action("wpcf7_before_send_mail", function ($cf7) {
$submission = WPCF7_Submission::get_instance();
$posted_data = $submission->get_posted_data();
if ($cf7->id == 90) {
$products_list_example = array();
$products_list_example[0] = array (
'amount' => 1,
'title' => 'Назва товару',
'product_attributes' => array (
'sku' => '44kk4k4',
'title' => 'Назва товару',
'price' => 300,
'currency' => 'USD',
)
);
$order_details = array (
'title' => 'Назва угоди',
'main_responsible_id' => 25,
'client_attributes' => array (
'person' => 'Олексій',
'email' => '[email protected]',
'lead' => true,
),
'jobs_attributes' => $products_list_example
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.keepincrm.com/v1/agreements');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json', 'X-Auth-Token: API-ключ', 'Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($order_details));
curl_exec($curl);
curl_close($curl);
} else if ($cf7->id == 84) {
$products_list_second = array();
$products_list_second[0] = array (
'amount' => 2,
'title' => 'Назва товару-послуги',
'product_attributes' => array (
'sku' => '3494',
'title' => 'Назва товару-послуги',
'price' => 1200,
'currency' => 'UAH',
)
);
$order_details = array (
'title' => 'Назва угоди',
'main_responsible_id' => 3,
'client_attributes' => array (
'person' => 'Олексій',
'email' => '[email protected]',
'lead' => true,
),
'jobs_attributes' => $products_list_second
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.keepincrm.com/v1/agreements');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json', 'X-Auth-Token: API-ключ', 'Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($order_details));
curl_exec($curl);
curl_close($curl);
}
});
#4. Створення завдання
$task_details = array (
'title' => 'Назва завдання',
'comment' => 'Коментар',
'source_id' => 7,
'client_attributes' => array (
'person' => 'ПІБ клієнта',
'email' => '[email protected]',
'lead' => true,
'phones' => array (
0 => '+380991112233',
),
),
'custom_fields' => array (
0 => array (
'name' => 'Назва поля',
'value' => 'Значення поля'
)
)
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.keepincrm.com/v1/tasks');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Accept: application/json', 'X-Auth-Token: API-ключ', 'Content-Type: application/json'));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($task_details));
curl_exec($curl);
curl_close($curl);
Додаткова інформація
- API доступно тільки на розширеному тарифі
- Якщо виникає помилка CORS, то це означає, що невірно реалізована передача даних. Потрібно передавати інформацію на backend частині, не через frontend
- Журнал API запитів відображається в розділі: API
Оновлено 26.09.2024