Как добавить номер телефона в CRM Bitrix24 при создании нового лида?

У меня есть функция, которая отправляет данные в CRM-систему при заполнении и отправке формы. Однако, несмотря на все усилия, номер телефона не передаётся в систему. Можете подсказать, в чем может быть проблема? 
<pre><code class="javascript">function sendToBitrix(service, phone) {
        const url =
          "https://zapo.bitrix24.ru/rest/1/jsa0ahljinjt0rbj/crm.deal.add.json";

        const data = {
          fields: {
            TITLE: `Заявка на СТО: Город - ${service.region}, Имя СТО - ${service.name}, ID СТО - ${service.oid}`,
            PHONE: [{ VALUE: phone, VALUE_TYPE: "WORK" }],
            COMMENTS: `
              ID СТО: ${service.oid}| 
              Название СТО: ${service.name}| 
              Полный адрес: ${service.region}, ${service.address}| 
              Приоритет: ${service.priority}| 
              Рейтинг: ${service.rating}| 
              Координаты: ${service.coordinates[0]}, ${service.coordinates[1]}| 
              Часы работы: ${service.workingHours}
            `,
            TYPE_ID: "SERVICES",
            CATEGORY_ID: 0,
            STAGE_ID: "NEW",
            OPENED: "Y",
          },
          params: {
            REGISTER_SONET_EVENT: "Y",
          },
        };</code></pre>
  • 10 декабря 2024 г. 20:53
Ответы на вопрос 1
Для того чтобы корректно передавать номер телефона в CRM Bitrix24 при создании нового лида, необходимо убедиться, что вы правильно формируете запрос и передаваемые данные.

Судя по вашему коду, вы используете метод `crm.deal.add`, который предназначен для создания сделки. Однако, номера телефонов следует передавать в формате, который ожидает Bitrix24, и убедиться, что данное поле правильно идентифицировано. В вашем случае вместо передачи поля `PHONE` как часть `fields`, возможно, стоит использовать `PHONE` так, как прописано в документации по REST API Bitrix24.

Вот возможная корректировка для передачи номера телефона:

```javascript
function sendToBitrix(service, phone) {
    const url =
      "https://zapo.bitrix24.ru/rest/1/jsa0ahljinjt0rbj/crm.deal.add.json";

    const data = {
      fields: {
        TITLE: `Заявка на СТО: Город - ${service.region}, Имя СТО - ${service.name}, ID СТО - ${service.oid}`,
        PHONE: [{ VALUE: phone, VALUE_TYPE: "WORK" }], // Убедитесь, что формат здесь правильный
        COMMENTS: `
          ID СТО: ${service.oid}| 
          Название СТО: ${service.name}| 
          Полный адрес: ${service.region}, ${service.address}| 
          Приоритет: ${service.priority}| 
          Рейтинг: ${service.rating}| 
          Координаты: ${service.coordinates[0]}, ${service.coordinates[1]}| 
          Часы работы: ${service.workingHours}
        `,
        TYPE_ID: "SERVICES",
        CATEGORY_ID: 0,
        STAGE_ID: "NEW",
        OPENED: "Y",
      },
      params: {
        REGISTER_SONET_EVENT: "Y",
      },
    };

    // Здесь вам нужно будет выполнить запрос
    fetch(url, {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify(data),
    })
    .then(response => response.json())
    .then(result => {
      console.log("Success:", result);
    })
    .catch(error => {
      console.error("Error:", error);
    });
}
```

### Возможные проблемы:
1. **Неверный URL**: Проверьте, что ваш URL включает правильный домен и код доступа.
2. **Неправильный тип номера**: Убедитесь, что `VALUE_TYPE` установлен корректно. Вы можете попробовать использовать разные типы, такие как `MOBILE`, `HOME` и т. д.
3. **Неправильные данные**: Убедитесь, что переменная `phone` содержит корректный номер телефона. Попробуйте вывести его в консоль перед отправкой.
4. **Ошибки в ответе API**: Проверьте ответ API после выполнения запроса, это может дать подсказки о том, что может быть не так.
5. **CORS**: Если вы используете этот код на клиентской стороне (например, в браузере), проверьте, не блокирует ли CORS ваш запрос.

Проверьте эти аспекты и попробуйте ещё раз отправить данные.
Похожие вопросы