1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-25 21:39:21 +02:00

B24: Тесты и перевод блока лидов

This commit is contained in:
Anton 2024-08-22 20:32:05 +03:00
parent db0c4328ef
commit 501791d52b
74 changed files with 7492 additions and 4480 deletions

View File

@ -1092,6 +1092,10 @@ jobs:
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_УправлениеПользователями"
- name: Работа с лидами
if: ${{ cancelled() }} == false
run: oscript /home/runner/.local/share/ovm/current/lib/1testrunner/src/main.os -run ./src/ru/OInt/tests/Modules/internal/OPI_Тесты.os "Б24_РаботаСЛидами"
- name: Записать логи
if: ${{ cancelled() }} == false
uses: actions/cache/save@v3

View File

@ -0,0 +1 @@
oint bitrix24 CreateLead --url "b24-ar17wx.bitrix24.by" --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 DeleteLead --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 GetLead --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 GetLeadFilterStructure --empty %empty%

View File

@ -0,0 +1 @@
oint bitrix24 GetLeadStructure --url "b24-ar17wx.bitrix24.by" --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 GetLeadsList --url "b24-ar17wx.bitrix24.by" --filter %filter% --offset %offset% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 UpdateLead --url "b24-ar17wx.bitrix24.by" --lead %lead% --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1,4 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"Token": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,5 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"LeadID": "",
"Token": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,5 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"LeadID": "",
"Token": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"Token": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"Token": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,5 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"LeadID": "",
"Token": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,27 @@
 EmailsArray = New Array;
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
PhonesArray = New Array;
PhonesArray.Add(New Structure("VALUE,VALUE_TYPE", "88005553535", "WORK"));
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Pushkin st., b. 10");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Russia");
FieldsStructure.Insert("EMAIL" , EmailsArray);
FieldsStructure.Insert("NAME" , "John");
FieldsStructure.Insert("LAST_NAME" , "Doe");
FieldsStructure.Insert("PHONE" , PhonesArray);
FieldsStructure.Insert("TITLE" , "MegaClient");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure);
FieldsStructure.Insert("NAME" , "Ivan");
FieldsStructure.Insert("LAST_NAME" , "Ivanov");
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure, Token);

View File

@ -0,0 +1,10 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
LeadID = "";
Result = OPI_Bitrix24.DeleteLead(URL, LeadID);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
LeadID = "";
Result = OPI_Bitrix24.DeleteLead(URL, LeadID, Token);

View File

@ -0,0 +1,10 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
LeadID = "";
Result = OPI_Bitrix24.GetLead(URL, LeadID);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
LeadID = "";
Result = OPI_Bitrix24.GetLead(URL, LeadID, Token);

View File

@ -0,0 +1 @@
 Result = OPI_Bitrix24.GetLeadFilterStructure();

View File

@ -0,0 +1,8 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Result = OPI_Bitrix24.GetLeadStructure(URL);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
Result = OPI_Bitrix24.GetLeadStructure(URL, Token);

View File

@ -0,0 +1,12 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Result = OPI_Bitrix24.GetLeadsList(URL);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
Filter = New Structure;
Filter.Insert("TITLE" , "MegaClient");
Filter.Insert("HAS_EMAIL", "Y");
Result = OPI_Bitrix24.GetLeadsList(URL, Filter, ,Token);

View File

@ -1,4 +1,4 @@
 // Full filter structer you can find at GetTasksFilterStructure method
 // Full filter structure you can find at GetTasksFilterStructure method
Filter = New Structure;
Filter.Insert("CREATED_BY" , 1);
Filter.Insert("RESPONSIBLE_ID", 10);

View File

@ -0,0 +1,18 @@
 FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Lermontov st., b. 20");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Belarus");
FieldsStructure.Insert("TITLE" , "SuperClient");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
LeadID = "";
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure);
FieldsStructure.Insert("NAME" , "Evgeniy");
FieldsStructure.Insert("LAST_NAME" , "Evgeniev");
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
LeadID = "";
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure, Token);

View File

@ -0,0 +1,69 @@
---
sidebar_position: 1
---
# Create lead
Creates a new lead by fields structure (see GetLeadStructure)
`Function CreateLead(Val URL, Val FieldsStructure, Val Token = "") Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| URL | --url | String | URL of webhook or a Bitrix24 domain, when token used |
| FieldsStructure | --fields | Structure of KeyAndValue | Lead fields structure (see GetLeadStructure) |
| Token | --token | String | Access token, when app auth method used |
Returns: Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
<br/>
:::tip
Method at API documentation: [crm.lead.add](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
:::
<br/>
```bsl title="Code example"
EmailsArray = New Array;
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
PhonesArray = New Array;
PhonesArray.Add(New Structure("VALUE,VALUE_TYPE", "88005553535", "WORK"));
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Pushkin st., b. 10");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Russia");
FieldsStructure.Insert("EMAIL" , EmailsArray);
FieldsStructure.Insert("NAME" , "John");
FieldsStructure.Insert("LAST_NAME" , "Doe");
FieldsStructure.Insert("PHONE" , PhonesArray);
FieldsStructure.Insert("TITLE" , "MegaClient");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure);
FieldsStructure.Insert("NAME" , "Ivan");
FieldsStructure.Insert("LAST_NAME" , "Ivanov");
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure, Token);
```
```sh title="CLI command example"
oint bitrix24 CreateLead --url "b24-ar17wx.bitrix24.by" --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Result"
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 2
---
# Delete lead
Deletes a lead by ID
`Function DeleteLead(Val URL, Val LeadID, Val Token = "") Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| URL | --url | String | URL of webhook or a Bitrix24 domain, when token used |
| LeadID | --lead | Number, String | Task ID |
| Token | --token | String | Access token, when app auth method used |
Returns: Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
<br/>
:::tip
Method at API documentation: [crm.lead.delete](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
:::
<br/>
```bsl title="Code example"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
LeadID = "";
Result = OPI_Bitrix24.DeleteLead(URL, LeadID);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
LeadID = "";
Result = OPI_Bitrix24.DeleteLead(URL, LeadID, Token);
```
```sh title="CLI command example"
oint bitrix24 DeleteLead --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Result"
```

View File

@ -0,0 +1,38 @@
---
sidebar_position: 7
---
# Get lead filter structure
Returns the field structure for filtering leads in the GetLeadsList method
`Function GetLeadFilterStructure(Val Clear = False) Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| Clear | --empty | Boolean | True > structure with empty valuse, False > field descriptions at values |
Returns: Structure of KeyAndValue - Fields structure
<br/>
```bsl title="Code example"
Result = OPI_Bitrix24.GetLeadFilterStructure();
```
```sh title="CLI command example"
oint bitrix24 GetLeadFilterStructure --empty %empty%
```
```json title="Result"
```

View File

