---
title: "Как добавить телефон или почту к существующему контакту Битрикс24 через REST API - WebTolk"
description: "Примеры php кода, позволяющего добавить дополнительный телефон или email в сущность контакта CRM Битрикс 24  через REST API"
url: "https://web-tolk.ru/blog/kak-dobavit-telefon-ili-pochtu-k-sushchestvuyushchemu-kontaktu-bitriks24-cherez-rest-api"
date: "2020-04-28T04:41:04+00:00"
language: "ru-RU"
---

# Как добавить телефон или почту к существующему контакту Битрикс24 через REST API

 Автор: Сергей Толкачев Создано: 28 апреля 2020 Обновлено: 01 сентября 2025 Просмотров: 12819    ![Логотип Битрикс24 REST API, логотип Joomla, Как добавить телефон или почту к существующему контакту Битрикс24 через REST API](https://web-tolk.ru/blog/images/blog/kak-dobavit-telefon-ili-pochtu-k-sushchestvuyushchemu-kontaktu-bitriks24-cherez-rest-api/header-1200x525.jpg)

В процессе разработки интеграций Joomla с CRM Битрикс24 столкнулся с тем, что официальная документация по REST API для Битрикс24 неполная и не отражает всех возможных инструментов работы с CRM, к тому же разные версии документации содержат разные примеры, а порой и артефакты устаревшего синтаксиса. Поэтому немало способов решения задач находится эмпирически.

Для связи с Битрикс24 используем их PHP библиотеку [CRest](https://github.com/bitrix-tools/crest), предварительно настроенную.

 **Задача:**Проверить есть ли у контакта e-mail или номер телефона.

```
$find_doubles = [
	            'find_doubles_by_phone' => [        //Поиск дублей по телефону
	                'method' => 'crm.duplicate.findbycomm',
	                'params' => [
		                "type" => "PHONE",
		                "values" => [+79000000000] //Это массив вида [0] - '+79000000000'
	                ],
	            ],
	            'find_doubles_by_email' => [        //Поиск дублей по email
		            'method' => 'crm.duplicate.findbycomm',
		            'params' => [
			            "type" => "EMAIL",
			            "values" => [info @123.ru]  //Это массив вида [0] - 'info @123.ru'
		            ]
	            ]
	        ];

	    $find_doublesBitrix24 = CRest::callBatch($find_doubles); //Пакетный вызов
```

На выходе получаем массив следующего вида:

```
Array
(
    [result] => Array
        (
            [result] => Array
                (
                    [find_doubles_by_phone] => Array
                        ( // Пустой массив означает, что совпадений нет
                        )

                    [find_doubles_by_email] => Array
                        (
                            [LEAD] => Array  //Список id лидов с этим email
                                (
                                    [0] => 1
                                    [1] => 5
                                    [2] => 7
                                    [3] => 9
                                    [4] => 11
                                    [5] => 13
                                    [6] => 15
                                    [7] => 17
                                    [8] => 19
                                    [9] => 21
                                    [10] => 23
                                    [11] => 27
                                    [12] => 29
                                    [13] => 31
                                    [14] => 33
                                )

                            [CONTACT] => Array //Список id контактов с этим email
                                (
                                    [0] => 15
                                )

                        )

                )

            [result_error] => Array
                (
                )

            [result_total] => Array
                (
                )

            [result_next] => Array
                (
                )

            [result_time] => Array
                (
                    [find_doubles_by_phone] => Array
                        (
                            [start] => 1588045394.5629
                            [finish] => 1588045394.5661
                            [duration] => 0.003209114074707
                            [processing] => 0.0031490325927734
                            [date_start] => 2020-04-28T06:43:14+03:00
                            [date_finish] => 2020-04-28T06:43:14+03:00
                        )

                    [find_doubles_by_email] => Array
                        (
                            [start] => 1588045394.5661
                            [finish] => 1588045394.5676
                            [duration] => 0.0015058517456055
                            [processing] => 0.0014550685882568
                            [date_start] => 2020-04-28T06:43:14+03:00
                            [date_finish] => 2020-04-28T06:43:14+03:00
                        )

                )

        )

    [time] => Array
        (
            [start] => 1588045394.5317
            [finish] => 1588045394.5677
            [duration] => 0.035916090011597
            [processing] => 0.0048708915710449
            [date_start] => 2020-04-28T06:43:14+03:00
            [date_finish] => 2020-04-28T06:43:14+03:00
        )

)
```

Метод `crm.duplicate.findbycomm` [позволяет](https://dev.1c-bitrix.ru/rest_help/crm/auxiliary/duplicates/crm_duplicate_findbycomm.php) ограничить область поиска, если указать параметр `entity_type.`

 **Задача №2**Добавить к контакту новый email или телефон.

```
$b24contact_id = $find_doublesBitrix24["result"]["result"]["find_doubles_by_phone"]["CONTACT"][0]

$req_crm_contact_fields = CRest::call(
		 "crm.contact.update",[
		 'ID'    => $b24contact_id,
		 'fields'=>[
			 'PHONE' => [
				    'n0' => [
					 'VALUE' => $new_phone, //В этой переменной находится собственно номер телефона, строка
					 'TYPE' => 'WORK'
				    ]
			    ]
		    ]
		 ]
	 );
```

Параметр `ID` (контакта) должен быть указан за пределами `"fields".` Обратите внимание на строку 6: при редактировании лида таким образом не нужно вычислять порядковый номер телефона или почты **n0, n1, n2**. Достаточно просто передать массив с контактными данными так же, как при создании лида. В документации Битрикс24 для изменения данных контакта обязательно требовалось указывать внутренний ID изменяемого поля, для получения которого создавался дополнительный запрос. В нашем случае этого поля еще нет, поэтому его ID получить невозможно. А значит и нет необходимости указывать порядковый номер телефона или почты.

## Об авторе

![Толкачев Сергей Юрьевич](https://web-tolk.ru/images/uslugi/sergey-tolkachyov-apr-2023.webp)

### Толкачев Сергей Юрьевич

Joomla-разработчик. [Контрибьютер ядра Joomla](https://github.com/joomla/joomla-cms/pulls?q=is%3Apr+author%3Asergeytolkachyov+). Один из ведущих Telegram-канала русскоязычного Joomla-сообщества [JoomlaFeed](https://t.me/joomlafeed), один из модераторов [чата русскоязычного Joomla-сообщества](https://t.me/joomlaru). Мои расширения в официальном маркетплейсе расширений Joomla - [Joomla Extensions Directory](https://extensions.joomla.org/profile/profile/details/528051/). Имею публикации в [официальном журнале международного Joomla-сообщества - Joomla Community Magazine](https://magazine.joomla.org/authors/sergeytolkachyov) и на [официальном сайте русскоязычного Joomla-сообщества](https://joomlaportal.ru/users/sergey-tolkachyov).

Муж. Отец 3 детей.

Россия, Саратов.

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@id": "https://web-tolk.ru/",
                "name": "Главная"
            }
        },
        {
            "@type": "ListItem",
            "position": 2,
            "item": {
                "@id": "https://web-tolk.ru/blog",
                "name": "Блог"
            }
        },
        {
            "@type": "ListItem",
            "position": 3,
            "item": {
                "name": "Как добавить телефон или почту к существующему контакту Битрикс24 через REST API"
            }
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://web-tolk.ru/#/schema/Organization/base",
            "name": "WebTolk",
            "url": "https://web-tolk.ru/",
            "logo": {
                "@type": "ImageObject",
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo",
                "url": "images/webtolk-1080p.jpg",
                "contentUrl": "images/webtolk-1080p.jpg",
                "width": 1920,
                "height": 1080
            },
            "image": {
                "@id": "https://web-tolk.ru/#/schema/ImageObject/logo"
            },
            "sameAs": [
                "https://github.com/WebTolk",
                "https://github.com/sergeytolkachyov",
                "https://vk.com/web_tolk",
                "https://vk.com/webtolkru",
                "https://tenchat.ru/sergeytolkachyov",
                "https://t.me/sergeytolkachyov",
                "https://t.me/webtolkru"
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://web-tolk.ru/#/schema/WebSite/base",
            "url": "https://web-tolk.ru/",
            "name": "WebTolk",
            "publisher": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            }
        },
        {
            "@type": "WebPage",
            "@id": "https://web-tolk.ru/#/schema/WebPage/base",
            "url": "https://web-tolk.ru/blog/kak-dobavit-telefon-ili-pochtu-k-sushchestvuyushchemu-kontaktu-bitriks24-cherez-rest-api",
            "name": "Как добавить телефон или почту к существующему контакту Битрикс24 через REST API - WebTolk",
            "description": "Примеры php кода, позволяющего добавить дополнительный телефон или email в сущность контакта CRM Битрикс 24  через REST API",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebSite/base"
            },
            "about": {
                "@id": "https://web-tolk.ru/#/schema/Organization/base"
            },
            "inLanguage": "ru-RU",
            "breadcrumb": {
                "@id": "https://web-tolk.ru/#/schema/BreadcrumbList/17"
            }
        },
        {
            "@type": "Article",
            "@id": "https://web-tolk.ru/#/schema/com_content/article/29",
            "isPartOf": {
                "@id": "https://web-tolk.ru/#/schema/WebPage/base"
            }
        }
    ]
}
```
