PHP code example of andrey-tech / bitrix24-api-php
1. Go to this page and download the library: Download andrey-tech/bitrix24-api-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
andrey-tech / bitrix24-api-php example snippets
use App\Bitrix24\Bitrix24API;
use App\Bitrix24\Bitrix24APIException;
try {
$webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/';
$bx24 = new Bitrix24API($webhookURL);
// Добавляем новую сделку
$dealId = $bx24->addDeal([
'TITLE' => 'Новая сделка №1',
'COMPANY_ID' => 6,
'CONTACT_ID' => 312
]);
print_r($dealId);
// Устанавливаем набор связанных контактов
$bx24->setDealContactItems($dealId, [
[ 'CONTACT_ID' => 313 ],
[ 'CONTACT_ID' => 454 ]
]);
// Устанавливаем набор связанных товарных позиций
$bx24->setDealProductRows($dealId, [
[ 'PRODUCT_ID' => 1689, 'PRICE' => 1500.00, 'QUANTITY' => 2 ],
[ 'PRODUCT_ID' => 1860, 'PRICE' => 500.00, 'QUANTITY' => 15 ]
]);
// Обновляем существующую сделку
$bx24->updateDeal($dealId, [
'TITLE' => 'Новая сделка №12'
]);
// При необходимости, изменяем значение по умолчанию 'PRODUCTS' на '_PRODUCTS' для имени поля
// со списком товарных позиций, возвращаемых вместе со сделкой
Bitrix24API::$WITH_PRODUCTS = '_PRODUCTS';
// Загружаем сделку по ID вместе со связанными товарами и контактами одним запросом
$deal = $bx24->getDeal($dealId, [ Bitrix24API::$WITH_PRODUCTS, Bitrix24API::$WITH_CONTACTS ]);
print_r($deal);
// Удаляем существующую сделку
$bx24->deleteDeal($dealId);
// Загружаем все сделки используя быстрый метод при работе с большими объемами данных
$generator = $bx24->fetchDealList();
foreach ($generator as $deals) {
foreach($deals as $deal) {
print_r($deal);
}
}
// Пакетно добавляем сделки вместе с товарными позициями
$dealIds = $bx24->addDeals([
[
'TITLE' => 'Новая сделка №1121',
'COMPANY_ID' => 6,
'CONTACT_ID' => 312,
'PRODUCTS' => [
[ "PRODUCT_ID" => 27, "PRICE" => 100.00, "QUANTITY" => 11 ],
]
],
[
'TITLE' => 'Новая сделка №1122',
'COMPANY_ID' => 6,
'PRODUCTS' => [
[ "PRODUCT_ID" => 28, "PRICE" => 200.00, "QUANTITY" => 22 ],
[ "PRODUCT_ID" => 27, "PRICE" => 200.00, "QUANTITY" => 11 ],
]
]
]);
print_r($dealIds);
// Пакетно удаляем сделки
$bx24->deleteDeals($dealIds);
} catch (Bitrix24APIException $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
} catch (Exception $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
}
use App\Bitrix24\Bitrix24API;
use App\Bitrix24\Bitrix24APIException;
try {
$webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/';
$bx24 = new Bitrix24API($webhookURL);
// Добавляем новый контакт
$contactId = $bx24->addContact([
'NAME' => 'Иван',
'COMPANY_ID' => 332,
'SECOND_NAME' => 'Васильевич',
'LAST_NAME' => 'Петров'
]);
print_r($contactId);
// Устанавливаем набор связанных компаний
$bx24->setContactCompanyItems($contactId, [
[ 'COMPANY_ID' => 8483 ],
[ 'CONPANY_ID' => 4094 ]
]);
// Обновляем существующий контакт
$bx24->updateContact($contactId, [
'NAME' => 'Фёдор'
]);
// Загружаем контакт по ID вместе со связанными компаниями
$contact = $bx24->getContact($contactId, [ Bitrix24API::$WITH_COMPANIES ]);
print_r($contact);
// Удаляем существующий контакт
$bx24->deleteContact($contactId);
// Загружаем все контакты используя быстрый метод при работе с большими объемами данных
$generator = $bx24->fetchContactList();
foreach ($generator as $contacts) {
foreach($contacts as $contact) {
print_r($contact);
}
}
// Пакетно добавляем контакты
$contactIds = $bx24->addContacts([
[
'NAME' => 'Владимир',
'COMPANY_ID' => 3322,
'SECOND_NAME' => 'Вадимович',
'LAST_NAME' => 'Владимиров'
],
[
'NAME' => 'Андрей',
'COMPANY_ID' => 1332,
'SECOND_NAME' => 'Васильевич',
'LAST_NAME' => 'Иванов'
]
]);
print_r($contactIds);
// Пакетно удаляем контакты
$bx24->deleteContacts($contactIds);
} catch (Bitrix24APIException $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
} catch (Exception $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
}
use App\Bitrix24\Bitrix24API;
use App\Bitrix24\Bitrix24APIException;
try {
$webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/';
$bx24 = new Bitrix24API($webhookURL);
// Добавляем новую компанию
$companyId = $bx24->addCompany([
'TITLE' => 'OOO Рога и Копыта'
]);
print_r($companyId);
// Устанавливаем набор связанных контактов
$bx24->setCompanyContactItems($companyId, [
[ 'CONTACT_ID' => 4838 ],
[ 'CONTACT_ID' => 8583 ]
]);
// Обновляем существующую компанию
$bx24->updateCompany($companyId, [
'TITLE' => 'ИП Рога и Копыта'
]);
// Загружаем компанию по ID вместе со связанными контактами
$company = $bx24->getCompany($companyId, [ Bitrix24API::$WITH_CONTACTS ]);
print_r($company);
// Удаляем существующую компанию
$bx24->deleteCompany($companyId);
// Загружаем все компании используя быстрый метод при работе с большими объемами данных
$generator = $bx24->fetchCompanyList();
foreach ($generator as $companies) {
foreach($companies as $company) {
print_r($company);
}
}
// Пакетно добавляем компании
$companyIds = $bx24->addCompanies([
[ 'TITLE' => 'ПАО Абракадабра' ],
[ 'TITLE' => 'ЗАО Моя компания' ]
]);
print_r($companyIds);
// Пакетно удаляем компании
$bx24->deleteCompanies($companyIds);
} catch (Bitrix24APIException $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
} catch (Exception $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
}
use App\Bitrix24\Bitrix24API;
use App\Bitrix24\Bitrix24APIException;
try {
$webhookURL = 'https://www.example.com/rest/1/u7ngxagzrhpuj31a/';
$bx24 = new Bitrix24API($webhookURL);
// Загружаем все товарные каталоги используя быстрый метод при работе с большими объемами данных
$generator = $bx24->fetchCatalogList();
foreach ($generator as $catalogs) {
foreach($catalogs as $catalog) {
print_r($catalog);
}
}
} catch (Bitrix24APIException $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
} catch (Exception $e) {
printf('Ошибка (%d): %s' . PHP_EOL, $e->getCode(), $e->getMessage());
}