@ -0,0 +1,49 @@
---
sidebar_position: 6
---
# Get lead structure
Gets a structure with field descriptions for creating a lead
`Function GetLeadStructure(Val URL, Val Token = "") Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| URL | --url | String | URL of webhook or a Bitrix24 domain, when token used |
| Token | --token | String | Access token, when app auth method used |
Returns: Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
<br/>
:::tip
Method at API documentation: [crm.lead.fields](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
:::
<br/>
```bsl title="Code example"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Result = OPI_Bitrix24.GetLeadStructure(URL);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
Result = OPI_Bitrix24.GetLeadStructure(URL, Token);
```
```sh title="CLI command example"
oint bitrix24 GetLeadStructure --url "b24-ar17wx.bitrix24.by" --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Result"
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 3
---
# Get lead
Gets a lead by ID
`Function GetLead(Val URL, Val LeadID, Val Token = "") Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| URL | --url | String | URL of webhook or a Bitrix24 domain, when token used |
| LeadID | --lead | Number, String | Lead ID |
| Token | --token | String | Access token, when app auth method used |
Returns: Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
<br/>
:::tip
Method at API documentation: [crm.lead.get](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
:::
<br/>
```bsl title="Code example"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
LeadID = "";
Result = OPI_Bitrix24.GetLead(URL, LeadID);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
LeadID = "";
Result = OPI_Bitrix24.GetLead(URL, LeadID, Token);
```
```sh title="CLI command example"
oint bitrix24 GetLead --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Result"
```

View File

@ -0,0 +1,55 @@
---
sidebar_position: 4
---
# Get leads list
Gets a list of leads (50 per request max) with or without filtering (see GetLeadFilterStructure)
`Function GetLeadsList(Val URL, Val Filter = "", Val Indent = 0, Val Token = "") Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| URL | --url | String | URL of webhook or a Bitrix24 domain, when token used |
| Filter | --filter | Structure of KeyAndValue | Lead filter structure (see GetLeadFilterStructure) |
| Indent | --offset | Number, String | Offset from the beginning of the list to get leads > 50 recursively |
| Token | --token | String | Access token, when app auth method used |
Returns: Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
<br/>
:::tip
Method at API documentation: [crm.lead.list](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
:::
<br/>
```bsl title="Code example"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Result = OPI_Bitrix24.GetLeadsList(URL);
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
Filter = New Structure;
Filter.Insert("TITLE" , "MegaClient");
Filter.Insert("HAS_EMAIL", "Y");
Result = OPI_Bitrix24.GetLeadsList(URL, Filter, ,Token);
```
```sh title="CLI command example"
oint bitrix24 GetLeadsList --url "b24-ar17wx.bitrix24.by" --filter %filter% --offset %offset% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Result"
```

View File

@ -0,0 +1,61 @@
---
sidebar_position: 5
---
# Update lead
Modifies an existing lead
`Function UpdateLead(Val URL, Val LeadID, Val FieldsStructure, Val Token = "") Export`
| Parameter | CLI option | Type | Description |
|-|-|-|-|
| URL | --url | String | URL of webhook or a Bitrix24 domain, when token used |
| LeadID | --lead | Number, String | Task ID |
| FieldsStructure | --fields | Structure of KeyAndValue | Structure of lead fields |
| Token | --token | String | Access token, when app auth method used |
Returns: Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
<br/>
:::tip
Method at API documentation: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
:::
<br/>
```bsl title="Code example"
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Lermontov st., b. 20");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Belarus");
FieldsStructure.Insert("TITLE" , "SuperClient");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
LeadID = "";
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure);
FieldsStructure.Insert("NAME" , "Evgeniy");
FieldsStructure.Insert("LAST_NAME" , "Evgeniev");
URL = "b24-ar17wx.bitrix24.by";
Token = "ec4dc366006e9f06006b12e400000001000...";
LeadID = "";
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure, Token);
```
```sh title="CLI command example"
oint bitrix24 UpdateLead --url "b24-ar17wx.bitrix24.by" --lead %lead% --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Result"
```

View File

@ -0,0 +1,4 @@
{
"label": "Leads managment",
"position": "18"
}

View File

@ -28,7 +28,7 @@ Method at API documentation: [tasks.task.list](https://dev.1c-bitrix.ru/rest_hel
```bsl title="Code example"
// Full filter structer you can find at GetTasksFilterStructure method
// Full filter structure you can find at GetTasksFilterStructure method
Filter = New Structure;
Filter.Insert("CREATED_BY" , 1);
Filter.Insert("RESPONSIBLE_ID", 10);

View File

@ -0,0 +1 @@
oint bitrix24 ИзменитьЛид --url "b24-ar17wx.bitrix24.by" --lead %lead% --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 ПолучитьЛид --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 ПолучитьСписокЛидов --url "b24-ar17wx.bitrix24.by" --filter %filter% --offset %offset% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 ПолучитьСтруктуруЛида --url "b24-ar17wx.bitrix24.by" --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 ПолучитьСтруктуруФильтраЛидов --empty %empty%

View File

@ -0,0 +1 @@
oint bitrix24 СоздатьЛид --url "b24-ar17wx.bitrix24.by" --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1 @@
oint bitrix24 УдалитьЛид --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."

View File

@ -0,0 +1,5 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"IDЛида": "",
"Токен": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,5 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"IDЛида": "",
"Токен": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"Токен": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"Токен": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,4 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"Токен": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,5 @@
{
"URL": "b24-ar17wx.bitrix24.by",
"IDЛида": "",
"Токен": "ec4dc366006e9f06006b12e400000001000..."
}

View File

@ -0,0 +1,18 @@
 СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Лермонтова, д. 20");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Беларусь");
СтруктураПолей.Вставить("TITLE" , "Суперклиент");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
IDЛида = "";
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей);
СтруктураПолей.Вставить("NAME" , "Евгений");
СтруктураПолей.Вставить("LAST_NAME" , "Евгеньев");
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
IDЛида = "";
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей, Токен);

View File

@ -0,0 +1,10 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
IDЛида = "";
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
IDЛида = "";
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида, Токен);

View File

@ -0,0 +1,12 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
Фильтр = Новый Структура;
Фильтр.Вставить("TITLE" , "Мегаклиент");
Фильтр.Вставить("HAS_EMAIL", "Y");
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL, Фильтр, ,Токен);

View File

@ -0,0 +1,8 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL, Токен);

View File

@ -0,0 +1 @@
 Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраЛидов();

View File

@ -0,0 +1,27 @@
 МассивПочт = Новый Массив;
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
МассивНомеров = Новый Массив;
МассивНомеров.Добавить(Новый Структура("VALUE,VALUE_TYPE", "88005553535", "WORK"));
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Пушкина, д. 10");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Россия");
СтруктураПолей.Вставить("EMAIL" , МассивПочт);
СтруктураПолей.Вставить("NAME" , "Петр");
СтруктураПолей.Вставить("LAST_NAME" , "Петров");
СтруктураПолей.Вставить("PHONE" , МассивНомеров);
СтруктураПолей.Вставить("TITLE" , "Мегаклиент");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей);
СтруктураПолей.Вставить("NAME" , "Иван");
СтруктураПолей.Вставить("LAST_NAME" , "Иванов");
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей, Токен);

View File

@ -0,0 +1,10 @@
 URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
IDЛида = "";
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
IDЛида = "";
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида, Токен);

View File

@ -0,0 +1,69 @@
---
sidebar_position: 1
---
# Создать лид
Создает новый лид по структуре полей (см. ПолучитьСтруктуруЛида)
`Функция СоздатьЛид(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| URL | --url | Строка | URL внешнего вебхука или адрес Bitrix24 при использовании токена |
| СтруктураПолей | --fields | Структура Из КлючИЗначение | Структура полей лида (см. ПолучитьСтруктуруЛида) |
| Токен | --token | Строка | Токен авторизации, если используется не вебхук |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
<br/>
:::tip
Метод в документации API: [crm.lead.add](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
:::
<br/>
```bsl title="Пример кода"
МассивПочт = Новый Массив;
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
МассивНомеров = Новый Массив;
МассивНомеров.Добавить(Новый Структура("VALUE,VALUE_TYPE", "88005553535", "WORK"));
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Пушкина, д. 10");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Россия");
СтруктураПолей.Вставить("EMAIL" , МассивПочт);
СтруктураПолей.Вставить("NAME" , "Петр");
СтруктураПолей.Вставить("LAST_NAME" , "Петров");
СтруктураПолей.Вставить("PHONE" , МассивНомеров);
СтруктураПолей.Вставить("TITLE" , "Мегаклиент");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей);
СтруктураПолей.Вставить("NAME" , "Иван");
СтруктураПолей.Вставить("LAST_NAME" , "Иванов");
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей, Токен);
```
```sh title="Пример команды CLI"
oint bitrix24 СоздатьЛид --url "b24-ar17wx.bitrix24.by" --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Результат"
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 2
---
# Удалить лид
Удаляет лид по ID
`Функция УдалитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| URL | --url | Строка | URL внешнего вебхука или адрес Bitrix24 при использовании токена |
| IDЛида | --lead | Число, Строка | ID задачи |
| Токен | --token | Строка | Токен авторизации, если используется не вебхук |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
<br/>
:::tip
Метод в документации API: [crm.lead.delete](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
:::
<br/>
```bsl title="Пример кода"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
IDЛида = "";
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
IDЛида = "";
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида, Токен);
```
```sh title="Пример команды CLI"
oint bitrix24 УдалитьЛид --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Результат"
```

View File

@ -0,0 +1,38 @@
---
sidebar_position: 7
---
# Получить структуру фильтра лидов
Возвращает структуру полей для фильтрации лидов в методе ПолучитьСписокЛидов
`Функция ПолучитьСтруктуруФильтраЛидов(Знач Пустая = Ложь) Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| Пустая | --empty | Булево | Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей |
Возвращаемое значение: Структура Из КлючИЗначение - Структура полей
<br/>
```bsl title="Пример кода"
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраЛидов();
```
```sh title="Пример команды CLI"
oint bitrix24 ПолучитьСтруктуруФильтраЛидов --empty %empty%
```
```json title="Результат"
```

View File

@ -0,0 +1,49 @@
---
sidebar_position: 6
---
# Получить структуру лида
Получает структуру с описанием полей для создания лида
`Функция ПолучитьСтруктуруЛида(Знач URL, Знач Токен = "") Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| URL | --url | Строка | URL внешнего вебхука или адрес Bitrix24 при использовании токена |
| Токен | --token | Строка | Токен авторизации, если используется не вебхук |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
<br/>
:::tip
Метод в документации API: [crm.lead.fields](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
:::
<br/>
```bsl title="Пример кода"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL, Токен);
```
```sh title="Пример команды CLI"
oint bitrix24 ПолучитьСтруктуруЛида --url "b24-ar17wx.bitrix24.by" --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Результат"
```

View File

@ -0,0 +1,52 @@
---
sidebar_position: 3
---
# Получить лид
Получает лид по ID
`Функция ПолучитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| URL | --url | Строка | URL внешнего вебхука или адрес Bitrix24 при использовании токена |
| IDЛида | --lead | Число,Строка | ID лида |
| Токен | --token | Строка | Токен авторизации, если используется не вебхук |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
<br/>
:::tip
Метод в документации API: [crm.lead.get](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
:::
<br/>
```bsl title="Пример кода"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
IDЛида = "";
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
IDЛида = "";
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида, Токен);
```
```sh title="Пример команды CLI"
oint bitrix24 ПолучитьЛид --url "b24-ar17wx.bitrix24.by" --lead %lead% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Результат"
```

View File

@ -0,0 +1,55 @@
---
sidebar_position: 4
---
# Получить список лидов
Получает список лидов (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЛидов)
`Функция ПолучитьСписокЛидов(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| URL | --url | Строка | URL внешнего вебхука или адрес Bitrix24 при использовании токена |
| Фильтр | --filter | Структура из КлючИЗначение | Структура отбора лидов (см. ПолучитьСтруктуруФильтраЛидов) |
| Отступ | --offset | Число, Строка | Отступ от начала списка для получения лидов > 50 шт. рекурсивно |
| Токен | --token | Строка | Токен авторизации, если используется не вебхук |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
<br/>
:::tip
Метод в документации API: [crm.lead.list](https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
:::
<br/>
```bsl title="Пример кода"
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL);
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
Фильтр = Новый Структура;
Фильтр.Вставить("TITLE" , "Мегаклиент");
Фильтр.Вставить("HAS_EMAIL", "Y");
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL, Фильтр, ,Токен);
```
```sh title="Пример команды CLI"
oint bitrix24 ПолучитьСписокЛидов --url "b24-ar17wx.bitrix24.by" --filter %filter% --offset %offset% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Результат"
```

View File

@ -0,0 +1,61 @@
---
sidebar_position: 5
---
# Изменить лид
Изменяет существующий лид
`Функция ИзменитьЛид(Знач URL, Знач IDЛида, Знач СтруктураПолей, Знач Токен = "") Экспорт`
| Параметр | CLI опция | Тип | Назначение |
|-|-|-|-|
| URL | --url | Строка | URL внешнего вебхука или адрес Bitrix24 при использовании токена |
| IDЛида | --lead | Число, Строка | ID задачи |
| СтруктураПолей | --fields | Структура Из КлючИЗначение | Структура полей лида |
| Токен | --token | Строка | Токен авторизации, если используется не вебхук |
Возвращаемое значение: Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
<br/>
:::tip
Метод в документации API: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
:::
<br/>
```bsl title="Пример кода"
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Лермонтова, д. 20");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Беларусь");
СтруктураПолей.Вставить("TITLE" , "Суперклиент");
URL = "https://b24-ar17wx.bitrix24.by/rest/1/1o2...";
IDЛида = "";
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей);
СтруктураПолей.Вставить("NAME" , "Евгений");
СтруктураПолей.Вставить("LAST_NAME" , "Евгеньев");
URL = "b24-ar17wx.bitrix24.by";
Токен = "ec4dc366006e9f06006b12e400000001000...";
IDЛида = "";
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей, Токен);
```
```sh title="Пример команды CLI"
oint bitrix24 ИзменитьЛид --url "b24-ar17wx.bitrix24.by" --lead %lead% --fields %fields% --token "ec4dc366006e9f06006b12e400000001000..."
```
```json title="Результат"
```

View File

@ -0,0 +1,4 @@
{
"label": "Работа с лидами",
"position": "18"
}

File diff suppressed because it is too large Load Diff

View File

@ -4073,6 +4073,199 @@ EndFunction
#EndRegion
#Region LeadsManagment
// Create lead
// Creates a new lead by fields structure (see GetLeadStructure)
//
// Note
// Method at API documentation: [crm.lead.add](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FieldsStructure - Structure of KeyAndValue - Lead fields structure (see GetLeadStructure) - fields
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function CreateLead(Val URL, Val FieldsStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.add");
OPI_Tools.AddField("fields", FieldsStructure, "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Delete lead
// Deletes a lead by ID
//
// Note
// Method at API documentation: [crm.lead.delete](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// LeadID - Number, String - Task ID - lead
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function DeleteLead(Val URL, Val LeadID, Val Token = "") Export
Response = ManageLead(URL, LeadID, "crm.lead.delete", Token);
Return Response;
EndFunction
// Get lead
// Gets a lead by ID
//
// Note
// Method at API documentation: [crm.lead.get](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// LeadID - Number, String - Lead ID - lead
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetLead(Val URL, Val LeadID, Val Token = "") Export
Response = ManageLead(URL, LeadID, "crm.lead.get", Token);
Return Response;
EndFunction
// Get leads list
// Gets a list of leads (50 per request max) with or without filtering (see GetLeadFilterStructure)
//
// Note
// Method at API documentation: [crm.lead.list](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Filter - Structure of KeyAndValue - Lead filter structure (see GetLeadFilterStructure) - filter
// Indent - Number, String - Offset from the beginning of the list to get leads > 50 recursively - offset
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetLeadsList(Val URL, Val Filter = "", Val Indent = 0, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.list");
OPI_Tools.AddField("filter", Filter, "Collection", Parameters);
OPI_Tools.AddField("start" , Indent, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Update lead
// Modifies an existing lead
//
// Note
// Method at API documentation: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// LeadID - Number, String - Task ID - lead
// FieldsStructure - Structure of KeyAndValue - Structure of lead fields - fields
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function UpdateLead(Val URL, Val LeadID, Val FieldsStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.update");
OPI_Tools.AddField("fields", FieldsStructure, "Collection", Parameters);
OPI_Tools.AddField("id" , LeadID , "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get lead structure
// Gets a structure with field descriptions for creating a lead
//
// Note
// Method at API documentation: [crm.lead.fields](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetLeadStructure(Val URL, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.fields");
Response = OPI_Tools.Get(URL, Parameters);
Return Response;
EndFunction
// Get lead filter structure
// Returns the field structure for filtering leads in the GetLeadsList method
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Fields structure
Function GetLeadFilterStructure(Val Clear = False) Export
// More
// https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("ID" , "<lead identifier>");
FilterStructure.Insert("ASSIGNED_BY_ID" , "<responsible person identifier");
FilterStructure.Insert("COMPANY_ID" , "<company identifier>");
FilterStructure.Insert("COMPANY_TITLE" , "<company name>");
FilterStructure.Insert("CONTACT_ID" , "<contact identifier>");
FilterStructure.Insert("CREATED_BY_ID" , "<author identifier>");
FilterStructure.Insert("CURRENCY_ID" , "<currency identifier>");
FilterStructure.Insert("DATE_CLOSED" , "<closing date>");
FilterStructure.Insert("DATE_CREATE" , "<date of creation>");
FilterStructure.Insert("DATE_MODIFY" , "<date of change>");
FilterStructure.Insert("EMAIL" , "<email address>");
FilterStructure.Insert("HAS_EMAIL" , "<email address is filled in (Y|N)>");
FilterStructure.Insert("HAS_PHONE" , "<phone number is filled in (Y|N)>");
FilterStructure.Insert("IS_RETURN_CUSTOMER" , "<repeat lead (Y|N)>");
FilterStructure.Insert("MODIFY_BY_ID" , "<author ID of the last change>");
FilterStructure.Insert("MOVED_BY_ID" , "<identifier of the author of moving the lead to the current stage>");
FilterStructure.Insert("MOVED_TIME" , "<date of moving the lead to the current stage>");
FilterStructure.Insert("OPENED" , "<feature is available for all (Y|N)>");
FilterStructure.Insert("OPPORTUNITY" , "<expected amount>");
FilterStructure.Insert("STATUS_ID" , "<status identifier>");
FilterStructure.Insert("TITLE" , "<lead name (can be searched by template [%_])>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#EndRegion
#Region Private
@ -4214,4 +4407,15 @@ Function ChatNotificationsSwitch(Val URL, Val ChatID, Val Off, Val Token = "")
EndFunction
Function ManageLead(Val URL, Val LeadID, Val Method, Val Token = "")
Parameters = NormalizeAuth(URL, Token, Method);
OPI_Tools.AddField("id", LeadID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion

View File

@ -3131,6 +3131,23 @@ Procedure B2_UsersManagment() Export
EndProcedure
Procedure B24_LeadsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Domain", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Token" , TestParameters);
Bitrix24_GetLeadsList(TestParameters);
Bitrix24_GetLeadFilterStructure(TestParameters);
Bitrix24_GetLeadStructure(TestParameters);
Bitrix24_CreateLead(TestParameters);
Bitrix24_GetLead(TestParameters);
Bitrix24_UpdateLead(TestParameters);
Bitrix24_DeleteLead(TestParameters);
EndProcedure
#EndRegion
#Region VkTeams
@ -3877,8 +3894,17 @@ Procedure Check_BitrixStorage(Val Result)
EndProcedure
Procedure Check_BitrixObject(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["ID"]).Заполнено();
EndProcedure
Procedure Check_BitrixLead(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["PHONE"]).Заполнено();
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["NAME"]).Заполнено();
EndProcedure
Procedure Check_BitrixAttachment(Val Result)
@ -7262,7 +7288,7 @@ EndProcedure
Procedure Bitrix24_GetTasksList(FunctionParameters)
// Full filter structer you can find at GetTasksFilterStructure method
// Full filter structure you can find at GetTasksFilterStructure method
Filter = New Structure;
Filter.Insert("CREATED_BY" , 1);
Filter.Insert("RESPONSIBLE_ID", 10);
@ -10290,6 +10316,201 @@ Procedure Bitrix24_GetTimekeepingSettings(FunctionParameters)
EndProcedure
Procedure Bitrix24_GetLeadFilterStructure(FunctionParameters)
Result = OPI_Bitrix24.GetLeadFilterStructure();
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetLeadFilterStructure", "Bitrix24");
Check_Structure(Result);
EndProcedure
Procedure Bitrix24_GetLeadStructure(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetLeadStructure(URL);
OPI_TestDataRetrieval.WriteLog(Result, "GetLeadStructure (wh)", "Bitrix24");
Check_BitrixLead(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetLeadStructure(URL, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetLeadStructure", "Bitrix24");
Check_BitrixLead(Result);
EndProcedure
Procedure Bitrix24_CreateLead(FunctionParameters)
EmailsArray = New Array;
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
PhonesArray = New Array;
PhonesArray.Add(New Structure("VALUE,VALUE_TYPE", "88005553535", "WORK"));
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Pushkin st., b. 10");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Russia");
FieldsStructure.Insert("EMAIL" , EmailsArray);
FieldsStructure.Insert("NAME" , "John");
FieldsStructure.Insert("LAST_NAME" , "Doe");
FieldsStructure.Insert("PHONE" , PhonesArray);
FieldsStructure.Insert("TITLE" , "MegaClient");
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure);
OPI_TestDataRetrieval.WriteLog(Result, "CreateLead (wh)", "Bitrix24");
Check_BitrixNumber(Result); // SKIP
LeadID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookLeadID", LeadID); // SKIP
FunctionParameters.Insert("Bitrix24_HookLeadID", LeadID); // SKIP
FieldsStructure.Insert("NAME" , "Ivan");
FieldsStructure.Insert("LAST_NAME" , "Ivanov");
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "CreateLead", "Bitrix24");
Check_BitrixNumber(Result);
LeadID = Result["result"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_LeadID", LeadID);
FunctionParameters.Insert("Bitrix24_LeadID", LeadID);
EndProcedure
Procedure Bitrix24_UpdateLead(FunctionParameters)
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Lermontov st., b. 20");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Belarus");
FieldsStructure.Insert("TITLE" , "SuperClient");
URL = FunctionParameters["Bitrix24_URL"];
LeadID = FunctionParameters["Bitrix24_HookLeadID"];
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure);
OPI_TestDataRetrieval.WriteLog(Result, "UpdateLead (wh)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
FieldsStructure.Insert("NAME" , "Evgeniy");
FieldsStructure.Insert("LAST_NAME" , "Evgeniev");
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
LeadID = FunctionParameters["Bitrix24_LeadID"];
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "UpdateLead", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
Procedure Bitrix24_DeleteLead(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
LeadID = FunctionParameters["Bitrix24_HookLeadID"];
Result = OPI_Bitrix24.DeleteLead(URL, LeadID);
OPI_TestDataRetrieval.WriteLog(Result, "DeleteLead (wh)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
LeadID = FunctionParameters["Bitrix24_LeadID"];
Result = OPI_Bitrix24.DeleteLead(URL, LeadID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "DeleteLead", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
Procedure Bitrix24_GetLead(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
LeadID = FunctionParameters["Bitrix24_HookLeadID"];
Result = OPI_Bitrix24.GetLead(URL, LeadID);
OPI_TestDataRetrieval.WriteLog(Result, "GetLead (wh)", "Bitrix24");
Check_BitrixLead(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
LeadID = FunctionParameters["Bitrix24_LeadID"];
Result = OPI_Bitrix24.GetLead(URL, LeadID, Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetLead", "Bitrix24");
Check_BitrixLead(Result);
EndProcedure
Procedure Bitrix24_GetLeadsList(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetLeadsList(URL);
OPI_TestDataRetrieval.WriteLog(Result, "GetLeadsList (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Filter = New Structure;
Filter.Insert("TITLE" , "MegaClient");
Filter.Insert("HAS_EMAIL", "Y");
Result = OPI_Bitrix24.GetLeadsList(URL, Filter, ,Token);
// END
OPI_TestDataRetrieval.WriteLog(Result, "GetLeadsList", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
#EndRegion
#Region YandexDisk

View File

@ -238,6 +238,7 @@ Function GetTestTable() Export
NewTest(TestTable, "B24_TasksFieldsManagment" , "Working with custom task fields" , Bitrix);
NewTest(TestTable, "B24_DepartmentsManagment" , "Departments managment" , Bitrix);
NewTest(TestTable, "B2_UsersManagment" , "Users managment" , Bitrix);
NewTest(TestTable, "B24_LeadsManagment" , "Leads managment" , Bitrix);
NewTest(TestTable, "VKT_MessagesSending" , "Messages sending" , VKT);
NewTest(TestTable, "VKT_CommonMethods" , "Common methods" , VKT);

View File

@ -4073,6 +4073,199 @@ EndFunction
#EndRegion
#Region LeadsManagment
// Create lead
// Creates a new lead by fields structure (see GetLeadStructure)
//
// Note
// Method at API documentation: [crm.lead.add](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// FieldsStructure - Structure of KeyAndValue - Lead fields structure (see GetLeadStructure) - fields
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function CreateLead(Val URL, Val FieldsStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.add");
OPI_Tools.AddField("fields", FieldsStructure, "Collection", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Delete lead
// Deletes a lead by ID
//
// Note
// Method at API documentation: [crm.lead.delete](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// LeadID - Number, String - Task ID - lead
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function DeleteLead(Val URL, Val LeadID, Val Token = "") Export
Response = ManageLead(URL, LeadID, "crm.lead.delete", Token);
Return Response;
EndFunction
// Get lead
// Gets a lead by ID
//
// Note
// Method at API documentation: [crm.lead.get](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// LeadID - Number, String - Lead ID - lead
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetLead(Val URL, Val LeadID, Val Token = "") Export
Response = ManageLead(URL, LeadID, "crm.lead.get", Token);
Return Response;
EndFunction
// Get leads list
// Gets a list of leads (50 per request max) with or without filtering (see GetLeadFilterStructure)
//
// Note
// Method at API documentation: [crm.lead.list](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Filter - Structure of KeyAndValue - Lead filter structure (see GetLeadFilterStructure) - filter
// Indent - Number, String - Offset from the beginning of the list to get leads > 50 recursively - offset
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetLeadsList(Val URL, Val Filter = "", Val Indent = 0, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.list");
OPI_Tools.AddField("filter", Filter, "Collection", Parameters);
OPI_Tools.AddField("start" , Indent, "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Update lead
// Modifies an existing lead
//
// Note
// Method at API documentation: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// LeadID - Number, String - Task ID - lead
// FieldsStructure - Structure of KeyAndValue - Structure of lead fields - fields
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function UpdateLead(Val URL, Val LeadID, Val FieldsStructure, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.update");
OPI_Tools.AddField("fields", FieldsStructure, "Collection", Parameters);
OPI_Tools.AddField("id" , LeadID , "String" , Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
// Get lead structure
// Gets a structure with field descriptions for creating a lead
//
// Note
// Method at API documentation: [crm.lead.fields](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
//
// Parameters:
// URL - String - URL of webhook or a Bitrix24 domain, when token used - url
// Token - String - Access token, when app auth method used - token
//
// Returns:
// Map Of KeyAndValue - serialized JSON of answer from Bitrix24 API
Function GetLeadStructure(Val URL, Val Token = "") Export
Parameters = NormalizeAuth(URL, Token, "crm.lead.fields");
Response = OPI_Tools.Get(URL, Parameters);
Return Response;
EndFunction
// Get lead filter structure
// Returns the field structure for filtering leads in the GetLeadsList method
//
// Parameters:
// Clear - Boolean - True > structure with empty valuse, False > field descriptions at values - empty
//
// Returns:
// Structure of KeyAndValue - Fields structure
Function GetLeadFilterStructure(Val Clear = False) Export
// More
// https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php
OPI_TypeConversion.GetBoolean(Clear);
FilterStructure = New Structure;
FilterStructure.Insert("ID" , "<lead identifier>");
FilterStructure.Insert("ASSIGNED_BY_ID" , "<responsible person identifier");
FilterStructure.Insert("COMPANY_ID" , "<company identifier>");
FilterStructure.Insert("COMPANY_TITLE" , "<company name>");
FilterStructure.Insert("CONTACT_ID" , "<contact identifier>");
FilterStructure.Insert("CREATED_BY_ID" , "<author identifier>");
FilterStructure.Insert("CURRENCY_ID" , "<currency identifier>");
FilterStructure.Insert("DATE_CLOSED" , "<closing date>");
FilterStructure.Insert("DATE_CREATE" , "<date of creation>");
FilterStructure.Insert("DATE_MODIFY" , "<date of change>");
FilterStructure.Insert("EMAIL" , "<email address>");
FilterStructure.Insert("HAS_EMAIL" , "<email address is filled in (Y|N)>");
FilterStructure.Insert("HAS_PHONE" , "<phone number is filled in (Y|N)>");
FilterStructure.Insert("IS_RETURN_CUSTOMER" , "<repeat lead (Y|N)>");
FilterStructure.Insert("MODIFY_BY_ID" , "<author ID of the last change>");
FilterStructure.Insert("MOVED_BY_ID" , "<identifier of the author of moving the lead to the current stage>");
FilterStructure.Insert("MOVED_TIME" , "<date of moving the lead to the current stage>");
FilterStructure.Insert("OPENED" , "<feature is available for all (Y|N)>");
FilterStructure.Insert("OPPORTUNITY" , "<expected amount>");
FilterStructure.Insert("STATUS_ID" , "<status identifier>");
FilterStructure.Insert("TITLE" , "<lead name (can be searched by template [%_])>");
If Clear Then
For Each Filter In FilterStructure Do
Filter.Value = "";
EndDo;
EndIf;
//@skip-check constructor-function-return-section
Return FilterStructure;
EndFunction
#EndRegion
#EndRegion
#Region Private
@ -4214,4 +4407,15 @@ Function ChatNotificationsSwitch(Val URL, Val ChatID, Val Off, Val Token = "")
EndFunction
Function ManageLead(Val URL, Val LeadID, Val Method, Val Token = "")
Parameters = NormalizeAuth(URL, Token, Method);
OPI_Tools.AddField("id", LeadID, "String", Parameters);
Response = OPI_Tools.Post(URL, Parameters);
Return Response;
EndFunction
#EndRegion

View File

@ -238,6 +238,7 @@ Function GetTestTable() Export
NewTest(TestTable, "B24_TasksFieldsManagment" , "Working with custom task fields" , Bitrix);
NewTest(TestTable, "B24_DepartmentsManagment" , "Departments managment" , Bitrix);
NewTest(TestTable, "B2_UsersManagment" , "Users managment" , Bitrix);
NewTest(TestTable, "B24_LeadsManagment" , "Leads managment" , Bitrix);
NewTest(TestTable, "VKT_MessagesSending" , "Messages sending" , VKT);
NewTest(TestTable, "VKT_CommonMethods" , "Common methods" , VKT);

View File

@ -3131,6 +3131,23 @@ Procedure B2_UsersManagment() Export
EndProcedure
Procedure B24_LeadsManagment() Export
TestParameters = New Structure;
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_URL" , TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Domain", TestParameters);
OPI_TestDataRetrieval.ParameterToCollection("Bitrix24_Token" , TestParameters);
Bitrix24_GetLeadsList(TestParameters);
Bitrix24_GetLeadFilterStructure(TestParameters);
Bitrix24_GetLeadStructure(TestParameters);
Bitrix24_CreateLead(TestParameters);
Bitrix24_GetLead(TestParameters);
Bitrix24_UpdateLead(TestParameters);
Bitrix24_DeleteLead(TestParameters);
EndProcedure
#EndRegion
#Region VkTeams
@ -3877,8 +3894,17 @@ Procedure Check_BitrixStorage(Val Result)
EndProcedure
Procedure Check_BitrixObject(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]).ИмеетТип("Map");
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["ID"]).Заполнено();
EndProcedure
Procedure Check_BitrixLead(Val Result)
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["PHONE"]).Заполнено();
OPI_TestDataRetrieval.ExpectsThat(Result["result"]["NAME"]).Заполнено();
EndProcedure
Procedure Check_BitrixAttachment(Val Result)
@ -7262,7 +7288,7 @@ EndProcedure
Procedure Bitrix24_GetTasksList(FunctionParameters)
// Full filter structer you can find at GetTasksFilterStructure method
// Full filter structure you can find at GetTasksFilterStructure method
Filter = New Structure;
Filter.Insert("CREATED_BY" , 1);
Filter.Insert("RESPONSIBLE_ID", 10);
@ -10290,6 +10316,201 @@ Procedure Bitrix24_GetTimekeepingSettings(FunctionParameters)
EndProcedure
Procedure Bitrix24_GetLeadFilterStructure(FunctionParameters)
Result = OPI_Bitrix24.GetLeadFilterStructure();
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLeadFilterStructure", "Bitrix24");
Check_Structure(Result);
EndProcedure
Procedure Bitrix24_GetLeadStructure(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetLeadStructure(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLeadStructure (wh)", "Bitrix24");
Check_BitrixLead(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.GetLeadStructure(URL, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLeadStructure", "Bitrix24");
Check_BitrixLead(Result);
EndProcedure
Procedure Bitrix24_CreateLead(FunctionParameters)
EmailsArray = New Array;
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
EmailsArray.Add(New Structure("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
PhonesArray = New Array;
PhonesArray.Add(New Structure("VALUE,VALUE_TYPE", "88005553535", "WORK"));
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Pushkin st., b. 10");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Russia");
FieldsStructure.Insert("EMAIL" , EmailsArray);
FieldsStructure.Insert("NAME" , "John");
FieldsStructure.Insert("LAST_NAME" , "Doe");
FieldsStructure.Insert("PHONE" , PhonesArray);
FieldsStructure.Insert("TITLE" , "MegaClient");
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateLead (wh)", "Bitrix24");
Check_BitrixNumber(Result); // SKIP
LeadID = Result["result"]; // SKIP
OPI_TestDataRetrieval.WriteParameter("Bitrix24_HookLeadID", LeadID); // SKIP
FunctionParameters.Insert("Bitrix24_HookLeadID", LeadID); // SKIP
FieldsStructure.Insert("NAME" , "Ivan");
FieldsStructure.Insert("LAST_NAME" , "Ivanov");
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Result = OPI_Bitrix24.CreateLead(URL, FieldsStructure, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "CreateLead", "Bitrix24");
Check_BitrixNumber(Result);
LeadID = Result["result"];
OPI_TestDataRetrieval.WriteParameter("Bitrix24_LeadID", LeadID);
FunctionParameters.Insert("Bitrix24_LeadID", LeadID);
EndProcedure
Procedure Bitrix24_UpdateLead(FunctionParameters)
FieldsStructure = New Structure;
FieldsStructure.Insert("ADDRESS" , "Lermontov st., b. 20");
FieldsStructure.Insert("ADDRESS_COUNTRY", "Belarus");
FieldsStructure.Insert("TITLE" , "SuperClient");
URL = FunctionParameters["Bitrix24_URL"];
LeadID = FunctionParameters["Bitrix24_HookLeadID"];
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UpdateLead (wh)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
FieldsStructure.Insert("NAME" , "Evgeniy");
FieldsStructure.Insert("LAST_NAME" , "Evgeniev");
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
LeadID = FunctionParameters["Bitrix24_LeadID"];
Result = OPI_Bitrix24.UpdateLead(URL, LeadID, FieldsStructure, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "UpdateLead", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
Procedure Bitrix24_DeleteLead(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
LeadID = FunctionParameters["Bitrix24_HookLeadID"];
Result = OPI_Bitrix24.DeleteLead(URL, LeadID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteLead (wh)", "Bitrix24");
Check_BitrixTrue(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
LeadID = FunctionParameters["Bitrix24_LeadID"];
Result = OPI_Bitrix24.DeleteLead(URL, LeadID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "DeleteLead", "Bitrix24");
Check_BitrixTrue(Result);
EndProcedure
Procedure Bitrix24_GetLead(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
LeadID = FunctionParameters["Bitrix24_HookLeadID"];
Result = OPI_Bitrix24.GetLead(URL, LeadID);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLead (wh)", "Bitrix24");
Check_BitrixLead(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
LeadID = FunctionParameters["Bitrix24_LeadID"];
Result = OPI_Bitrix24.GetLead(URL, LeadID, Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLead", "Bitrix24");
Check_BitrixLead(Result);
EndProcedure
Procedure Bitrix24_GetLeadsList(FunctionParameters)
URL = FunctionParameters["Bitrix24_URL"];
Result = OPI_Bitrix24.GetLeadsList(URL);
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLeadsList (wh)", "Bitrix24");
Check_BitrixArray(Result); // SKIP
URL = FunctionParameters["Bitrix24_Domain"];
Token = FunctionParameters["Bitrix24_Token"];
Filter = New Structure;
Filter.Insert("TITLE" , "MegaClient");
Filter.Insert("HAS_EMAIL", "Y");
Result = OPI_Bitrix24.GetLeadsList(URL, Filter, ,Token);
// END
// !OInt OPI_TestDataRetrieval.WriteLog(Result, "GetLeadsList", "Bitrix24");
Check_BitrixArray(Result);
EndProcedure
#EndRegion
#Region YandexDisk

View File

@ -5475,6 +5475,213 @@
NewLine.Область = "Users managment";
NewLine.ОписаниеМетода = "Returns the field structure for filtering users in the FindUsers method";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "CreateLead";
NewLine.МетодПоиска = "CREATELEAD";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Creates a new lead by fields structure (see GetLeadStructure)";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "CreateLead";
NewLine.МетодПоиска = "CREATELEAD";
NewLine.Параметр = "--fields";
NewLine.Описание = "Lead fields structure (see GetLeadStructure)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "CreateLead";
NewLine.МетодПоиска = "CREATELEAD";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteLead";
NewLine.МетодПоиска = "DELETELEAD";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Deletes a lead by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteLead";
NewLine.МетодПоиска = "DELETELEAD";
NewLine.Параметр = "--lead";
NewLine.Описание = "Task ID";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "DeleteLead";
NewLine.МетодПоиска = "DELETELEAD";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLead";
NewLine.МетодПоиска = "GETLEAD";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Gets a lead by ID";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLead";
NewLine.МетодПоиска = "GETLEAD";
NewLine.Параметр = "--lead";
NewLine.Описание = "Lead ID";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLead";
NewLine.МетодПоиска = "GETLEAD";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadsList";
NewLine.МетодПоиска = "GETLEADSLIST";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Gets a list of leads (50 per request max) with or without filtering (see GetLeadFilterStructure)";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadsList";
NewLine.МетодПоиска = "GETLEADSLIST";
NewLine.Параметр = "--filter";
NewLine.Описание = "Lead filter structure (see GetLeadFilterStructure) (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadsList";
NewLine.МетодПоиска = "GETLEADSLIST";
NewLine.Параметр = "--offset";
NewLine.Описание = "Offset from the beginning of the list to get leads > 50 recursively (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadsList";
NewLine.МетодПоиска = "GETLEADSLIST";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateLead";
NewLine.МетодПоиска = "UPDATELEAD";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Modifies an existing lead";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateLead";
NewLine.МетодПоиска = "UPDATELEAD";
NewLine.Параметр = "--lead";
NewLine.Описание = "Task ID";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateLead";
NewLine.МетодПоиска = "UPDATELEAD";
NewLine.Параметр = "--fields";
NewLine.Описание = "Structure of lead fields";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "UpdateLead";
NewLine.МетодПоиска = "UPDATELEAD";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadStructure";
NewLine.МетодПоиска = "GETLEADSTRUCTURE";
NewLine.Параметр = "--url";
NewLine.Описание = "URL of webhook or a Bitrix24 domain, when token used";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Gets a structure with field descriptions for creating a lead";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadStructure";
NewLine.МетодПоиска = "GETLEADSTRUCTURE";
NewLine.Параметр = "--token";
NewLine.Описание = "Access token, when app auth method used (optional, def. val. - Empty value)";
NewLine.Область = "Leads managment";
NewLine = CompositionTable.Add();
NewLine.Библиотека = "bitrix24";
NewLine.Модуль = "OPI_Bitrix24";
NewLine.Метод = "GetLeadFilterStructure";
NewLine.МетодПоиска = "GETLEADFILTERSTRUCTURE";
NewLine.Параметр = "--empty";
NewLine.Описание = "True > structure with empty valuse, False > field descriptions at values (optional, def. val. - No)";
NewLine.Область = "Leads managment";
NewLine.ОписаниеМетода = "Returns the field structure for filtering leads in the GetLeadsList method";
Return CompositionTable;
EndFunction

View File

@ -4073,6 +4073,199 @@
#КонецОбласти
#Область РаботаСЛидами
// Создать лид
// Создает новый лид по структуре полей (см. ПолучитьСтруктуруЛида)
//
// Примечание:
// Метод в документации API: [crm.lead.add](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида (см. ПолучитьСтруктуруЛида) - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция СоздатьЛид(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.add");
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Удалить лид
// Удаляет лид по ID
//
// Примечание:
// Метод в документации API: [crm.lead.delete](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число, Строка - ID задачи - lead
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция УдалитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт
Ответ = УправлениеЛидом(URL, IDЛида, "crm.lead.delete", Токен);
Возврат Ответ;
КонецФункции
// Получить лид
// Получает лид по ID
//
// Примечание:
// Метод в документации API: [crm.lead.get](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число,Строка - ID лида - lead
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ПолучитьЛид(Знач URL, Знач IDЛида, Знач Токен = "") Экспорт
Ответ = УправлениеЛидом(URL, IDЛида, "crm.lead.get", Токен);
Возврат Ответ;
КонецФункции
// Получить список лидов
// Получает список лидов (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЛидов)
//
// Примечание:
// Метод в документации API: [crm.lead.list](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Фильтр - Структура из КлючИЗначение - Структура отбора лидов (см. ПолучитьСтруктуруФильтраЛидов) - filter
// Отступ - Число, Строка - Отступ от начала списка для получения лидов > 50 шт. рекурсивно - offset
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ПолучитьСписокЛидов(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.list");
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Изменить лид
// Изменяет существующий лид
//
// Примечание:
// Метод в документации API: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число, Строка - ID задачи - lead
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ИзменитьЛид(Знач URL, Знач IDЛида, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.update");
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("id" , IDЛида , "Строка" , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру лида
// Получает структуру с описанием полей для создания лида
//
// Примечание:
// Метод в документации API: [crm.lead.fields](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_fields.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ПолучитьСтруктуруЛида(Знач URL, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.fields");
Ответ = OPI_Инструменты.Get(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру фильтра лидов
// Возвращает структуру полей для фильтрации лидов в методе ПолучитьСписокЛидов
//
// Параметры:
// Пустая - Булево - Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей - empty
//
// Возвращаемое значение:
// Структура Из КлючИЗначение - Структура полей
Функция ПолучитьСтруктуруФильтраЛидов(Знач Пустая = Ложь) Экспорт
// Подробнее
// https://dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_list.php
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("ID" , "<идентификатор лида>");
СтруктураФильтра.Вставить("ASSIGNED_BY_ID" , "<идентификатор ответственного");
СтруктураФильтра.Вставить("COMPANY_ID" , "<идентификатор компании>");
СтруктураФильтра.Вставить("COMPANY_TITLE" , "<наименование компании>");
СтруктураФильтра.Вставить("CONTACT_ID" , "<идентификатор контакта>");
СтруктураФильтра.Вставить("CREATED_BY_ID" , "<идентификатор автора>");
СтруктураФильтра.Вставить("CURRENCY_ID" , "<идентификатор валюты>");
СтруктураФильтра.Вставить("DATE_CLOSED" , "<дата закрытия>");
СтруктураФильтра.Вставить("DATE_CREATE" , "<дата создания>");
СтруктураФильтра.Вставить("DATE_MODIFY" , "<дата изменения>");
СтруктураФильтра.Вставить("EMAIL" , "<адрес электронной почты>");
СтруктураФильтра.Вставить("HAS_EMAIL" , "<электронная почта заполнена (Y|N)>");
СтруктураФильтра.Вставить("HAS_PHONE" , "<телефон заполнен (Y|N)>");
СтруктураФильтра.Вставить("IS_RETURN_CUSTOMER" , "<признак повторного лида (Y|N)>");
СтруктураФильтра.Вставить("MODIFY_BY_ID" , "<идентификатор автора последнего изменения>");
СтруктураФильтра.Вставить("MOVED_BY_ID" , "<идентификатор автора перемещения лида на текущую стадию>");
СтруктураФильтра.Вставить("MOVED_TIME" , "<дата перемещения лида на текущую стадию>");
СтруктураФильтра.Вставить("OPENED" , "<признак доступен для всех (Y|N)>");
СтруктураФильтра.Вставить("OPPORTUNITY" , "<предполагаемая сумма>");
СтруктураФильтра.Вставить("STATUS_ID" , "<идентификатор статуса>");
СтруктураФильтра.Вставить("TITLE" , "<название лида (можно искать по шаблону [%_])>");
Если Пустая Тогда
Для Каждого Фильтр Из СтруктураФильтра Цикл
Фильтр.Значение = "";
КонецЦикла;
КонецЕсли;
//@skip-check constructor-function-return-section
Возврат СтруктураФильтра;
КонецФункции
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
@ -4214,4 +4407,15 @@
КонецФункции
Функция УправлениеЛидом(Знач URL, Знач IDЛида, Знач Метод, Знач Токен = "")
Параметры = НормализоватьАвторизацию(URL, Токен, Метод);
OPI_Инструменты.ДобавитьПоле("id", IDЛида, "Строка", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти

View File

@ -3131,6 +3131,23 @@
КонецПроцедуры
Процедура Б24_РаботаСЛидами() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ПолучитьСписокЛидов(ПараметрыТеста);
Bitrix24_ПолучитьСтруктуруФильтраЛидов(ПараметрыТеста);
Bitrix24_ПолучитьСтруктуруЛида(ПараметрыТеста);
Bitrix24_СоздатьЛид(ПараметрыТеста);
Bitrix24_ПолучитьЛид(ПараметрыТеста);
Bitrix24_ИзменитьЛид(ПараметрыТеста);
Bitrix24_УдалитьЛид(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#Область VkTeams
@ -3877,8 +3894,17 @@
КонецПроцедуры
Процедура Проверка_БитриксОбъект(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксЛид(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["PHONE"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["NAME"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксВложение(Знач Результат)
@ -10290,6 +10316,201 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтруктуруФильтраЛидов(ПараметрыФункции)
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраЛидов();
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЛидов", "Bitrix24");
Проверка_Структура(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтруктуруЛида(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруЛида (хук)", "Bitrix24");
Проверка_БитриксЛид(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруЛида", "Bitrix24");
Проверка_БитриксЛид(Результат);
КонецПроцедуры
Процедура Bitrix24_СоздатьЛид(ПараметрыФункции)
МассивПочт = Новый Массив;
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
МассивНомеров = Новый Массив;
МассивНомеров.Добавить(Новый Структура("VALUE,VALUE_TYPE", "88005553535", "WORK"));
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Пушкина, д. 10");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Россия");
СтруктураПолей.Вставить("EMAIL" , МассивПочт);
СтруктураПолей.Вставить("NAME" , "Петр");
СтруктураПолей.Вставить("LAST_NAME" , "Петров");
СтруктураПолей.Вставить("PHONE" , МассивНомеров);
СтруктураПолей.Вставить("TITLE" , "Мегаклиент");
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЛид (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDЛида = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookLeadID", IDЛида); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookLeadID", IDЛида); // SKIP
СтруктураПолей.Вставить("NAME" , "Иван");
СтруктураПолей.Вставить("LAST_NAME" , "Иванов");
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЛид", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDЛида = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_LeadID", IDЛида);
ПараметрыФункции.Вставить("Bitrix24_LeadID", IDЛида);
КонецПроцедуры
Процедура Bitrix24_ИзменитьЛид(ПараметрыФункции)
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Лермонтова, д. 20");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Беларусь");
СтруктураПолей.Вставить("TITLE" , "Суперклиент");
URL = ПараметрыФункции["Bitrix24_URL"];
IDЛида = ПараметрыФункции["Bitrix24_HookLeadID"];
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЛид (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
СтруктураПолей.Вставить("NAME" , "Евгений");
СтруктураПолей.Вставить("LAST_NAME" , "Евгеньев");
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЛида = ПараметрыФункции["Bitrix24_LeadID"];
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЛид", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_УдалитьЛид(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDЛида = ПараметрыФункции["Bitrix24_HookLeadID"];
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛид (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЛида = ПараметрыФункции["Bitrix24_LeadID"];
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛид", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьЛид(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDЛида = ПараметрыФункции["Bitrix24_HookLeadID"];
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЛид (хук)", "Bitrix24");
Проверка_БитриксЛид(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЛида = ПараметрыФункции["Bitrix24_LeadID"];
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида, Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЛид", "Bitrix24");
Проверка_БитриксЛид(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСписокЛидов(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL);
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЛидов (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Фильтр = Новый Структура;
Фильтр.Вставить("TITLE" , "Мегаклиент");
Фильтр.Вставить("HAS_EMAIL", "Y");
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL, Фильтр, ,Токен);
// END
OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЛидов", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@ -238,6 +238,7 @@
НовыйТест(ТаблицаТестов, "Б24_РаботаСПолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УправлениеПодразделениями" , "Управление подразделениями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УправлениеПользователями" , "Управление пользователями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЛидами" , "Работа с лидами" , Битрикс);
НовыйТест(ТаблицаТестов, "ВКТ_ОтправкаСообщений" , "Отправка сообщений" , ВКТ);
НовыйТест(ТаблицаТестов, "ВКТ_ОбщиеМетоды" , "Общие методы" , ВКТ);

View File

@ -4082,15 +4082,16 @@
// Метод в документации API: [crm.lead.add](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_add.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида (см. ПолучитьСтруктуруЛида) - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида (см. ПолучитьСтруктуруЛида) - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция СоздатьЛид(Знач URL, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.add");
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
@ -4106,9 +4107,9 @@
// Метод в документации API: [crm.lead.delete](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_delete.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число,Строка - ID задачи - lead
// Токен - Строка - Токен авторизации, если используется не вебхук - token
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число, Строка - ID задачи - lead
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
@ -4126,9 +4127,9 @@
// Метод в документации API: [crm.lead.get](@dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_get.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число,Строка - ID лида - lead
// Токен - Строка - Токен авторизации, если используется не вебхук - token
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число,Строка - ID лида - lead
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
@ -4147,7 +4148,7 @@
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// Фильтр - Структура из КлючИЗначение - Структура отбора задач (см. ПолучитьСтруктуруФильтраЛидов) - filter
// Фильтр - Структура из КлючИЗначение - Структура отбора лидов (см. ПолучитьСтруктуруФильтраЛидов) - filter
// Отступ - Число, Строка - Отступ от начала списка для получения лидов > 50 шт. рекурсивно - offset
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
@ -4156,6 +4157,7 @@
Функция ПолучитьСписокЛидов(Знач URL, Знач Фильтр = "", Знач Отступ = 0, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.list");
OPI_Инструменты.ДобавитьПоле("filter", Фильтр, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("start" , Отступ, "Строка" , Параметры);
@ -4165,6 +4167,33 @@
КонецФункции
// Изменить лид
// Изменяет существующий лид
//
// Примечание:
// Метод в документации API: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число, Строка - ID задачи - lead
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ИзменитьЛид(Знач URL, Знач IDЛида, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.update");
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей, "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("id" , IDЛида , "Строка" , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
// Получить структуру лида
// Получает структуру с описанием полей для создания лида
//
@ -4202,27 +4231,27 @@
OPI_ПреобразованиеТипов.ПолучитьБулево(Пустая);
СтруктураФильтра = Новый Структура;
СтруктураФильтра.Вставить("ID" , "<идентификатор лида>");
СтруктураФильтра.Вставить("ASSIGNED_BY_ID" , "<идентификатор ответственного");
СтруктураФильтра.Вставить("COMPANY_ID" , "<идентификатор компании>");
СтруктураФильтра.Вставить("COMPANY_TITLE" , "<наименование компании>");
СтруктураФильтра.Вставить("CONTACT_ID" , "<идентификатор контакта>");
СтруктураФильтра.Вставить("CREATED_BY_ID" , "<идентификатор автора>");
СтруктураФильтра.Вставить("CURRENCY_ID" , "<идентификатор валюты>");
СтруктураФильтра.Вставить("DATE_CLOSED" , "<дата закрытия>");
СтруктураФильтра.Вставить("DATE_CREATE" , "<дата создания>");
СтруктураФильтра.Вставить("DATE_MODIFY" , "<дата изменения>");
СтруктураФильтра.Вставить("EMAIL" , "<адрес электронной почты>");
СтруктураФильтра.Вставить("HAS_EMAIL" , "<электронная почта заполнена (Y|N)>");
СтруктураФильтра.Вставить("HAS_PHONE" , "<телефон заполнен (Y|N)>");
СтруктураФильтра.Вставить("IS_RETURN_CUSTOMER" , "<признак повторного лида (Y|N)>");
СтруктураФильтра.Вставить("MODIFY_BY_ID" , "<идентификатор автора последнего изменения>");
СтруктураФильтра.Вставить("MOVED_BY_ID" , "<идентификатор автора перемещения лида на текущую стадию>");
СтруктураФильтра.Вставить("MOVED_TIME" , "<дата перемещения лида на текущую стадию>");
СтруктураФильтра.Вставить("OPENED" , "<признак доступен для всех (Y|N)>");
СтруктураФильтра.Вставить("OPPORTUNITY" , "<предполагаемая сумма>");
СтруктураФильтра.Вставить("STATUS_ID" , "<идентификатор статуса>");
СтруктураФильтра.Вставить("TITLE" , "<название лида (можно искать по шаблону [%_])>");
СтруктураФильтра.Вставить("ID" , "<идентификатор лида>");
СтруктураФильтра.Вставить("ASSIGNED_BY_ID" , "<идентификатор ответственного");
СтруктураФильтра.Вставить("COMPANY_ID" , "<идентификатор компании>");
СтруктураФильтра.Вставить("COMPANY_TITLE" , "<наименование компании>");
СтруктураФильтра.Вставить("CONTACT_ID" , "<идентификатор контакта>");
СтруктураФильтра.Вставить("CREATED_BY_ID" , "<идентификатор автора>");
СтруктураФильтра.Вставить("CURRENCY_ID" , "<идентификатор валюты>");
СтруктураФильтра.Вставить("DATE_CLOSED" , "<дата закрытия>");
СтруктураФильтра.Вставить("DATE_CREATE" , "<дата создания>");
СтруктураФильтра.Вставить("DATE_MODIFY" , "<дата изменения>");
СтруктураФильтра.Вставить("EMAIL" , "<адрес электронной почты>");
СтруктураФильтра.Вставить("HAS_EMAIL" , "<электронная почта заполнена (Y|N)>");
СтруктураФильтра.Вставить("HAS_PHONE" , "<телефон заполнен (Y|N)>");
СтруктураФильтра.Вставить("IS_RETURN_CUSTOMER" , "<признак повторного лида (Y|N)>");
СтруктураФильтра.Вставить("MODIFY_BY_ID" , "<идентификатор автора последнего изменения>");
СтруктураФильтра.Вставить("MOVED_BY_ID" , "<идентификатор автора перемещения лида на текущую стадию>");
СтруктураФильтра.Вставить("MOVED_TIME" , "<дата перемещения лида на текущую стадию>");
СтруктураФильтра.Вставить("OPENED" , "<признак доступен для всех (Y|N)>");
СтруктураФильтра.Вставить("OPPORTUNITY" , "<предполагаемая сумма>");
СтруктураФильтра.Вставить("STATUS_ID" , "<идентификатор статуса>");
СтруктураФильтра.Вставить("TITLE" , "<название лида (можно искать по шаблону [%_])>");
Если Пустая Тогда
Для Каждого Фильтр Из СтруктураФильтра Цикл
@ -4235,32 +4264,6 @@
КонецФункции
// Изменить лид
// Изменяет существующий лид
//
// Примечание:
// Метод в документации API: [crm.lead.update](dev.1c-bitrix.ru/rest_help/crm/leads/crm_lead_update.php)
//
// Параметры:
// URL - Строка - URL внешнего вебхука или адрес Bitrix24 при использовании токена - url
// IDЛида - Число,Строка - ID задачи - lead
// СтруктураПолей - Структура Из КлючИЗначение - Структура полей лида - fields
// Токен - Строка - Токен авторизации, если используется не вебхук - token
//
// Возвращаемое значение:
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Bitrix24
Функция ИзменитьЛид(Знач URL, Знач IDЛида, Знач СтруктураПолей, Знач Токен = "") Экспорт
Параметры = НормализоватьАвторизацию(URL, Токен, "crm.lead.update");
OPI_Инструменты.ДобавитьПоле("fields", СтруктураПолей , "Коллекция", Параметры);
OPI_Инструменты.ДобавитьПоле("id" , IDЛида , "Строка" , Параметры);
Ответ = OPI_Инструменты.Post(URL, Параметры);
Возврат Ответ;
КонецФункции
#КонецОбласти
#КонецОбласти

View File

@ -238,6 +238,7 @@
НовыйТест(ТаблицаТестов, "Б24_РаботаСПолямиЗадач" , "Работа с польз. полями задач" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УправлениеПодразделениями" , "Управление подразделениями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_УправлениеПользователями" , "Управление пользователями" , Битрикс);
НовыйТест(ТаблицаТестов, "Б24_РаботаСЛидами" , "Работа с лидами" , Битрикс);
НовыйТест(ТаблицаТестов, "ВКТ_ОтправкаСообщений" , "Отправка сообщений" , ВКТ);
НовыйТест(ТаблицаТестов, "ВКТ_ОбщиеМетоды" , "Общие методы" , ВКТ);

View File

@ -3131,6 +3131,23 @@
КонецПроцедуры
Процедура Б24_РаботаСЛидами() Экспорт
ПараметрыТеста = Новый Структура;
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_URL" , ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Domain", ПараметрыТеста);
OPI_ПолучениеДанныхТестов.ПараметрВКоллекцию("Bitrix24_Token" , ПараметрыТеста);
Bitrix24_ПолучитьСписокЛидов(ПараметрыТеста);
Bitrix24_ПолучитьСтруктуруФильтраЛидов(ПараметрыТеста);
Bitrix24_ПолучитьСтруктуруЛида(ПараметрыТеста);
Bitrix24_СоздатьЛид(ПараметрыТеста);
Bitrix24_ПолучитьЛид(ПараметрыТеста);
Bitrix24_ИзменитьЛид(ПараметрыТеста);
Bitrix24_УдалитьЛид(ПараметрыТеста);
КонецПроцедуры
#КонецОбласти
#Область VkTeams
@ -3877,8 +3894,17 @@
КонецПроцедуры
Процедура Проверка_БитриксОбъект(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]).ИмеетТип("Соответствие");
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["ID"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксЛид(Знач Результат)
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["PHONE"]).Заполнено();
OPI_ПолучениеДанныхТестов.ОжидаетЧто(Результат["result"]["NAME"]).Заполнено();
КонецПроцедуры
Процедура Проверка_БитриксВложение(Знач Результат)
@ -10290,6 +10316,201 @@
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтруктуруФильтраЛидов(ПараметрыФункции)
Результат = OPI_Bitrix24.ПолучитьСтруктуруФильтраЛидов();
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруФильтраЛидов", "Bitrix24");
Проверка_Структура(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСтруктуруЛида(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруЛида (хук)", "Bitrix24");
Проверка_БитриксЛид(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.ПолучитьСтруктуруЛида(URL, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСтруктуруЛида", "Bitrix24");
Проверка_БитриксЛид(Результат);
КонецПроцедуры
Процедура Bitrix24_СоздатьЛид(ПараметрыФункции)
МассивПочт = Новый Массив;
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "yo@example.com", "HOME"));
МассивПочт.Добавить(Новый Структура("VALUE,VALUE_TYPE", "hi@example.com", "WORK"));
МассивНомеров = Новый Массив;
МассивНомеров.Добавить(Новый Структура("VALUE,VALUE_TYPE", "88005553535", "WORK"));
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Пушкина, д. 10");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Россия");
СтруктураПолей.Вставить("EMAIL" , МассивПочт);
СтруктураПолей.Вставить("NAME" , "Петр");
СтруктураПолей.Вставить("LAST_NAME" , "Петров");
СтруктураПолей.Вставить("PHONE" , МассивНомеров);
СтруктураПолей.Вставить("TITLE" , "Мегаклиент");
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЛид (хук)", "Bitrix24");
Проверка_БитриксЧисло(Результат); // SKIP
IDЛида = Результат["result"]; // SKIP
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_HookLeadID", IDЛида); // SKIP
ПараметрыФункции.Вставить("Bitrix24_HookLeadID", IDЛида); // SKIP
СтруктураПолей.Вставить("NAME" , "Иван");
СтруктураПолей.Вставить("LAST_NAME" , "Иванов");
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Результат = OPI_Bitrix24.СоздатьЛид(URL, СтруктураПолей, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "СоздатьЛид", "Bitrix24");
Проверка_БитриксЧисло(Результат);
IDЛида = Результат["result"];
OPI_ПолучениеДанныхТестов.ЗаписатьПараметр("Bitrix24_LeadID", IDЛида);
ПараметрыФункции.Вставить("Bitrix24_LeadID", IDЛида);
КонецПроцедуры
Процедура Bitrix24_ИзменитьЛид(ПараметрыФункции)
СтруктураПолей = Новый Структура;
СтруктураПолей.Вставить("ADDRESS" , "ул. Лермонтова, д. 20");
СтруктураПолей.Вставить("ADDRESS_COUNTRY", "Беларусь");
СтруктураПолей.Вставить("TITLE" , "Суперклиент");
URL = ПараметрыФункции["Bitrix24_URL"];
IDЛида = ПараметрыФункции["Bitrix24_HookLeadID"];
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЛид (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
СтруктураПолей.Вставить("NAME" , "Евгений");
СтруктураПолей.Вставить("LAST_NAME" , "Евгеньев");
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЛида = ПараметрыФункции["Bitrix24_LeadID"];
Результат = OPI_Bitrix24.ИзменитьЛид(URL, IDЛида, СтруктураПолей, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ИзменитьЛид", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_УдалитьЛид(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDЛида = ПараметрыФункции["Bitrix24_HookLeadID"];
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛид (хук)", "Bitrix24");
Проверка_БитриксИстина(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЛида = ПараметрыФункции["Bitrix24_LeadID"];
Результат = OPI_Bitrix24.УдалитьЛид(URL, IDЛида, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "УдалитьЛид", "Bitrix24");
Проверка_БитриксИстина(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьЛид(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
IDЛида = ПараметрыФункции["Bitrix24_HookLeadID"];
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЛид (хук)", "Bitrix24");
Проверка_БитриксЛид(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
IDЛида = ПараметрыФункции["Bitrix24_LeadID"];
Результат = OPI_Bitrix24.ПолучитьЛид(URL, IDЛида, Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьЛид", "Bitrix24");
Проверка_БитриксЛид(Результат);
КонецПроцедуры
Процедура Bitrix24_ПолучитьСписокЛидов(ПараметрыФункции)
URL = ПараметрыФункции["Bitrix24_URL"];
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL);
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЛидов (хук)", "Bitrix24");
Проверка_БитриксМассив(Результат); // SKIP
URL = ПараметрыФункции["Bitrix24_Domain"];
Токен = ПараметрыФункции["Bitrix24_Token"];
Фильтр = Новый Структура;
Фильтр.Вставить("TITLE" , "Мегаклиент");
Фильтр.Вставить("HAS_EMAIL", "Y");
Результат = OPI_Bitrix24.ПолучитьСписокЛидов(URL, Фильтр, ,Токен);
// END
// !OInt OPI_ПолучениеДанныхТестов.ЗаписатьЛог(Результат, "ПолучитьСписокЛидов", "Bitrix24");
Проверка_БитриксМассив(Результат);
КонецПроцедуры
#КонецОбласти
#Область YandexDisk

View File

@ -5515,6 +5515,213 @@
НоваяСтрока.Область = "Управление пользователями";
НоваяСтрока.ОписаниеМетода = "Возвращает структуру полей для фильтрации пользователей в методе НайтиПользователей";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "СоздатьЛид";
НоваяСтрока.МетодПоиска = "СОЗДАТЬЛИД";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Создает новый лид по структуре полей (см. ПолучитьСтруктуруЛида)";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "СоздатьЛид";
НоваяСтрока.МетодПоиска = "СОЗДАТЬЛИД";
НоваяСтрока.Параметр = "--fields";
НоваяСтрока.Описание = "Структура полей лида (см. ПолучитьСтруктуруЛида)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "СоздатьЛид";
НоваяСтрока.МетодПоиска = "СОЗДАТЬЛИД";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьЛид";
НоваяСтрока.МетодПоиска = "УДАЛИТЬЛИД";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Удаляет лид по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьЛид";
НоваяСтрока.МетодПоиска = "УДАЛИТЬЛИД";
НоваяСтрока.Параметр = "--lead";
НоваяСтрока.Описание = "ID задачи";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "УдалитьЛид";
НоваяСтрока.МетодПоиска = "УДАЛИТЬЛИД";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьЛид";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЛИД";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Получает лид по ID";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьЛид";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЛИД";
НоваяСтрока.Параметр = "--lead";
НоваяСтрока.Описание = "ID лида";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьЛид";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬЛИД";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокЛидов";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКЛИДОВ";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Получает список лидов (50 шт. за запрос максимум) с фильтром или без (см. ПолучитьСтруктуруФильтраЛидов)";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокЛидов";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКЛИДОВ";
НоваяСтрока.Параметр = "--filter";
НоваяСтрока.Описание = "Структура отбора лидов (см. ПолучитьСтруктуруФильтраЛидов) (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокЛидов";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКЛИДОВ";
НоваяСтрока.Параметр = "--offset";
НоваяСтрока.Описание = "Отступ от начала списка для получения лидов > 50 шт. рекурсивно (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСписокЛидов";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСПИСОКЛИДОВ";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьЛид";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬЛИД";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Изменяет существующий лид";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьЛид";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬЛИД";
НоваяСтрока.Параметр = "--lead";
НоваяСтрока.Описание = "ID задачи";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьЛид";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬЛИД";
НоваяСтрока.Параметр = "--fields";
НоваяСтрока.Описание = "Структура полей лида";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ИзменитьЛид";
НоваяСтрока.МетодПоиска = "ИЗМЕНИТЬЛИД";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруЛида";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУЛИДА";
НоваяСтрока.Параметр = "--url";
НоваяСтрока.Описание = "URL внешнего вебхука или адрес Bitrix24 при использовании токена";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Получает структуру с описанием полей для создания лида";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруЛида";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУЛИДА";
НоваяСтрока.Параметр = "--token";
НоваяСтрока.Описание = "Токен авторизации, если используется не вебхук (необяз. по ум. - Пустое значение)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока = ТаблицаСостава.Добавить();
НоваяСтрока.Библиотека = "bitrix24";
НоваяСтрока.Модуль = "OPI_Bitrix24";
НоваяСтрока.Метод = "ПолучитьСтруктуруФильтраЛидов";
НоваяСтрока.МетодПоиска = "ПОЛУЧИТЬСТРУКТУРУФИЛЬТРАЛИДОВ";
НоваяСтрока.Параметр = "--empty";
НоваяСтрока.Описание = "Истина > структура с пустыми значениями, Ложь > в значениях будут описания полей (необяз. по ум. - Нет)";
НоваяСтрока.Область = "Работа с лидами";
НоваяСтрока.ОписаниеМетода = "Возвращает структуру полей для фильтрации лидов в методе ПолучитьСписокЛидов";
Возврат ТаблицаСостава;
КонецФункции