amocrm-rails 0.0.2 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2cb219fe063a5d21fddcefcb2d4195064f9ff56b49323b589b27f36296b4ec65
4
- data.tar.gz: e1112134a356914b22f427a2b79dccd874bbda6507187c98ce53728c0cf3246c
3
+ metadata.gz: 62e5324a456fdc52f8455190fdc7c5d55e3cca449c837259366c732e3f11ffc0
4
+ data.tar.gz: 13cf6d39b9b5c6b824fa53b476aeae5d8e6b056c1b36fb6bdea12e0435624a4a
5
5
  SHA512:
6
- metadata.gz: f09f1078d5d316a27bfd5d78b3d520fd102765fb7c3519c6c049fcec24ec1292a716c324aaa8edc58104795edb43f1ac2fe1d3be5b0a67ed8c742ef0a56adaef
7
- data.tar.gz: b71ad8deccf5261ac1eeaf5332a899f1a9c8f56322f34e45b8166e4426f16c33a3529920df6e87a1d9da5e7b9b4157a7bea86cc6e33d842e4d15ff6a97118e94
6
+ metadata.gz: e0bc864c80a9adee3e062b17978074dae509ec67a6d656cb7f5989945a7c6981a7b8b0f55e789b1a445567af8c76f4909af156270481b112fb61119ae77be52f
7
+ data.tar.gz: 7acd4c01f0d42cbc3168f26b2cf2c2589b1a26818c4d624891abde8cc889e65b45d3040d398c56edb3cec73498b026c96e0258136475f964f8488c4e6e442a54
data/README.markdown CHANGED
@@ -1,6 +1,166 @@
1
1
  # Amocrm для Rails
2
2
 
3
- ## Установка
3
+ ## Оглавление
4
+ 0. [Установка](#install)
5
+ 1. [Упрощенная авторизация](#easy_auth)
6
+ 2. [Авторизация через перенаправления пользователя (требуется gem Devise)](#devise_auth)
7
+ 1. [Параметры аккаунта](#account)
8
+ 2. [Сделки](#leads)
9
+ 1. [Список сделок](#leads_retrieve)
10
+ 2. [Получение сделки по ID](#lead_id_retrieve)
11
+ 3. [Добавление сделок](#leads_create)
12
+ 4. [Комплексное добавление сделок с контактом и компанией](#leads_complex)
13
+ 5. [Редактирование сделок](#leads_update)
14
+ 6. [Редактирование сделки](#lead_update)
15
+ 3. [Неразобранное](#unsorted)
16
+ 1. [Список неразобранного](#unsorted_retrieve)
17
+ 2. [Получение неразобранного по UID](#unsorted_uid_retrieve)
18
+ 3. [Добавление неразобранного типа звонок](#unsorted_uid_sip)
19
+ 4. [Добавление неразобранного типа форма](#unsorted_uid_forms)
20
+ 5. [Принятие неразобранного](#unsorted_uid_accept)
21
+ 6. [Отклонение неразобранного](#unsorted_uid_decline)
22
+ 7. [Привязка неразобранного](#unsorted_uid_link)
23
+ 8. [Сводная информация о неразобранных сделках](#unsorted_summary)
24
+ 9. [Описание объектов metadata](#unsorted_meta)
25
+ 4. [Воронки и этапы](#leads_pipelines)
26
+ 1. [Общая информация](#leads_pipelines_info)
27
+ 2. [Список воронок сделок](#leads_pipelines_list)
28
+ 3. [Получение воронки сделок по ID](#leads_pipelines_detail)
29
+ 4. [Добавление воронок](#leads_pipelines_add)
30
+ 5. [Редактирование воронки](#leads_pipelines_edit)
31
+ 6. [Удаление воронки](#leads_pipelines_delete)
32
+ 7. [Список статусов воронки сделок](#leads_pipelines_statuses_list)
33
+ 8. [Получение статуса воронки сделок по ID](#leads_pipelines_statuses_detail)
34
+ 9. [Добавление статусов в воронку](#leads_pipelines_statuses_add)
35
+ 10. [Редактирование статуса воронки](#leads_pipelines_statuses_edit)
36
+ 11. [Удаление статуса воронки](#leads_pipelines_statuses_delete)
37
+ 12. [Доступные цвета статусов](#leads_pipelines_statuses_colors)
38
+ 5. [Фильтрация](#filters)
39
+ 1. [Фильтрация списка сделок](#filters_leads)
40
+ 2. [Фильтрация списка контактов](#filters_contacts)
41
+ 3. [Фильтрация списка компаний](#filters_companies)
42
+ 4. [Фильтрация списка покупателей](#filters_customers)
43
+ 5. [Типы фильтров](#filters_types)
44
+ 6. [Контакты](#contacts)
45
+ 1. [Список контактов](#contacts_list)
46
+ 2. [Получение контакта по ID](#contacts_detail)
47
+ 3. [Добавление контактов](#contacts_add)
48
+ 4. [Редактирование контактов](#contacts_edit)
49
+ 5. [Редактирование контакта](#contact_edit)
50
+ 6. [Привязка чатов к контактам](#contacts_chat_connect)
51
+ 7. [Получение списка чатов контакта](#contacts_chat_list)
52
+ 7. [Компании](#companies)
53
+ 1. [Список компаний](#companies_list)
54
+ 2. [Получение компании по ID](#companies_detail)
55
+ 3. [Добавление компаний](#companies_add)
56
+ 4. [Редактирование компаний](#companies_edit)
57
+ 5. [Редактирование компании](#company_edit)
58
+ 8. [Списки](#catalogs)
59
+ 1. [Доступные списки](#catalogs_list)
60
+ 2. [Получение списка по ID](#catalogs_detail)
61
+ 3. [Добавление списков](#catalogs_add)
62
+ 4. [Редактирование списков](#catalogs_edit)
63
+ 5. [Редактирование списка](#catalog_edit)
64
+ 6. [Доступные элементы списка](#catalog_elements_list)
65
+ 7. [Получение элемента списка по ID](#catalog_elements_list_detail)
66
+ 8. [Добавление элементов списков](#catalog_elements_add)
67
+ 9. [Редактирование элементов списков](#catalog_elements_edit)
68
+ 10. [Редактирование элемента списка](#catalog_element_edit)
69
+ 9. [Связи сущностей](#links)
70
+ 1. [Список связанных сущностей](#links_list)
71
+ 2. [Привязка сущностей](#links_link)
72
+ 3. [Отвязка сущностей](#links_link)
73
+ 4. [Массовый список связанных сущностей](#mass_links_list)
74
+ 5. [Массовая привязка сущностей](#mass_links_link)
75
+ 6. [Массовая отвязка сущностей](#mass_links_unlink)
76
+ 10. [Задачи](#tasks)
77
+ 1. [Список задач](#tasks_list)
78
+ 2. [Получение задачи по ID](#tasks_detail)
79
+ 3. [Добавление задач](#tasks_add)
80
+ 4. [Редактирование задач](#tasks_edit)
81
+ 5. [Редактирование задачи](#task_edit)
82
+ 6. [Выполнение задачи](#task_complete)
83
+ 11. [Поля и группы полей](#custom_fields)
84
+ 1. [Список полей сущности](#custom_fields_list)
85
+ 2. [Получение поля сущности по его ID](#custom_fields_detail)
86
+ 3. [Создание дополнительных полей сущности](#custom_fields_add)
87
+ 4. [Редактирование дополнительных полей сущности](#custom_fields_edit)
88
+ 5. [Удаление дополнительного поля](#custom_fields_delete)
89
+ 6. [Список групп полей сущности](#custom_fields_groups_list)
90
+ 7. [Получение группы полей сущности по ID группы](#custom_fields_groups_detail)
91
+ 8. [Создание групп полей](#custom_fields_groups_add)
92
+ 9. [Редактирование группы полей](#custom_fields_groups_edit)
93
+ 10. [Удаление группы дополнительных полей](#custom_fields_groups_delete)
94
+ 11. [Доступные типы полей](#custom_fields_types)
95
+ 12. [Примеры заполнения разных типов полей через API](#custom_fields_examples)
96
+ 12. [Теги](#tags)
97
+ 1. [Список полей сущности](#tags_list)
98
+ 2. [Добавление тегов для конкретного типа сущности](#tags_add)
99
+ 3. [Добавление тегов к сущности](#add_tags_to_entity)
100
+ 4. [Удаление тегов у сущности](#delete_tags_from_entity)
101
+ 13. [События и примечания](#events_and_notes)
102
+ 1. [Список событий](#events_list)
103
+ 2. [Значения для фильтра по значению до/после](#events_filter_params)
104
+ 3. [Типы событий](#events_types)
105
+ 4. [Общая информация о примечаниях](#notes_common_info)
106
+ 5. [Типы примечаний](#notes_types)
107
+ 6. [Список примечаний по типу сущности](#notes_list)
108
+ 7. [Список примечаний по конкретной сущности, по ID сущности](#notes_entity_list)
109
+ 8. [Получение примечания по ID](#note_detail)
110
+ 9. [Добавление примечаний](#notes_add)
111
+ 14. [Покупатели](#customers)
112
+ 1. [Включение покупателей и смена их режима](#customers_mode)
113
+ 2. [Список покупателей](#customers_list)
114
+ 3. [Получение покупателя по ID](#customers_detail)
115
+ 4. [Добавление покупателей](#customers_add)
116
+ 5. [Редактирование покупателей](#customers_edit)
117
+ 6. [Редактирование покупателя](#customer_edit)
118
+ 7. [Список транзакций](#transactions_list)
119
+ 8. [Получение транзакции по ID](#transactions_detail)
120
+ 9. [Добавление транзакций к покупателю](#transactions_add)
121
+ 10. [Удаление транзакции](#transaction_delete)
122
+ 11. [Списание/начисление бонусных баллов покупателю](#customer_bonus_points_update)
123
+ 15. [Статусы и сегменты покупателей](#customers_statuses)
124
+ 1. [Список статусов покупателей](#customers_statuses_list)
125
+ 2. [Получение статуса покупателей по ID](#customers_statuses_detail)
126
+ 3. [Добавление статусов в воронку](#customers_statuses_add)
127
+ 4. [Редактирование статуса покупателей](#customers_statuses_edit)
128
+ 5. [Удаление статуса покупателей](#customer_status_delete)
129
+ 6. [Список сегментов покупателей](#segments_list)
130
+ 7. [Получение сегмента покупателей по ID](#segments_detail)
131
+ 8. [Добавление сегмента покупателей](#segments_add)
132
+ 9. [Редактирование сегмента покупателей](#segments_edit)
133
+ 10. [Удаление сегмента покупателей](#segment_delete)
134
+ 11. [Доступные цвета статусов](#customers_statuses_colors)
135
+ 12. [Доступные цвета сегментов](#customers_statuses_colors)
136
+ 16. [Пользователи](#users)
137
+ 1. [Список пользователей](#users_list)
138
+ 2. [Получение пользователя по ID](#users_detail)
139
+ 3. [Добавление пользователей](#users_add)
140
+ 4. [Список ролей пользователей](#roles_list)
141
+ 5. [Получение роли по ID](#roles_detail)
142
+ 6. [Добавление ролей](#roles_add)
143
+ 7. [Редактирование роли](#roles_edit)
144
+ 8. [Удаление роли](#roles_delete)
145
+ 9. [Общие обозначения прав пользователей](#users_common_rights)
146
+ 10. [Зависимости прав пользователей](#users_rights_dependence)
147
+ 17. [Товары](#products)
148
+ 18. [Вебхуки](#webhooks)
149
+ 1. [Список установленных вебхуков в аккаунте](#webhooks_list)
150
+ 2. [Подписка на вебхук](#webhooks_subscribe)
151
+ 3. [Отписка от событий](#webhooks_delete)
152
+ 4. [Возможные событий](#webhooks_available_actions)
153
+ 19. [Виджеты](#widgets)
154
+ 1. [Список виджетов](#widgets_list)
155
+ 2. [Информация о виджете по его коду](#widgets_detail)
156
+ 3. [Установка виджета в аккаунт](#widgets_install)
157
+ 4. [Удаление установки виджета](#widgets_uninstall)
158
+ 5. [Подтверждение выполнения блока виджета в Salesbot](#widgets_continue)
159
+ 20. [Добавление звонков](#calls)
160
+ 21. [Salebot](#salesbot)
161
+ 22. [Короткие ссылки](#short_links)
162
+
163
+ ## <a name="install"></a> Установка
4
164
 
5
165
  добавьте в Gemfile:
6
166
 
@@ -8,135 +168,2119 @@
8
168
 
9
169
  и запустите `bundle install`.
10
170
 
11
- Затем: `rails g amocrm_rails:install`
171
+ Для упрощенной авторизации:
172
+
173
+ `rails g amocrm_rails:install`
174
+
175
+ Для авторизации через перенаправление пользователя (требуется [gem devise](https://github.com/heartcombo/devise)):
176
+
177
+ `rails g amocrm_rails:install --with=devise`
178
+
179
+ ### Получение CLIENT_ID, CLIENT_SECRET и CODE
180
+
181
+ #### <a name="easy_auth"></a> Упрощенная авторизация
182
+
183
+ 1. Переходим на страницу интеграций https://yourdomain.amocrm.ru/settings/widgets/ и нажимаем "+ СОЗДАТЬ ИНТЕГРАЦИЮ"
184
+ ![alt Страница виджетов](https://storage.deppa.ru/uploads/widgets.png)
185
+ 2. Заполняем поля, в первое поле вводим https://yourdomain.com/amocrm и нажимаем "Сохранить"
186
+ ![alt Создание интеграции](https://storage.deppa.ru/uploads/widget_add.png)
187
+ 3. Переходим на таб "Ключи и доступы". Код авторизации работает 20 минут.
188
+ ![alt Создание интеграции](https://storage.deppa.ru/uploads/widget_keys.png)
189
+
190
+ В файл `config/amocrm.yml` вставляем данные.
191
+
192
+ #### <a name="devise_auth"></a> Авторизация через перенаправления пользователя (требуется [gem Devise](https://github.com/heartcombo/devise))
193
+
194
+ Выполняем все шаги как при [упрощенной авторизации](#easy_auth)
195
+
196
+ Ссылка на получение кода:
197
+ ```rhtml
198
+ <%= link_to "Установить интеграцию",
199
+ amocrm_oauth_url(state: current_user.try(:id)),
200
+ class: 'btn btn-primary' %>
201
+ ```
202
+ Пример доступен по адресу:
203
+ `
204
+ https://yourdomain/amocrm/link
205
+ `
206
+
207
+ ![alt Страница с кнопкой](https://storage.deppa.ru/uploads/amo_link.png)
208
+
209
+ Нажимаем на кнопку, логинимся в амо и даём права приложению
210
+
211
+ ![alt Авторизация в amo](https://storage.deppa.ru/uploads/amo_form.png)
212
+
213
+ После вы будуте перенаправлены на страницу https://yourdomain.com/amocrm
12
214
 
13
- В файл `config/amocrm.yml` вставьте ваши данные.
215
+ ![alt Страница с кнопкой](https://storage.deppa.ru/uploads/amo_code.png)
216
+
217
+ Если вы увидили код - всё в порядке, копировать код нет необходимости, страницу можно закрыть.
218
+
219
+ Если вы не используете [gem Devise](https://github.com/heartcombo/devise), то вам необходимо реализовать в
220
+ application_controller.rb методы `current_user` для получения текущего пользователя, `user_signed_in?` для проверки
221
+ авторизован ли посетитель на вашем сайте и `new_user_session_path` для получения пути к странице авторизции.
14
222
 
15
223
  Вы можете изменять `timeout`, `open_timeout`, `faraday_adapter`, `proxy`, `symbolize_keys`, `logger`, и `debug`:
16
224
 
17
225
  ```ruby
18
- AmocrmRals::Request.timeout = 15
19
- AmocrmRals::Request.open_timeout = 15
20
- AmocrmRals::Request.symbolize_keys = true
21
- AmocrmRals::Request.debug = false
226
+ AmocrmRails::Request.timeout = 60
227
+ AmocrmRails::Request.open_timeout = 60
228
+ AmocrmRails::Request.symbolize_keys = true
229
+ AmocrmRails::Request.debug = false
22
230
  ```
23
231
  в файле `config/initializers/amocrm.rb`
24
232
 
25
- ## Списки
233
+ ## <a name="account"></a> [Параметры аккаунта](https://www.amocrm.ru/developers/content/crm_platform/account-info)
234
+ ```ruby
235
+ params = {
236
+ with: 'amojo_id,amojo_rights,users_groups,task_types,version,entity_names,datetime_settings'
237
+ }
238
+ response = AmocrmRails::Request.account.retrieve(params: params)
239
+ p(response.body)
240
+ ```
241
+
242
+ ## <a name="leads"></a> Сделки
243
+ ### <a name="leads_retrieve"></a> [Список сделок](https://www.amocrm.ru/developers/content/crm_platform/leads-api)
244
+
245
+ ```ruby
246
+ params = {
247
+ with: 'catalog_elements',
248
+ page: 0,
249
+ limit: 10
250
+ }
251
+ response = AmocrmRails::Request.leads.retrieve(params: params)
252
+ p(response.body)
253
+ leads = response.body[:_embedded][:leads]
254
+ lead_id = leads.first[:id]
255
+ ```
256
+ ### <a name="lead_id_retrieve"></a> [Получение сделки по ID](https://www.amocrm.ru/developers/content/crm_platform/leads-api#lead-detail)
257
+
258
+ ```ruby
259
+ params = {
260
+ with: 'catalog_elements'
261
+ }
262
+ response = AmocrmRails::Request.leads(lead_id).retrieve(params: params)
263
+ p(response.body)
264
+ ```
265
+ ### <a name="leads_create"></a> [Добавление сделок](https://www.amocrm.ru/developers/content/crm_platform/leads-api#leads-add)
266
+
267
+ ```ruby
268
+ body = [
269
+ {
270
+ "name": "Сделка для примера 1",
271
+ "created_by": 0,
272
+ "price": 20000
273
+ },
274
+ {
275
+ "name": "Сделка для примера 2",
276
+ "price": 10000
277
+ }
278
+ ]
279
+ response = AmocrmRails::Request.leads.create(body: body)
280
+ p(response.body)
281
+ leads = response.body[:_embedded][:leads]
282
+ ```
283
+ ### <a name="leads_complex"></a> [Комплексное добавление сделок с контактом и компанией](https://www.amocrm.ru/developers/content/crm_platform/leads-api#leads-complex-add)
26
284
 
27
- ### Добавление, обновление и удаление списков
28
- #### Добавление
29
285
  ```ruby
30
- items = [
286
+ body = [
287
+ {
288
+ name: "Название сделки",
289
+ price: 3422,
290
+ created_at: 1608905348
291
+ },
31
292
  {
32
- name: "Товары"
293
+ name: "Название сделки",
294
+ price: 3422
33
295
  }
34
296
  ]
35
- body = {
36
- add: items
37
- }
38
- response = AmocrmRails::Request.catalogs.create(body: body)
39
- items.map!.with_index { |item, index| item.merge(response.body[:_embedded][:items][index]) }
297
+ response = AmocrmRails::Request.leads.complex.create(body: body)
298
+ p(response.body)
40
299
  ```
41
- #### Обновление
300
+ ### <a name="leads_update"></a> [Редактирование сделок](https://www.amocrm.ru/developers/content/crm_platform/leads-api#leads-edit)
301
+ ```ruby
302
+ body = [
303
+ {
304
+ id: 666749,
305
+ closed_at: 1589297221
306
+ },
307
+ {
308
+ id: 666753,
309
+ price: 50000
310
+ }
311
+ ]
312
+ response = AmocrmRails::Request.leads.update(body: body)
313
+ p(response.body)
314
+ leads = response.body[:_embedded][:leads]
42
315
  ```
43
- items.each do |item|
44
- item[:name].insert(-1, ' updated')
45
- item.delete(:_links)
46
- end
316
+ ### <a name="lead_update"></a> [Редактирование сделки](https://www.amocrm.ru/developers/content/crm_platform/leads-api#leads-edit)
47
317
 
318
+ ```ruby
48
319
  body = {
49
- update: items
320
+ closed_at: 1589297221
50
321
  }
51
- response = AmocrmRails::Request.catalogs.create(body: body)
52
- item_ids = response.body[:_embedded][:items].map{ |item| item[:id] }
322
+ response = AmocrmRails::Request.leads(666749).update(body: body)
323
+ p(response.body)
324
+ leads = response.body[:_embedded][:leads]
53
325
  ```
54
326
 
55
- #### Удаление
56
- ```
57
- 🤦🤦🤦
58
- body = "{\"delete\": [{#{item_ids.join(',')}]}"
59
- AmocrmRails::Request.catalogs.create(body: body)
327
+ ## <a name="unsorted"></a> Неразобранное
328
+ ### <a name="unsorted_retrieve"></a> [Список неразобранного](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-list)
329
+
330
+ ```ruby
331
+ params = {
332
+ page: 0,
333
+ limit: 10
334
+ }
335
+ response = AmocrmRails::Request.leads.unsorted.retrieve(params: params)
336
+ p(response.body)
337
+ unsorted = response.body[:_embedded][:unsorted]
338
+ uid = unsorted.first[:uid]
60
339
  ```
340
+ ### <a name="unsorted_uid_retrieve"></a> [Получение неразобранного по UID](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-detail)
61
341
 
62
- ### Перечень списков
63
342
  ```ruby
64
- response = AmocrmRails::Request.catalogs.retrieve
343
+ response = AmocrmRails::Request.leads.unsorted(uid).retrieve
65
344
  p(response.body)
66
- item_ids = response.body[:_embedded][:items].map{|item| item[:id]}
67
345
  ```
346
+ ### <a name="unsorted_uid_sip"></a> [Добавление неразобранного типа звонок](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-add-sip)
68
347
 
69
- ## Методы элементов списка
348
+ ```ruby
349
+ body = [
350
+ {
351
+ source_name: "ООО Деппа",
352
+ source_uid: "a1fee7c0fc436088e64ba2e8822ba2b3",
353
+ created_at: 1510261200,
354
+ _embedded: {
355
+ leads: [
356
+ {
357
+ name: "Тех обслуживание",
358
+ price: 5000
359
+ }
360
+ ],
361
+ contacts: [
362
+ {
363
+ name: "Контакт для примера"
364
+ }
365
+ ],
366
+ companies: [
367
+ {
368
+ name: "ООО Деппа"
369
+ }
370
+ ]
371
+ },
372
+ metadata: {
373
+ is_call_event_needed: true,
374
+ uniq: "a1fe231cc88e64ba2e8822ba2b3ewrw",
375
+ duration: 54,
376
+ service_code: "CkAvbEwPam6sad",
377
+ link: "https://deppa.ru",
378
+ phone: 79998888888,
379
+ called_at: 1510261200,
380
+ from: "onlinePBX"
381
+ }
382
+ }
383
+ ]
384
+ response = AmocrmRails::Request.leads.unsorted.sip.create(body: body)
385
+ p(response.body)
386
+ ```
387
+ ### <a name="unsorted_uid_forms"></a> [Добавление неразобранного типа форма](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-add-form)
70
388
 
71
- ### Добавление, обновление и удаление элементов списка
389
+ ```ruby
390
+ body = [
391
+ {
392
+ source_name: "ООО Деппа",
393
+ source_uid: "a1fee7c0fc436088e64ba2e8822ba2b3",
394
+ created_at: 1590830520,
395
+ _embedded: {
396
+ leads: [
397
+ {
398
+ name: "Тех обслуживание",
399
+ visitor_uid: "5692210d-58d0-468c-acb2-dce7f93eef87",
400
+ price: 5000,
401
+ _embedded: {
402
+ tags: [
403
+ {
404
+ name: "Тег для примера"
405
+ }
406
+ ]
407
+ }
408
+ }
409
+ ],
410
+ contacts: [
411
+ {
412
+ name: 234,
413
+ first_name: "123213",
414
+ last_name: 234,
415
+ custom_fields_values: [
416
+ {
417
+ field_code: "PHONE",
418
+ values: [
419
+ {
420
+ value: "+7912321323"
421
+ }
422
+ ]
423
+ }
424
+ ]
425
+ }
426
+ ],
427
+ companies: [
428
+ {
429
+ name: "ООО Деппа"
430
+ }
431
+ ]
432
+ },
433
+ metadata: {
434
+ ip: "123.222.2.22",
435
+ form_id: "a1fee7c0fc436088e64ba2e8822ba2b3ewrw",
436
+ form_sent_at: 1590830520,
437
+ form_name: "Форма заявки для полёта в космос",
438
+ form_page: "https://deppa.ru",
439
+ referer: "https://www.google.com/search?&q=elon+musk"
440
+ }
441
+ }
442
+ ]
443
+ response = AmocrmRails::Request.leads.unsorted.forms.create(body: body)
444
+ p(response.body)
445
+ uid = response.body[:_embedded][:unsorted].first[:uid]
446
+ ```
447
+ ### <a name="unsorted_uid_accept"></a> [Принятие неразобранного](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-accept)
72
448
 
73
- #### Добавление элементов
74
449
  ```ruby
75
450
  body = {
76
- add: [
77
- {
78
- catalog_id: item_ids.first,
79
- name: "Карандаш"
80
- }
81
- ]
451
+ status_id: 41504311
82
452
  }
83
- response = AmocrmRails::Request.catalog_elements.create(body: body)
453
+ response = AmocrmRails::Request.leads.unsorted(uid).accept.create(body: body)
84
454
  p(response.body)
85
- catalog_element_ids = response.body[:_embedded][:items].map{|item| item[:id]}
86
455
  ```
456
+ ### <a name="unsorted_uid_decline"></a> [Отклонение неразобранного](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-decline)
457
+
458
+ ```ruby
459
+ response = AmocrmRails::Request.leads.unsorted(uid).decline.delete
460
+ p(response.body)
461
+ ```
462
+ ### <a name="unsorted_uid_link"></a> [Привязка неразобранного](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-link)
87
463
 
88
- #### Обновление элементов
89
464
  ```ruby
90
465
  body = {
91
- update: [
92
- {
93
- catalog_id: item_ids.first,
94
- id: catalog_element_ids.first,
95
- name: "Ручка"
96
- }
97
- ]
466
+ link: {
467
+ entity_id: lead_id,
468
+ entity_type: "leads"
469
+ }
98
470
  }
99
- response = AmocrmRails::Request.catalog_elements.create(body: body)
471
+ response = AmocrmRails::Request.leads.unsorted(uid).link.create(body: body)
472
+ p(response.body)
473
+ ```
474
+ ### <a name="unsorted_summary"></a> [Сводная информация о неразобранных сделках](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#unsorted-summary)
475
+
476
+ ```ruby
477
+ response = AmocrmRails::Request.leads.unsorted.summary.retrieve
100
478
  p(response.body)
101
479
  ```
480
+ ### <a name="unsorted_meta"></a> [Описание объектов metadata](https://www.amocrm.ru/developers/content/crm_platform/unsorted-api#metadata-description)
102
481
 
103
- #### Удаление элементов
482
+ ## <a name="leads_pipelines"></a> Воронки и этапы
104
483
 
484
+ ### <a name="leads_pipelines_info"></a> [Общая информация](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#common-info)
485
+ ### <a name="leads_pipelines_list"></a> [Список воронок сделок](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#pipelines-list)
486
+ ```ruby
487
+ response = AmocrmRails::Request.leads.pipelines.retrieve
488
+ p(response.body)
489
+ pipelines = response.body[:_embedded][:pipelines]
490
+ pipeline_id = pipelines.first[:id]
491
+ ```
492
+ ### <a name="leads_pipelines_detail"></a> [Получение воронки сделок по ID](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#pipeline-detail)
493
+ ```ruby
494
+ response = AmocrmRails::Request.leads.pipelines(pipeline_id).retrieve
495
+ p(response.body)
496
+ ```
497
+ ### <a name="leads_pipelines_add"></a> [Добавление воронок](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#pipelines-add)
498
+ ```ruby
499
+ body = [
500
+ {
501
+ name: "Воронка доп продаж",
502
+ is_main: false,
503
+ is_unsorted_on: true,
504
+ sort: 20,
505
+ request_id: "123",
506
+ _embedded: {
507
+ statuses: [
508
+ {
509
+ id: 142,
510
+ name: "Мое название для успешных сделок"
511
+ },
512
+ {
513
+ name: "Первичный контакт",
514
+ sort: 10,
515
+ color: "#fffeb2"
516
+ }
517
+ ]
518
+ }
519
+ }
520
+ ]
521
+ response = AmocrmRails::Request.leads.pipelines.create(body: body)
522
+ p(response.body)
523
+ pipelines = response.body[:_embedded][:pipelines]
524
+ pipeline_id = pipelines.first[:id]
525
+ ```
526
+ ### <a name="leads_pipelines_edit"></a> [Редактирование воронки](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#pipeline-edit)
105
527
  ```ruby
106
528
  body = {
107
- delete: [catalog_element_ids.first]
529
+ "name": "Новое название для воронки",
530
+ "is_main": false,
531
+ "is_unsorted_on": false,
532
+ "sort": 100
108
533
  }
109
- response = AmocrmRails::Request.catalog_elements.create(body: body)
534
+ response = AmocrmRails::Request.leads.pipelines(pipeline_id).update(body: body)
110
535
  p(response.body)
111
536
  ```
537
+ ### <a name="leads_pipelines_delete"></a> [Удаление воронки](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#pipeline-delete)
538
+ ```ruby
539
+ AmocrmRails::Request.leads.pipelines(pipeline_id).delete
540
+ ```
541
+ ### <a name="leads_pipelines_statuses_list"></a> [Список статусов воронки сделок](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#statuses-list)
542
+ ```ruby
543
+ response = AmocrmRails::Request.leads.pipelines(pipeline_id).statuses.retrieve
544
+ p(response.body)
545
+ statuses = response.body[:_embedded][:statuses]
546
+ status_id = statuses.first[:id]
547
+ ```
548
+ ### <a name="leads_pipelines_statuses_detail"></a> [Получение статуса воронки сделок по ID](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#status-detail)
549
+ ```ruby
550
+ response = AmocrmRails::Request.leads.pipelines(pipeline_id).statuses(status_id).retrieve
551
+ p(response.body)
552
+ ```
553
+ ### <a name="leads_pipelines_statuses_add"></a> [Добавление статусов в воронку](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#statuses-add)
554
+ ```ruby
555
+ body = [
556
+ {
557
+ name: "Новый этап",
558
+ sort: 100,
559
+ color: "#fffeb2"
560
+ },
561
+ {
562
+ name: "Новый этап 2",
563
+ sort: 200,
564
+ color: "#fffeb2"
565
+ }
566
+ ]
567
+ response = AmocrmRails::Request.leads.pipelines(pipeline_id).statuses.create(body: body)
568
+ p(response.body)
569
+ statuses = response.body[:_embedded][:statuses]
570
+ status_id = statuses.first[:id]
571
+ ```
572
+ ### <a name="leads_pipelines_statuses_edit"></a> [Редактирование статуса воронки](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#status-edit)
573
+ ```ruby
574
+ body = {
575
+ name: "Новое название для статуса",
576
+ color: "#c1e0ff"
577
+ }
578
+ response = AmocrmRails::Request.leads.pipelines(pipeline_id).statuses(status_id).update(body: body)
579
+ p(response.body)
580
+ ```
581
+ ### <a name="leads_pipelines_statuses_delete"></a> [Удаление статуса воронки](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#status-delete)
582
+ ```ruby
583
+ AmocrmRails::Request.leads.pipelines(pipeline_id).statuses(status_id).delete
584
+ ```
585
+ ### <a name="leads_pipelines_statuses_colors"></a> [Доступные цвета статусов](https://www.amocrm.ru/developers/content/crm_platform/leads_pipelines#statuses-colors)
112
586
 
113
- ### Перечень элементов списка
114
-
587
+ ## <a name="filters"></a> [Фильтрация](https://www.amocrm.ru/developers/content/crm_platform/filters-api)
588
+ ### <a name="filters_leads"></a> [Фильтрация списка сделок](https://www.amocrm.ru/developers/content/crm_platform/filters-api#leads-filter)
115
589
  ```ruby
116
590
  params = {
117
- catalog_id: item_ids.first
591
+ filter: {
592
+ id: lead_id
593
+ }
118
594
  }
119
- response = AmocrmRails::Request.catalog_elements.retrieve(params: params)
595
+ response = AmocrmRails::Request.leads.retrieve(params: params)
120
596
  p(response.body)
121
- items = response.body[:_embedded][:items]
597
+ leads = response.body[:_embedded][:leads]
122
598
  ```
599
+ ### <a name="filters_contacts"></a> [Фильтрация списка контактов](https://www.amocrm.ru/developers/content/crm_platform/filters-api#contacts-filter)
600
+ ```ruby
601
+ params = {
602
+ filter: {
603
+ name: "Павел Осетров"
604
+ }
605
+ }
606
+ response = AmocrmRails::Request.contacts.retrieve(params: params)
607
+ p(response.body)
608
+ contacts = response.body[:_embedded][:contacts]
609
+ ```
610
+ ### <a name="filters_companies"></a> [Фильтрация списка компаний](https://www.amocrm.ru/developers/content/crm_platform/filters-api#companies-filter)
611
+ ```ruby
612
+ params = {
613
+ filter: {
614
+ name: "ООО Деппа"
615
+ }
616
+ }
617
+ response = AmocrmRails::Request.companies.retrieve(params: params)
618
+ p(response.body)
619
+ companies = response.body[:_embedded][:companies]
620
+ ```
621
+ ### <a name="filters_customers"></a> [Фильтрация списка покупателей](https://www.amocrm.ru/developers/content/crm_platform/filters-api#customers-filter)
622
+ ```ruby
623
+ params = {
624
+ filter: {
625
+ name: "Павел Осетров"
626
+ }
627
+ }
628
+ response = AmocrmRails::Request.customers.retrieve(params: params)
629
+ p(response.body)
630
+ customers = response.body[:_embedded][:customers]
631
+ ```
632
+ ### <a name="filters_types"></a> [Типы фильтров](https://www.amocrm.ru/developers/content/crm_platform/filters-api#filter-types)
123
633
 
124
- ## Товары
125
-
126
- ### Включение функционала
127
-
634
+ ## <a name="contacts"></a> [Контакты](https://www.amocrm.ru/developers/content/crm_platform/contacts-api)
635
+ ### <a name="contacts_list"></a> [Список контактов](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contacts-list)
636
+ ```ruby
637
+ params = {
638
+ with: 'leads',
639
+ page: 0,
640
+ limit: 10
641
+ }
642
+ response = AmocrmRails::Request.contacts.retrieve(params: params)
643
+ p(response.body)
644
+ contacts = response.body[:_embedded][:contacts]
645
+ contact_id = contacts.first[:id]
646
+ ```
647
+ ### <a name="contacts_detail"></a> [Получение контакта по ID](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contact-detail)
648
+ ```ruby
649
+ response = AmocrmRails::Request.contacts(contact_id).retrieve
650
+ p(response.body)
651
+ ```
652
+ ### <a name="contacts_add"></a> [Добавление контактов](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contacts-add)
653
+ ```ruby
654
+ body = [
655
+ {
656
+ first_name: "Петр",
657
+ last_name: "Смирнов"
658
+ },
659
+ {
660
+ name: "Владимир Смирнов"
661
+ }
662
+ ]
663
+ response = AmocrmRails::Request.contacts.create(body: body)
664
+ p(response.body)
665
+ contacts = response.body[:_embedded][:contacts]
666
+ contact_id = contacts.first[:id]
667
+ ```
668
+ ### <a name="contacts_edit"></a> [Редактирование контактов](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contacts-edit)
669
+ ```ruby
670
+ body = [
671
+ {
672
+ id: contact_id,
673
+ first_name: "Иван",
674
+ last_name: "Иванов"
675
+ }
676
+ ]
677
+ response = AmocrmRails::Request.contacts.update(body: body)
678
+ p(response.body)
679
+ contacts = response.body[:_embedded][:contacts]
680
+ contact_id = contacts.first[:id]
681
+ ```
682
+ ### <a name="contact_edit"></a> [Редактирование контакта](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contacts-edit)
128
683
  ```ruby
129
684
  body = {
130
- enabled: true
685
+ first_name: "Иван",
686
+ last_name: "Иванов"
131
687
  }
132
- response = AmocrmRails::Request.products_settings.create(body: body)
688
+ response = AmocrmRails::Request.contacts(contact_id).update(body: body)
133
689
  p(response.body)
134
- catalog_product_id = response.body[:catalog_id]
135
690
  ```
136
-
137
- ### Статус активности функционала
138
-
691
+ ### <a name="contacts_chat_connect"></a> [Привязка чатов к контактам](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contacts-chat-connect)
692
+ ```ruby
693
+ body = [
694
+ {
695
+ contact_id: contact_id,
696
+ chat_id: uid
697
+ }
698
+ ]
699
+ response = AmocrmRails::Request.contacts.chats.create(body: body)
700
+ p(response.body)
701
+ ```
702
+ ### <a name="contacts_chat_list"></a> [Получение списка чатов контакта](https://www.amocrm.ru/developers/content/crm_platform/contacts-api#contacts-chat-list)
703
+ ```ruby
704
+ params = [
705
+ {
706
+ contact_id: contact_id
707
+ }
708
+ ]
709
+ response = AmocrmRails::Request.contacts.chats.retrieve(params: params)
710
+ p(response.body)
711
+ ```
712
+ ## <a name="companies"></a> [Компании](https://www.amocrm.ru/developers/content/crm_platform/companies-api)
713
+ ### <a name="companies_list"></a> [Список компаний](https://www.amocrm.ru/developers/content/crm_platform/companies-api#companies-list)
714
+ ```ruby
715
+ params = {
716
+ with: 'leads',
717
+ page: 0,
718
+ limit: 10
719
+ }
720
+ response = AmocrmRails::Request.companies.retrieve(params: params)
721
+ p(response.body)
722
+ companies = response.body[:_embedded][:companies]
723
+ company_id = companies.first[:id]
724
+ ```
725
+ ### <a name="companies_detail"></a> [Получение компании по ID](https://www.amocrm.ru/developers/content/crm_platform/companies-api#company-detail)
726
+ ```ruby
727
+ response = AmocrmRails::Request.companies(company_id).retrieve
728
+ p(response.body)
729
+ ```
730
+ ### <a name="companies_add"></a> [Добавление компаний](https://www.amocrm.ru/developers/content/crm_platform/companies-api#companies-add)
731
+ ```ruby
732
+ body = [
733
+ {
734
+ name: "ООО Деппа"
735
+ }
736
+ ]
737
+ response = AmocrmRails::Request.companies.create(body: body)
738
+ p(response.body)
739
+ companies = response.body[:_embedded][:companies]
740
+ company_id = companies.first[:id]
741
+ ```
742
+ ### <a name="companies_edit"></a> [Редактирование компаний](https://www.amocrm.ru/developers/content/crm_platform/companies-api#companies-edit)
743
+ ```ruby
744
+ body = [
745
+ {
746
+ id: company_id,
747
+ name: "ООО ДЕППА"
748
+ }
749
+ ]
750
+ response = AmocrmRails::Request.companies.update(body: body)
751
+ p(response.body)
752
+ companies = response.body[:_embedded][:companies]
753
+ company_id = companies.first[:id]
754
+ ```
755
+ ### <a name="company_edit"></a> [Редактирование компании](https://www.amocrm.ru/developers/content/crm_platform/companies-api#companies-edit)
139
756
  ```ruby
140
- response = AmocrmRails::Request.products_settings.retrieve
757
+ body = {
758
+ name: "ООО ДЕППА"
759
+ }
760
+ response = AmocrmRails::Request.companies(company_id).update(body: body)
761
+ p(response.body)
762
+ company_id = response.body[:id]
763
+ ```
764
+ ## <a name="catalogs"></a> [Списки](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api)
765
+ ### <a name="catalogs_list"></a> [Доступные списки](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#lists-list)
766
+ ```ruby
767
+ params = {
768
+ page: 0,
769
+ limit: 10
770
+ }
771
+ response = AmocrmRails::Request.catalogs.retrieve(params: params)
772
+ p(response.body)
773
+ catalogs = response.body[:_embedded][:catalogs]
774
+ catalog_id = catalogs.first[:id]
775
+ ```
776
+ ### <a name="catalogs_detail"></a> [Получение списка по ID](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#list-detail)
777
+ ```ruby
778
+ response = AmocrmRails::Request.catalogs(catalog_id).retrieve
779
+ p(response.body)
780
+ ```
781
+ ### <a name="catalogs_add"></a> [Добавление списков](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#lists-add)
782
+ ```ruby
783
+ body = [
784
+ {
785
+ name: "Тестовый список",
786
+ can_add_elements: true,
787
+ can_link_multiple: false
788
+ }
789
+ ]
790
+ response = AmocrmRails::Request.catalogs.create(body: body)
791
+ p(response.body)
792
+ catalogs = response.body[:_embedded][:catalogs]
793
+ catalog_id = catalogs.first[:id]
794
+ ```
795
+ ### <a name="catalogs_edit"></a> [Редактирование списков](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#lists-edit)
796
+ ```ruby
797
+ body = [
798
+ {
799
+ id: catalog_id,
800
+ name: "Новое имя списка"
801
+ }
802
+ ]
803
+ response = AmocrmRails::Request.catalogs.update(body: body)
804
+ p(response.body)
805
+ catalogs = response.body[:_embedded][:catalogs]
806
+ catalog_id = catalogs.first[:id]
807
+ ```
808
+ ### <a name="catalog_edit"></a> [Редактирование списка](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#lists-edit)
809
+ ```ruby
810
+ body = {
811
+ name: "Новое имя списка"
812
+ }
813
+ response = AmocrmRails::Request.catalogs(catalog_id).update(body: body)
814
+ p(response.body)
815
+ catalog_id = response.body[:id]
816
+ ```
817
+ ### <a name="catalog_elements_list"></a> [Доступные элементы списка](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#list-elements-list)
818
+ ```ruby
819
+ params = {
820
+ with: 'invoice_link',
821
+ page: 0,
822
+ limit: 10
823
+ }
824
+ response = AmocrmRails::Request.catalogs(catalog_id).elements.retrieve(params: params)
825
+ p(response.body)
826
+ elements = response.body[:_embedded][:elements]
827
+ element_id = elements.first[:id]
828
+ ```
829
+ ### <a name="catalog_elements_list_detail"></a> [Получение элемента списка по ID](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#list-elements-detail)
830
+ ```ruby
831
+ params = {
832
+ with: 'invoice_link'
833
+ }
834
+ response = AmocrmRails::Request.catalogs(catalog_id).elements(element_id).retrieve(params: params)
835
+ p(response.body)
836
+ element_id = response.body[:id]
837
+ ```
838
+ ### <a name="catalog_elements_add"></a> [Добавление элементов списков](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#list-elements-add)
839
+ ```ruby
840
+ body = [
841
+ {
842
+ name: "Новый элемент списка"
843
+ }
844
+ ]
845
+ response = AmocrmRails::Request.catalogs(catalog_id).elements.create(body: body)
846
+ p(response.body)
847
+ elements = response.body[:_embedded][:elements]
848
+ element_id = elements.first[:id]
849
+ ```
850
+ ### <a name="catalog_elements_edit"></a> [Редактирование элементов списков](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#list-elements-edit)
851
+ ```ruby
852
+ body = [
853
+ {
854
+ id: element_id,
855
+ name: "Новое имя элемента"
856
+ }
857
+ ]
858
+ response = AmocrmRails::Request.catalogs(catalog_id).elements.update(body: body)
859
+ p(response.body)
860
+ elements = response.body[:_embedded][:elements]
861
+ element_id = elements.first[:id]
862
+ ```
863
+ ### <a name="catalog_element_edit"></a> [Редактирование элемента списка](https://www.amocrm.ru/developers/content/crm_platform/catalogs-api#list-elements-edit)
864
+ ```ruby
865
+ body = {
866
+ name: "Новое имя элемента"
867
+ }
868
+ response = AmocrmRails::Request.catalogs(catalog_id).elements(element_id).update(body: body)
869
+ p(response.body)
870
+ element_id = response.body[:id]
871
+ ```
872
+ ## <a name="links"></a> [Связи сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api)
873
+ ### <a name="links_list"></a> [Список связанных сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api#links-list)
874
+ ```ruby
875
+ response = AmocrmRails::Request.leads(lead_id).links.retrieve
876
+ links = response.body[:_embedded][:links]
877
+ ```
878
+ ```ruby
879
+ response = AmocrmRails::Request.contacts(contact_id).links.retrieve
880
+ links = response.body[:_embedded][:links]
881
+ ```
882
+ ```ruby
883
+ response = AmocrmRails::Request.companies(company_id).links.retrieve
884
+ links = response.body[:_embedded][:links]
885
+ ```
886
+ ```ruby
887
+ response = AmocrmRails::Request.customers(customer_id).links.retrieve
888
+ links = response.body[:_embedded][:links]
889
+ ```
890
+ ### <a name="links_link"></a> [Привязка сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api#links-link)
891
+ ```ruby
892
+ body = [
893
+ {
894
+ to_entity_id: 10,
895
+ to_entity_type: "catalog_elements",
896
+ metadata: {
897
+ quantity: 1,
898
+ catalog_id: 1026
899
+ }
900
+ },
901
+ {
902
+ to_entity_id: 457282,
903
+ to_entity_type: "contacts",
904
+ metadata: {
905
+ is_main: true,
906
+ }
907
+ }
908
+ ]
909
+ ```
910
+ ```ruby
911
+ response = AmocrmRails::Request.leads(lead_id).link.create(body: body)
912
+ links = response.body[:_embedded][:links]
913
+ ```
914
+ ```ruby
915
+ response = AmocrmRails::Request.contacts(contact_id).link.create(body: body)
916
+ links = response.body[:_embedded][:links]
917
+ ```
918
+ ```ruby
919
+ response = AmocrmRails::Request.companies(company_id).link.create(body: body)
920
+ links = response.body[:_embedded][:links]
921
+ ```
922
+ ```ruby
923
+ response = AmocrmRails::Request.customers(customer_id).link.create(body: body)
924
+ links = response.body[:_embedded][:links]
925
+ ```
926
+ ### <a name="links_unlink"></a> [Отвязка сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api#links-unlink)
927
+ ```ruby
928
+ body = [
929
+ {
930
+ to_entity_id: 10,
931
+ to_entity_type: "catalog_elements",
932
+ metadata: {
933
+ catalog_id: 1026
934
+ }
935
+ },
936
+ {
937
+ to_entity_id: 457282,
938
+ to_entity_type: "contacts",
939
+ }
940
+ ]
941
+ ```
942
+ ```ruby
943
+ response = AmocrmRails::Request.leads(lead_id).unlink.create(body: body)
944
+ links = response.body[:_embedded][:links]
945
+ ```
946
+ ```ruby
947
+ response = AmocrmRails::Request.contacts(contact_id).unlink.create(body: body)
948
+ links = response.body[:_embedded][:links]
949
+ ```
950
+ ```ruby
951
+ response = AmocrmRails::Request.companies(company_id).unlink.create(body: body)
952
+ links = response.body[:_embedded][:links]
953
+ ```
954
+ ```ruby
955
+ response = AmocrmRails::Request.customers(customer_id).unlink.create(body: body)
956
+ links = response.body[:_embedded][:links]
957
+ ```
958
+ ### <a name="mass_links_list"></a> [Массовый список связанных сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api#mass-links-list)
959
+ ```ruby
960
+ response = AmocrmRails::Request.leads.links.retrieve
961
+ links = response.body[:_embedded][:links]
962
+ ```
963
+ ```ruby
964
+ response = AmocrmRails::Request.contacts.links.retrieve
965
+ links = response.body[:_embedded][:links]
966
+ ```
967
+ ```ruby
968
+ response = AmocrmRails::Request.companies.links.retrieve
969
+ links = response.body[:_embedded][:links]
970
+ ```
971
+ ```ruby
972
+ response = AmocrmRails::Request.customers.links.retrieve
973
+ links = response.body[:_embedded][:links]
974
+ ```
975
+ ### <a name="mass_links_link"></a> [Массовая привязка сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api#mass-links-link)
976
+ ```ruby
977
+ body = [
978
+ {
979
+ entity_id: 14158851,
980
+ to_entity_id: 10,
981
+ to_entity_type: "catalog_elements",
982
+ metadata: {
983
+ quantity: 1,
984
+ catalog_id: 1026
985
+ }
986
+ },
987
+ {
988
+ entity_id: 14158852,
989
+ to_entity_id: 457282,
990
+ to_entity_type: "contacts",
991
+ metadata: {
992
+ is_main: true,
993
+ }
994
+ }
995
+ ]
996
+ ```
997
+ ```ruby
998
+ response = AmocrmRails::Request.leads.link.create(body: body)
999
+ links = response.body[:_embedded][:links]
1000
+ ```
1001
+ ```ruby
1002
+ response = AmocrmRails::Request.contacts.link.create(body: body)
1003
+ links = response.body[:_embedded][:links]
1004
+ ```
1005
+ ```ruby
1006
+ response = AmocrmRails::Request.companies.link.create(body: body)
1007
+ links = response.body[:_embedded][:links]
1008
+ ```
1009
+ ```ruby
1010
+ response = AmocrmRails::Request.customers.link.create(body: body)
1011
+ links = response.body[:_embedded][:links]
1012
+ ```
1013
+ ### <a name="mass_links_unlink"></a> [Массовая отвязка сущностей](https://www.amocrm.ru/developers/content/crm_platform/entity-links-api#mass-links-unlink)
1014
+ ```ruby
1015
+ body = [
1016
+ {
1017
+ to_entity_id: 10,
1018
+ to_entity_type: "catalog_elements",
1019
+ metadata: {
1020
+ catalog_id: 1026
1021
+ }
1022
+ },
1023
+ {
1024
+ to_entity_id: 457282,
1025
+ to_entity_type: "contacts",
1026
+ }
1027
+ ]
1028
+ ```
1029
+ ```ruby
1030
+ response = AmocrmRails::Request.leads.unlink.create(body: body)
1031
+ links = response.body[:_embedded][:links]
1032
+ ```
1033
+ ```ruby
1034
+ response = AmocrmRails::Request.contacts.unlink.create(body: body)
1035
+ links = response.body[:_embedded][:links]
1036
+ ```
1037
+ ```ruby
1038
+ response = AmocrmRails::Request.companies.unlink.create(body: body)
1039
+ links = response.body[:_embedded][:links]
1040
+ ```
1041
+ ```ruby
1042
+ response = AmocrmRails::Request.customers.unlink.create(body: body)
1043
+ links = response.body[:_embedded][:links]
1044
+ ```
1045
+ ## <a name="tasks"></a> [Задачи](https://www.amocrm.ru/developers/content/crm_platform/tasks-api)
1046
+ ### <a name="tasks_list"></a> [Список задач](https://www.amocrm.ru/developers/content/crm_platform/tasks-api#tasks-list)
1047
+ ```ruby
1048
+ params = {
1049
+ page: 0,
1050
+ limit: 10
1051
+ }
1052
+ response = AmocrmRails::Request.tasks.retrieve(params: params)
1053
+ p(response.body)
1054
+ tasks = response.body[:_embedded][:tasks]
1055
+ task_id = tasks.first[:id]
1056
+ ```
1057
+ ### <a name="tasks_detail"></a> [Получение задачи по ID](https://www.amocrm.ru/developers/content/crm_platform/tasks-api#task-detail)
1058
+ ```ruby
1059
+ response = AmocrmRails::Request.tasks(task_id).retrieve
1060
+ p(response.body)
1061
+ task_id = response.body[:id]
1062
+ ```
1063
+ ### <a name="tasks_add"></a> [Добавление задач](https://www.amocrm.ru/developers/content/crm_platform/tasks-api#tasks-add)
1064
+ ```ruby
1065
+ body = [
1066
+ {
1067
+ task_type_id: 1,
1068
+ text: "Встретиться с клиентом Иван Иванов",
1069
+ complete_till: 1588885140
1070
+ }
1071
+ ]
1072
+ response = AmocrmRails::Request.tasks.create(body: body)
1073
+ p(response.body)
1074
+ tasks = response.body[:_embedded][:tasks]
1075
+ ```
1076
+ ### <a name="tasks_edit"></a> [Редактирование задач](https://www.amocrm.ru/developers/content/crm_platform/tasks-api#tasks-edit)
1077
+ ```ruby
1078
+ body = [
1079
+ {
1080
+ id: task_id,
1081
+ task_type_id: 2,
1082
+ text: "Новое название для задачи",
1083
+ complete_till: 1588885140
1084
+ }
1085
+ ]
1086
+ response = AmocrmRails::Request.tasks.update(body: body)
1087
+ p(response.body)
1088
+ tasks = response.body[:_embedded][:tasks]
1089
+ ```
1090
+ ### <a name="task_edit"></a> [Редактирование задачи](https://www.amocrm.ru/developers/content/crm_platform/tasks-api#tasks-edit)
1091
+ ```ruby
1092
+ body = {
1093
+ task_type_id: 2,
1094
+ text: "Новое название для задачи",
1095
+ complete_till: 1588885140
1096
+ }
1097
+ response = AmocrmRails::Request.tasks(task_id).update(body: body)
1098
+ task = response.body
1099
+ ```
1100
+ ### <a name="task_complete"></a> [Выполнение задачи](https://www.amocrm.ru/developers/content/crm_platform/tasks-api#tasks-complete)
1101
+ ```ruby
1102
+ body = {
1103
+ is_completed: true,
1104
+ result: {
1105
+ text: "Удалось связаться с клиентом"
1106
+ }
1107
+ }
1108
+ response = AmocrmRails::Request.tasks(task_id).update(body: body)
1109
+ task = response.body
1110
+ ```
1111
+ ## <a name="custom_fields"></a> [Поля и группы полей](https://www.amocrm.ru/developers/content/crm_platform/custom-fields)
1112
+ ### <a name="custom_fields_list"></a> [Список полей сущности](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-list)
1113
+ ```ruby
1114
+ response = AmocrmRails::Request.leads.custom_fields.retrieve
1115
+ ```
1116
+ ```ruby
1117
+ response = AmocrmRails::Request.contacts.custom_fields.retrieve
1118
+ ```
1119
+ ```ruby
1120
+ response = AmocrmRails::Request.companies.custom_fields.retrieve
1121
+ ```
1122
+ ```ruby
1123
+ response = AmocrmRails::Request.customers.custom_fields.retrieve
1124
+ ```
1125
+ ```ruby
1126
+ response = AmocrmRails::Request.customers.segments.custom_fields.retrieve
1127
+ ```
1128
+ ```ruby
1129
+ response = AmocrmRails::Request.catalogs(catalog_id).custom_fields.retrieve
1130
+ ```
1131
+ ```ruby
1132
+ custom_fields = response.body[:_embedded][:custom_fields]
1133
+ ```
1134
+ ### <a name="custom_fields_detail"></a> [Получение поля сущности по его ID](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-field-detail)
1135
+ ```ruby
1136
+ response = AmocrmRails::Request.leads.custom_fields(id).retrieve
1137
+ ```
1138
+ ```ruby
1139
+ response = AmocrmRails::Request.contacts.custom_fields(id).retrieve
1140
+ ```
1141
+ ```ruby
1142
+ response = AmocrmRails::Request.companies.custom_fields(id).retrieve
1143
+ ```
1144
+ ```ruby
1145
+ response = AmocrmRails::Request.customers.custom_fields(id).retrieve
1146
+ ```
1147
+ ```ruby
1148
+ response = AmocrmRails::Request.customers.segments.custom_fields(id).retrieve
1149
+ ```
1150
+ ```ruby
1151
+ response = AmocrmRails::Request.catalogs(catalog_id).custom_fields(id).retrieve
1152
+ ```
1153
+ ```ruby
1154
+ custom_fields = response.body
1155
+ ```
1156
+ ### <a name="custom_fields_add"></a> [Создание дополнительных полей сущности](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-add)
1157
+ ```ruby
1158
+ body = [
1159
+ {
1160
+ name: "multi select",
1161
+ type: "multiselect",
1162
+ sort: 510,
1163
+ required_statuses: [
1164
+ {
1165
+ pipeline_id: 16056,
1166
+ status_id: 20540473
1167
+ }
1168
+ ],
1169
+ enums: [
1170
+ {
1171
+ value: "Значение 1",
1172
+ sort: 1
1173
+ },
1174
+ {
1175
+ value: "Значение 2",
1176
+ sort: 2
1177
+ }
1178
+ ]
1179
+ }
1180
+ ]
1181
+ ```
1182
+ ```ruby
1183
+ response = AmocrmRails::Request.leads.custom_fields.create(body: body)
1184
+ ```
1185
+ ```ruby
1186
+ response = AmocrmRails::Request.contacts.custom_fields.create(body: body)
1187
+ ```
1188
+ ```ruby
1189
+ response = AmocrmRails::Request.companies.custom_fields.create(body: body)
1190
+ ```
1191
+ ```ruby
1192
+ response = AmocrmRails::Request.customers.custom_fields.create(body: body)
1193
+ ```
1194
+ ```ruby
1195
+ response = AmocrmRails::Request.customers.segments.custom_fields.create(body: body)
1196
+ ```
1197
+ ```ruby
1198
+ response = AmocrmRails::Request.catalogs(catalog_id).custom_fields.create(body: body)
1199
+ ```
1200
+ ```ruby
1201
+ custom_fields = response.body[:_embedded][:custom_fields]
1202
+ ```
1203
+ ### <a name="custom_fields_edit"></a> [Редактирование дополнительных полей сущности](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-edit)
1204
+ ```ruby
1205
+ custom_field_id = 1278898087
1206
+ body_items = [{
1207
+ "id": custom_field_id,
1208
+ "name": "Новое имя для дополнительного поля",
1209
+ "sort": 560,
1210
+ "is_visible": false,
1211
+ "is_required": true
1212
+ }]
1213
+ body_item = {
1214
+ "name": "Новое имя для дополнительного поля",
1215
+ "sort": 560,
1216
+ "is_visible": false,
1217
+ "is_required": true
1218
+ }
1219
+ ```
1220
+ ```ruby
1221
+ AmocrmRails::Request.leads.custom_fields.update(body: body_items)
1222
+ AmocrmRails::Request.leads.custom_fields(custom_field_id).update(body: body_item)
1223
+ ```
1224
+ ```ruby
1225
+ AmocrmRails::Request.contacts.custom_fields.update(body: body_items)
1226
+ AmocrmRails::Request.contacts.custom_fields(custom_field_id).update(body: body_item)
1227
+ ```
1228
+ ```ruby
1229
+ AmocrmRails::Request.companies.custom_fields.update(body: body_items)
1230
+ AmocrmRails::Request.companies.custom_fields(custom_field_id).update(body: body_item)
1231
+ ```
1232
+ ```ruby
1233
+ AmocrmRails::Request.customers.custom_fields.update(body: body_items)
1234
+ AmocrmRails::Request.customers.custom_fields(custom_field_id).update(body: body_item)
1235
+ ```
1236
+ ```ruby
1237
+ AmocrmRails::Request.customers.segments.custom_fields.update(body: body_items)
1238
+ AmocrmRails::Request.customers.segments.custom_fields(custom_field_id).update(body: body_item)
1239
+ ```
1240
+ ```ruby
1241
+ AmocrmRails::Request.catalogs(catalog_id).custom_fields.update(body: body_items)
1242
+ AmocrmRails::Request.catalogs(catalog_id).custom_fields(custom_field_id).update(body: body_item)
1243
+ ```
1244
+ ### <a name="custom_fields_delete"></a> [Удаление дополнительного поля](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-field-delete)
1245
+
1246
+ ```ruby
1247
+ AmocrmRails::Request.leads.custom_fields(custom_field_id).delete
1248
+ ```
1249
+ ```ruby
1250
+ AmocrmRails::Request.contacts.custom_fields(custom_field_id).delete
1251
+ ```
1252
+ ```ruby
1253
+ AmocrmRails::Request.companies.custom_fields(custom_field_id).delete
1254
+ ```
1255
+ ```ruby
1256
+ AmocrmRails::Request.customers.custom_fields(custom_field_id).delete
1257
+ ```
1258
+ ```ruby
1259
+ AmocrmRails::Request.customers.segments.custom_fields(custom_field_id).delete
1260
+ ```
1261
+ ```ruby
1262
+ AmocrmRails::Request.catalogs(catalog_id).custom_fields(custom_field_id).delete
1263
+ ```
1264
+ ### <a name="custom_fields_groups_list"></a> [Список групп полей сущности](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-groups-list)
1265
+ ```ruby
1266
+ response = AmocrmRails::Request.leads.custom_fields.groups.retrieve
1267
+ ```
1268
+ ```ruby
1269
+ response = AmocrmRails::Request.contacts.custom_fields.groups.retrieve
1270
+ ```
1271
+ ```ruby
1272
+ response = AmocrmRails::Request.companies.custom_fields.groups.retrieve
1273
+ ```
1274
+ ```ruby
1275
+ response = AmocrmRails::Request.customers.custom_fields.groups.retrieve
1276
+ ```
1277
+ ```ruby
1278
+ custom_field_groups = response[:_embedded][:custom_field_groups]
1279
+ group_id = custom_field_groups.first[:id]
1280
+ ```
1281
+ ### <a name="custom_fields_groups_detail"></a> [Получение группы полей сущности по ID группы](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-group-detail)
1282
+ ```ruby
1283
+ response = AmocrmRails::Request.leads.custom_fields.groups(group_id).retrieve
1284
+ ```
1285
+ ```ruby
1286
+ response = AmocrmRails::Request.contacts.custom_fields.groups(group_id).retrieve
1287
+ ```
1288
+ ```ruby
1289
+ response = AmocrmRails::Request.companies.custom_fields.groups(group_id).retrieve
1290
+ ```
1291
+ ```ruby
1292
+ response = AmocrmRails::Request.customers.custom_fields.groups(group_id).retrieve
1293
+ ```
1294
+ ```ruby
1295
+ group_id = response[:id]
1296
+ ```
1297
+ ### <a name="custom_fields_groups_add"></a> [Создание групп полей](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-groups-add)
1298
+
1299
+ ```ruby
1300
+ body = [
1301
+ {
1302
+ name: "group 1",
1303
+ sort: 4
1304
+ },
1305
+ {
1306
+ name: "group 2",
1307
+ sort: 5
1308
+ }
1309
+ ]
1310
+ ```
1311
+ ```ruby
1312
+ response = AmocrmRails::Request.leads.custom_fields.groups.create(body: body)
1313
+ ```
1314
+ ```ruby
1315
+ response = AmocrmRails::Request.contacts.custom_fields.groups.create(body: body)
1316
+ ```
1317
+ ```ruby
1318
+ response = AmocrmRails::Request.companies.custom_fields.groups.create(body: body)
1319
+ ```
1320
+ ```ruby
1321
+ response = AmocrmRails::Request.customers.custom_fields.groups.create(body: body)
1322
+ ```
1323
+ ```ruby
1324
+ custom_field_groups = response.body[:_embedded][:custom_field_groups]
1325
+ custom_field_group_id = custom_field_groups.first[:id]
1326
+ ```
1327
+ ### <a name="custom_fields_groups_edit"></a> [Редактирование группы полей](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-group-edit)
1328
+
1329
+ ```ruby
1330
+ body = {
1331
+ sort: 6,
1332
+ fields: [
1333
+ 14563,
1334
+ 12575
1335
+ ]
1336
+ }
1337
+ ```
1338
+ ```ruby
1339
+ response = AmocrmRails::Request.leads.custom_fields.groups(custom_field_group_id).update(body: body)
1340
+ ```
1341
+ ```ruby
1342
+ response = AmocrmRails::Request.contacts.custom_fields.groups(custom_field_group_id).update(body: body)
1343
+ ```
1344
+ ```ruby
1345
+ response = AmocrmRails::Request.companies.custom_fields.groups(custom_field_group_id).update(body: body)
1346
+ ```
1347
+ ```ruby
1348
+ response = AmocrmRails::Request.customers.custom_fields.groups(custom_field_group_id).update(body: body)
1349
+ ```
1350
+ ```ruby
1351
+ custom_field_groups = response.body[:_embedded][:custom_field_groups]
1352
+ custom_field_group_id = custom_field_groups.first[:id]
1353
+ ```
1354
+ ### <a name="custom_fields_groups_delete"></a> [Удаление группы дополнительных полей](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#custom-fields-group-delete)
1355
+
1356
+ ```ruby
1357
+ AmocrmRails::Request.leads.custom_fields.groups(custom_field_group_id).delete
1358
+ ```
1359
+ ```ruby
1360
+ AmocrmRails::Request.contacts.custom_fields.groups(custom_field_group_id).delete
1361
+ ```
1362
+ ```ruby
1363
+ AmocrmRails::Request.companies.custom_fields.groups(custom_field_group_id).delete
1364
+ ```
1365
+ ```ruby
1366
+ AmocrmRails::Request.customers.custom_fields.groups(custom_field_group_id).delete
1367
+ ```
1368
+ ### <a name="custom_fields_types"></a> [Доступные типы полей](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#cf-types)
1369
+ ### <a name="custom_fields_examples"></a> [Примеры заполнения разных типов полей через API](https://www.amocrm.ru/developers/content/crm_platform/custom-fields#cf-fill-examples)
1370
+
1371
+ ## <a name="tags"></a> [Теги](https://www.amocrm.ru/developers/content/crm_platform/tags-api)
1372
+ ### <a name="tags_list"></a> [Список тегов для сущности](https://www.amocrm.ru/developers/content/crm_platform/tags-api#tags-list)
1373
+ ```ruby
1374
+ params = {
1375
+ page: 0,
1376
+ limit: 10
1377
+ }
1378
+ ```
1379
+ ```ruby
1380
+ response = AmocrmRails::Request.leads.tags.retrieve(params: params)
1381
+ ```
1382
+ ```ruby
1383
+ response = AmocrmRails::Request.contacts.tags.retrieve(params: params)
1384
+ ```
1385
+ ```ruby
1386
+ response = AmocrmRails::Request.companies.tags.retrieve(params: params)
1387
+ ```
1388
+ ```ruby
1389
+ response = AmocrmRails::Request.customers.tags.retrieve(params: params)
1390
+ ```
1391
+ ```ruby
1392
+ tags = response.body[:_embedded][:tags]
1393
+ tag_id = tags.first[:id]
1394
+ ```
1395
+ ### <a name="tags_add"></a> [Добавление тегов для конкретного типа сущности](https://www.amocrm.ru/developers/content/crm_platform/tags-api#tags-add)
1396
+ ```ruby
1397
+ body = [
1398
+ {
1399
+ "name": "Tag 1"
1400
+ },
1401
+ {
1402
+ "name": "Tag 2",
1403
+ "request_id": "my_request_id"
1404
+ },
1405
+ {
1406
+ "name": "Tag 3"
1407
+ }
1408
+ ]
1409
+ ```
1410
+ ```ruby
1411
+ response = AmocrmRails::Request.leads.tags.create(body: body)
1412
+ ```
1413
+ ```ruby
1414
+ response = AmocrmRails::Request.contacts.tags.create(body: body)
1415
+ ```
1416
+ ```ruby
1417
+ response = AmocrmRails::Request.companies.tags.create(body: body)
1418
+ ```
1419
+ ```ruby
1420
+ response = AmocrmRails::Request.customers.tags.create(body: body)
1421
+ ```
1422
+ ```ruby
1423
+ tags = response.body[:_embedded][:tags]
1424
+ tag_id = tags.first[:id]
1425
+ ```
1426
+ ### <a name="add_tags_to_entity"></a> [Добавление тегов к сущности](https://www.amocrm.ru/developers/content/crm_platform/tags-api#add-tags-to-entity)
1427
+ ```ruby
1428
+ body_item = {
1429
+ _embedded: {
1430
+ tags: [
1431
+ {
1432
+ id: tag_id
1433
+ }
1434
+ ]
1435
+ }
1436
+ }
1437
+ body = [
1438
+ {
1439
+ id: object_id,
1440
+ _embedded: {
1441
+ tags: [
1442
+ {
1443
+ id: tag_id
1444
+ }
1445
+ ]
1446
+ }
1447
+ }
1448
+ ]
1449
+ ```
1450
+ ```ruby
1451
+ AmocrmRails::Request.leads.update(body: body)
1452
+ AmocrmRails::Request.leads(lead_id).update(body: body_item)
1453
+ ```
1454
+ ```ruby
1455
+ AmocrmRails::Request.contacts.update(body: body)
1456
+ AmocrmRails::Request.contacts(contact_id).update(body: body_item)
1457
+ ```
1458
+ ```ruby
1459
+ AmocrmRails::Request.companies.update(body: body)
1460
+ AmocrmRails::Request.contacts(company_id).update(body: body_item)
1461
+ ```
1462
+ ```ruby
1463
+ AmocrmRails::Request.customers.update(body: body)
1464
+ AmocrmRails::Request.contacts(customer_id).update(body: body_item)
1465
+ ```
1466
+ ### <a name="delete_tags_from_entity"></a> [Удаление тегов у сущности](https://www.amocrm.ru/developers/content/crm_platform/tags-api#delete-tags-from-entity)
1467
+
1468
+ ```ruby
1469
+ body_item = {
1470
+ _embedded: {
1471
+ tags: nil
1472
+ }
1473
+ }
1474
+ body = [
1475
+ {
1476
+ id: object_id,
1477
+ _embedded: {
1478
+ tags: nil
1479
+ }
1480
+ }
1481
+ ]
1482
+ ```
1483
+ ```ruby
1484
+ AmocrmRails::Request.leads.update(body: body)
1485
+ AmocrmRails::Request.leads(lead_id).update(body: body_item)
1486
+ ```
1487
+ ```ruby
1488
+ AmocrmRails::Request.contacts.update(body: body)
1489
+ AmocrmRails::Request.contacts(contact_id).update(body: body_item)
1490
+ ```
1491
+ ```ruby
1492
+ AmocrmRails::Request.companies.update(body: body)
1493
+ AmocrmRails::Request.contacts(company_id).update(body: body_item)
1494
+ ```
1495
+ ```ruby
1496
+ AmocrmRails::Request.customers.update(body: body)
1497
+ AmocrmRails::Request.contacts(customer_id).update(body: body_item)
1498
+ ```
1499
+ ## <a name="events_and_notes"></a> [События и примечания](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes)
1500
+ ### <a name="events_list"></a> [Список событий](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#events-list)
1501
+
1502
+ ```ruby
1503
+ params = {
1504
+ with: 'contact_name',
1505
+ page: 0,
1506
+ limit: 10
1507
+ }
1508
+ ```
1509
+ ```ruby
1510
+ response = AmocrmRails::Request.events.retrieve(params: params)
1511
+ events = response.body[:_embedded][:events]
1512
+ event_id = events.first[:id]
1513
+ ```
1514
+ ### <a name="events_detail"></a> [Получение события по ID](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#events-detail)
1515
+
1516
+ ```ruby
1517
+ params = {
1518
+ with: 'contact_name'
1519
+ }
1520
+ ```
1521
+ ```ruby
1522
+ response = AmocrmRails::Request.events(event_id).retrieve(params: params)
1523
+ event = response.body
1524
+ ```
1525
+ ### <a name="events_filter_params"></a> [Значения для фильтра по значению до/после](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#events-filter-params)
1526
+
1527
+ ```ruby
1528
+ filter = {
1529
+ filter: {
1530
+ value_after: [
1531
+ customers_statuses: [
1532
+ {
1533
+ status_id: 135751,
1534
+ },
1535
+ {
1536
+ status_id: 135754,
1537
+ }
1538
+ ]
1539
+ ]
1540
+ }
1541
+ }
1542
+ ```
1543
+ ```ruby
1544
+ filter = {
1545
+ filter: {
1546
+ value_after: [
1547
+ value: '155',
1548
+ ],
1549
+ type: 'sale_field_changed',
1550
+ entity: 'lead'
1551
+ }
1552
+ }
1553
+ ```
1554
+ ### <a name="events_types"></a> [Типы событий](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#events-types)
1555
+
1556
+ ```ruby
1557
+ params = {
1558
+ language_code: 'en'
1559
+ }
1560
+ ```
1561
+ ```ruby
1562
+ response = AmocrmRails::Request.events.types.retrieve(params: params)
1563
+ events_types = response.body[:_embedded][:events_types]
1564
+ ```
1565
+
1566
+ ### <a name="notes_common_info"></a> [Общая информация о примечаниях](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-common-info)
1567
+ ### <a name="notes_types"></a> [Типы примечаний](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-types)
1568
+ ### <a name="notes_list"></a> [Список примечаний по типу сущности](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-list)
1569
+ ```ruby
1570
+ params = {
1571
+ page: 0,
1572
+ limit: 10
1573
+ }
1574
+ ```
1575
+ ```ruby
1576
+ response = AmocrmRails::Request.leads.notes.retrieve(params: params)
1577
+ ```
1578
+ ```ruby
1579
+ response = AmocrmRails::Request.contacts.notes.retrieve(params: params)
1580
+ ```
1581
+ ```ruby
1582
+ response = AmocrmRails::Request.companies.notes.retrieve(params: params)
1583
+ ```
1584
+ ```ruby
1585
+ response = AmocrmRails::Request.customers.notes.retrieve(params: params)
1586
+ ```
1587
+ ```ruby
1588
+ notes = response.body[:_embedded][:notes]
1589
+ note_id = notes.first[:id]
1590
+ ```
1591
+
1592
+ ### <a name="notes_entity_list"></a> [Список примечаний по конкретной сущности, по ID сущности](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-entity-list)
1593
+ ```ruby
1594
+ params = {
1595
+ page: 0,
1596
+ limit: 10
1597
+ }
1598
+ ```
1599
+ ```ruby
1600
+ response = AmocrmRails::Request.leads(lead_id).notes.retrieve(params: params)
1601
+ ```
1602
+ ```ruby
1603
+ response = AmocrmRails::Request.contacts(contact_id).notes.retrieve(params: params)
1604
+ ```
1605
+ ```ruby
1606
+ response = AmocrmRails::Request.companies(company_id).notes.retrieve(params: params)
1607
+ ```
1608
+ ```ruby
1609
+ response = AmocrmRails::Request.customers(customer_id).notes.retrieve(params: params)
1610
+ ```
1611
+ ```ruby
1612
+ notes = response.body[:_embedded][:notes]
1613
+ note_id = notes.first[:id]
1614
+ ```
1615
+
1616
+ ### <a name="note_detail"></a> [Получение примечания по ID](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#note-detail)
1617
+ ```ruby
1618
+ response = AmocrmRails::Request.leads(lead_id).notes(note_id).retrieve
1619
+ ```
1620
+ ```ruby
1621
+ response = AmocrmRails::Request.contacts(contact_id).notes(note_id).retrieve
1622
+ ```
1623
+ ```ruby
1624
+ response = AmocrmRails::Request.companies(company_id).notes(note_id).retrieve
1625
+ ```
1626
+ ```ruby
1627
+ response = AmocrmRails::Request.customers(customer_id).notes(note_id).retrieve
1628
+ ```
1629
+ ```ruby
1630
+ note = response.body
1631
+ ```
1632
+
1633
+ ### <a name="notes_add"></a> [Добавление примечаний](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-add)
1634
+
1635
+ ```ruby
1636
+ body = [
1637
+ {
1638
+ entity_id: 167353,
1639
+ note_type: "call_in",
1640
+ params: {
1641
+ uniq: "8f52d38a-5fb3-406d-93a3-a4832dc28f8b",
1642
+ duration: 60,
1643
+ source: "onlinePBX",
1644
+ link: "https://deppa.ru",
1645
+ phone: "+79999999999"
1646
+ }
1647
+ },
1648
+ {
1649
+ entity_id: 167353,
1650
+ note_type: "call_out",
1651
+ params: {
1652
+ uniq: "8f52d38a-5fb3-406d-93a3-a4832dc28f8b",
1653
+ duration: 60,
1654
+ source: "onlinePBX",
1655
+ link: "https://deppa.ru",
1656
+ phone: "+79999999999"
1657
+ }
1658
+ },
1659
+ {
1660
+ entity_id: 167353,
1661
+ note_type: "geolocation",
1662
+ params: {
1663
+ text: "Примечание с геолокацией",
1664
+ address: "ул. Пушкина, дом Колотушкина, квартира Вольнова",
1665
+ longitude: "53.714816",
1666
+ latitude: "91.423146"
1667
+ }
1668
+ }
1669
+ ]
1670
+ body_item = {
1671
+ entity_id: 167353,
1672
+ note_type: "call_in",
1673
+ params: {
1674
+ uniq: "8f52d38a-5fb3-406d-93a3-a4832dc28f8b",
1675
+ duration: 60,
1676
+ source: "onlinePBX",
1677
+ link: "https://deppa.ru",
1678
+ phone: "+79999999999"
1679
+ }
1680
+ }
1681
+ ```
1682
+
1683
+ ```ruby
1684
+ AmocrmRails::Request.leads.notes.create(body: body)
1685
+ AmocrmRails::Request.leads(lead_id).notes.create(body: body_item)
1686
+ ```
1687
+ ```ruby
1688
+ AmocrmRails::Request.contacts.notes.create(body: body)
1689
+ AmocrmRails::Request.contacts(contact_id).notes.create(body: body_item)
1690
+ ```
1691
+ ```ruby
1692
+ AmocrmRails::Request.companies.notes.create(body: body)
1693
+ AmocrmRails::Request.companies(company_id).notes.create(body: body_item)
1694
+ ```
1695
+ ```ruby
1696
+ AmocrmRails::Request.customers.notes.create(body: body)
1697
+ AmocrmRails::Request.customers(customer_id).notes.create(body: body_item)
1698
+ ```
1699
+ ```ruby
1700
+ notes = response.body[:_embedded][:notes]
1701
+ note_id = notes.first[:id]
1702
+ ```
1703
+
1704
+ ### <a name="notes_edit"></a> [Редактирование примечаний](https://www.amocrm.ru/developers/content/crm_platform/events-and-notes#notes-edit)
1705
+
1706
+ ```ruby
1707
+ body = [
1708
+ {
1709
+ entity_id: 167353,
1710
+ note_type: "call_in",
1711
+ params: {
1712
+ uniq: "8f52d38a-5fb3-406d-93a3-a4832dc28f8b",
1713
+ duration: 60,
1714
+ source: "onlinePBX",
1715
+ link: "https://deppa.ru",
1716
+ phone: "+79999999999"
1717
+ }
1718
+ },
1719
+ {
1720
+ entity_id: 167353,
1721
+ note_type: "call_out",
1722
+ params: {
1723
+ uniq: "8f52d38a-5fb3-406d-93a3-a4832dc28f8b",
1724
+ duration: 60,
1725
+ source: "onlinePBX",
1726
+ link: "https://deppa.ru",
1727
+ phone: "+79999999999"
1728
+ }
1729
+ },
1730
+ {
1731
+ entity_id: 167353,
1732
+ note_type: "geolocation",
1733
+ params: {
1734
+ text: "Примечание с геолокацией",
1735
+ address: "ул. Пушкина, дом Колотушкина, квартира Вольнова",
1736
+ longitude: "53.714816",
1737
+ latitude: "91.423146"
1738
+ }
1739
+ }
1740
+ ]
1741
+ body_item = {
1742
+ entity_id: 167353,
1743
+ note_type: "call_in",
1744
+ params: {
1745
+ uniq: "8f52d38a-5fb3-406d-93a3-a4832dc28f8b",
1746
+ duration: 60,
1747
+ source: "onlinePBX",
1748
+ link: "https://deppa.ru",
1749
+ phone: "+79999999999"
1750
+ }
1751
+ }
1752
+ ```
1753
+
1754
+ ```ruby
1755
+ AmocrmRails::Request.leads.notes.update(body: body)
1756
+ AmocrmRails::Request.leads(lead_id).notes.update(body: body_item)
1757
+ ```
1758
+ ```ruby
1759
+ AmocrmRails::Request.contacts.notes.update(body: body)
1760
+ AmocrmRails::Request.contacts(contact_id).notes.update(body: body_item)
1761
+ ```
1762
+ ```ruby
1763
+ AmocrmRails::Request.companies.notes.update(body: body)
1764
+ AmocrmRails::Request.companies(company_id).notes.update(body: body_item)
1765
+ ```
1766
+ ```ruby
1767
+ AmocrmRails::Request.customers.notes.update(body: body)
1768
+ AmocrmRails::Request.customers(customer_id).notes.update(body: body_item)
1769
+ ```
1770
+ ```ruby
1771
+ notes = response.body[:_embedded][:notes]
1772
+ note_id = notes.first[:id]
1773
+ ```
1774
+
1775
+ ## <a name="customers"></a> [Покупатели](https://www.amocrm.ru/developers/content/crm_platform/customers-api)
1776
+ ### <a name="customers_mode"></a> [Включение покупателей и смена их режима](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customers-mode)
1777
+ ```ruby
1778
+ body = {
1779
+ mode: "segments",
1780
+ is_enabled: true
1781
+ }
1782
+ response = AmocrmRails::Request.customers.mode.update(body: body)
1783
+ p(response.body)
1784
+ ```
1785
+ ### <a name="customers_list"></a> [Список покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customers-list)
1786
+ ```ruby
1787
+ params = {
1788
+ with: 'contacts',
1789
+ page: 0,
1790
+ limit: 10
1791
+ }
1792
+ response = AmocrmRails::Request.customers.retrieve(params: params)
1793
+ customers = response.body[:_embedded][:customers]
1794
+ customer_id = customers.first[:id]
1795
+ ```
1796
+ ### <a name="customers_detail"></a> [Получение покупателя по ID](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customer-detail)
1797
+ ```ruby
1798
+ params = {
1799
+ with: 'contacts'
1800
+ }
1801
+ response = AmocrmRails::Request.customers(customer_id).retrieve(params: params)
1802
+ customer = response.body
1803
+ ```
1804
+ ### <a name="customers_add"></a> [Добавление покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customers-add)
1805
+ ```ruby
1806
+ body = [
1807
+ {
1808
+ name: "Покупатель для примера 1",
1809
+ created_by: 0
1810
+ },
1811
+ {
1812
+ name: "Покупатель для примера 2",
1813
+ _embedded: {
1814
+ tags: [
1815
+ {
1816
+ "name": "Важный покупатель"
1817
+ }
1818
+ ]
1819
+ }
1820
+ }
1821
+ ]
1822
+ response = AmocrmRails::Request.customers.create(body: body)
1823
+ customers = response.body[:_embedded][:customers]
1824
+ customer_id = customers.first[:id]
1825
+ ```
1826
+ ### <a name="customers_edit"></a> [Редактирование покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customers-edit)
1827
+ ```ruby
1828
+ body = [
1829
+ {
1830
+ id: customer_id,
1831
+ name: "Новое название покупателя",
1832
+ _embedded: {
1833
+ tags: [
1834
+ {
1835
+ name: "Тег 125"
1836
+ }
1837
+ ]
1838
+ }
1839
+ }
1840
+ ]
1841
+ response = AmocrmRails::Request.customers.update(body: body)
1842
+ customers = response.body[:_embedded][:customers]
1843
+ customer_id = customers.first[:id]
1844
+ ```
1845
+ ### <a name="customer_edit"></a> [Редактирование покупателя](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customers-edit)
1846
+ ```ruby
1847
+ body = {
1848
+ name: "Новое название покупателя",
1849
+ _embedded: {
1850
+ tags: [
1851
+ {
1852
+ name: "Тег 125"
1853
+ }
1854
+ ]
1855
+ }
1856
+ }
1857
+ response = AmocrmRails::Request.customers(customer_id).update(body: body)
1858
+ customer = response.body
1859
+ ```
1860
+ ### <a name="transactions_list"></a> [Список транзакций](https://www.amocrm.ru/developers/content/crm_platform/customers-api#transactions-list)
1861
+ ```ruby
1862
+ params = {
1863
+ page: 0,
1864
+ limit: 10
1865
+ }
1866
+ response = AmocrmRails::Request.customers.transactions.retrieve(params: params)
1867
+ response = AmocrmRails::Request.customers(customer_id).transactions.retrieve(params: params)
1868
+
1869
+ transactions = response.body[:_embedded][:transactions]
1870
+ transaction_id = transactions.first[:id]
1871
+ ```
1872
+ ### <a name="transactions_detail"></a> [Получение транзакции по ID](https://www.amocrm.ru/developers/content/crm_platform/customers-api#transaction-detail)
1873
+ ```ruby
1874
+ response = AmocrmRails::Request.customers.transactions(transaction_id).retrieve
1875
+ response = AmocrmRails::Request.customers(customer_id).transactions(transaction_id).retrieve
1876
+
1877
+ transaction = response.body
1878
+ ```
1879
+ ### <a name="transactions_add"></a> [Добавление транзакций к покупателю](https://www.amocrm.ru/developers/content/crm_platform/customers-api#transactions-add)
1880
+ ```ruby
1881
+ body = [
1882
+ {
1883
+ price: 123,
1884
+ created_by: 0,
1885
+ comment: "Комментарий",
1886
+ _embedded: {
1887
+ catalog_elements: [
1888
+ {
1889
+ id: 1677,
1890
+ metadata: {
1891
+ catalog_id: 1079,
1892
+ quantity: 10
1893
+ }
1894
+ }
1895
+ ]
1896
+ }
1897
+ }
1898
+ ]
1899
+ response = AmocrmRails::Request.customers(customer_id).transactions.create(body: body)
1900
+ p(response.body)
1901
+ transactions = response.body[:_embedded][:transactions]
1902
+ transaction_id = transactions.first[:id]
1903
+ ```
1904
+ ### <a name="transaction_delete"></a> [Удаление транзакции](https://www.amocrm.ru/developers/content/crm_platform/customers-api#transaction-delete)
1905
+
1906
+ ```ruby
1907
+ response = AmocrmRails::Request.customers.transactions(transaction_id).delete
1908
+ p(response.body)
1909
+ ```
1910
+ ### <a name="customer_bonus_points_update"></a> [Списание/начисление бонусных баллов покупателю](https://www.amocrm.ru/developers/content/crm_platform/customers-api#customer–bonus-points-update)
1911
+ ```ruby
1912
+ body = {
1913
+ earn: 500
1914
+ }
1915
+ response = AmocrmRails::Request.customers(customer_id).bonus_points.create(body: body)
1916
+ p(response.body)
1917
+ ```
1918
+ ## <a name="customers_statuses"></a> [Статусы и сегменты покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api)
1919
+ ### <a name="customers_statuses_list"></a> [Список статусов покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#customers-statuses-list)
1920
+ ```ruby
1921
+ response = AmocrmRails::Request.customers.statuses.retrieve
1922
+ statuses = response.body[:_embedded][:statuses]
1923
+ status_id = statuses.first[:id]
1924
+ ```
1925
+ ### <a name="customers_statuses_detail"></a> [Получение статуса покупателей по ID](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#customer-status-detail)
1926
+ ```ruby
1927
+ response = AmocrmRails::Request.customers.statuses(status_id).retrieve
1928
+ status = response.body
1929
+ ```
1930
+ ### <a name="customers_statuses_add"></a> [Добавление статусов в воронку](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#customers-statuses-add)
1931
+ ```ruby
1932
+ body = [
1933
+ {
1934
+ name: "Новый статус",
1935
+ sort: 100,
1936
+ color: "#fffeb2"
1937
+ },
1938
+ {
1939
+ name: "Новый статус 2",
1940
+ sort: 200,
1941
+ color: "#fffeb2"
1942
+ }
1943
+ ]
1944
+ response = AmocrmRails::Request.customers.statuses.create(body: body)
1945
+ p(response.body)
1946
+ statuses = response.body[:_embedded][:statuses]
1947
+ status_id = statuses.first[:id]
1948
+ ```
1949
+ ### <a name="customers_statuses_edit"></a> [Редактирование статуса покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#customers-status-edit)
1950
+ ```ruby
1951
+ body = {
1952
+ name: "Новое название для статуса",
1953
+ color: "#c1e0ff"
1954
+ }
1955
+ response = AmocrmRails::Request.customers.statuses(status_id).update(body: body)
1956
+ customer = response.body
1957
+ ```
1958
+ ### <a name="customer_status_delete"></a> [Удаление статуса покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#customer-status-delete)
1959
+ ```ruby
1960
+ AmocrmRails::Request.customers.statuses(status_id).delete
1961
+ ```
1962
+ ### <a name="segments_list"></a> [Список сегментов покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#segments-list)
1963
+ ```ruby
1964
+ response = AmocrmRails::Request.customers.segments
1965
+ segments = response.body[:_embedded][:segments]
1966
+ segment_id = segments.first[:id]
1967
+ ```
1968
+ ### <a name="segments_detail"></a> [Получение сегмента покупателей по ID](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#segment-detail)
1969
+ ```ruby
1970
+ response = AmocrmRails::Request.customers.segments(segment_id).retrieve
1971
+ segment = response.body
1972
+ ```
1973
+ ### <a name="segments_add"></a> [Добавление сегмента покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#segment-add)
1974
+ ```ruby
1975
+ body = {
1976
+ name: "Сегмент для примера",
1977
+ color: "ae003f"
1978
+ }
1979
+ response = AmocrmRails::Request.customers.segments.create(body: body)
1980
+ p(response.body)
1981
+ segment = response.body
1982
+ segment_id = segment[:id]
1983
+ ```
1984
+ ### <a name="segments_edit"></a> [Редактирование сегмента покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#segment-edit)
1985
+ ```ruby
1986
+ body = {
1987
+ name: "Новое имя для сегмента",
1988
+ color: "ae003f"
1989
+ }
1990
+ response = AmocrmRails::Request.customers.segments(segment_id).update(body: body)
1991
+ segment = response.body
1992
+ ```
1993
+ ### <a name="segment_delete"></a> [Удаление сегмента покупателей](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#segment-delete)
1994
+ ```ruby
1995
+ AmocrmRails::Request.customers.segments(segment_id).delete
1996
+ ```
1997
+ ### <a name="customers_statuses_colors"></a> [Доступные цвета статусов](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#customers-statuses-colors)
1998
+ ### <a name="customers_statuses_colors"></a> [Доступные цвета сегментов](https://www.amocrm.ru/developers/content/crm_platform/customers-statuses-api#segments-colors)
1999
+
2000
+ ## <a name="users"></a> [Пользователи](https://www.amocrm.ru/developers/content/crm_platform/users-api)
2001
+ ### <a name="users_list"></a> [Список пользователей](https://www.amocrm.ru/developers/content/crm_platform/users-api#users-list)
2002
+ ```ruby
2003
+ params = {
2004
+ with: 'group',
2005
+ page: 0,
2006
+ limit: 10
2007
+ }
2008
+ response = AmocrmRails::Request.users.retrieve
2009
+ users = response.body[:_embedded][:users]
2010
+ user_id = users.first[:id]
2011
+ ```
2012
+ ### <a name="users_detail"></a> [Получение пользователя по ID](https://www.amocrm.ru/developers/content/crm_platform/users-api#user-detail)
2013
+ ```ruby
2014
+ params = {
2015
+ with: 'group'
2016
+ }
2017
+ response = AmocrmRails::Request.users(user_id).retrieve(params: params)
2018
+ user = response.body
2019
+ user_id = user[:id]
2020
+ ```
2021
+ ### <a name="users_add"></a> [Добавление пользователей](https://www.amocrm.ru/developers/content/crm_platform/users-api#users-add)
2022
+ ```ruby
2023
+ body = [
2024
+ {
2025
+ name: "Павел Осетров",
2026
+ email: 'pavel.osetrov@me.com'
2027
+ }
2028
+ ]
2029
+ response = AmocrmRails::Request.users.create(body: body)
2030
+ p(response.body)
2031
+ users = response.body[:_embedded][:users]
2032
+ user_id = users.first[:id]
2033
+ ```
2034
+ ### <a name="roles_list"></a> [Список ролей пользователей](https://www.amocrm.ru/developers/content/crm_platform/users-api#roles-list)
2035
+ ```ruby
2036
+ params = {
2037
+ with: 'users',
2038
+ page: 0,
2039
+ limit: 10
2040
+ }
2041
+ response = AmocrmRails::Request.roles.retrieve
2042
+ roles = response.body[:_embedded][:roles]
2043
+ role_id = roles.first[:id]
2044
+ ```
2045
+ ### <a name="roles_detail"></a> [Получение роли по ID](https://www.amocrm.ru/developers/content/crm_platform/users-api#role-detail)
2046
+ ```ruby
2047
+ params = {
2048
+ with: 'users'
2049
+ }
2050
+ response = AmocrmRails::Request.roles(role_id).retrieve(params: params)
2051
+ role = response.body
2052
+ role_id = user[:id]
2053
+ ```
2054
+ ### <a name="roles_add"></a> [Добавление ролей](https://www.amocrm.ru/developers/content/crm_platform/users-api#roles-add)
2055
+ ```ruby
2056
+ body = [
2057
+ {
2058
+ name: "role 3",
2059
+ rights: {
2060
+ leads: {
2061
+ add: "A",
2062
+ edit: "G",
2063
+ view: "G",
2064
+ delete: "G",
2065
+ export: "G"
2066
+ },
2067
+ tasks: {
2068
+ edit: "A",
2069
+ delete: "A"
2070
+ },
2071
+ contacts: {
2072
+ add: "A",
2073
+ edit: "A",
2074
+ view: "A",
2075
+ delete: "A",
2076
+ export: "A"
2077
+ },
2078
+ companies: {
2079
+ add: "A",
2080
+ edit: "A",
2081
+ view: "A",
2082
+ delete: "A",
2083
+ export: "A"
2084
+ },
2085
+ mail_access: true,
2086
+ status_rights: [
2087
+ {
2088
+ entity_type: "leads",
2089
+ pipeline_id: 16056,
2090
+ status_id: 20542166,
2091
+ rights: {
2092
+ edit: "A",
2093
+ view: "A",
2094
+ delete: "A",
2095
+ export: "A"
2096
+ }
2097
+ }
2098
+ ],
2099
+ catalog_access: true
2100
+ }
2101
+ }
2102
+ ]
2103
+ response = AmocrmRails::Request.roles.create(body: body)
2104
+ p(response.body)
2105
+ roles = response.body[:_embedded][:roles]
2106
+ role_id = roles.first[:id]
2107
+ ```
2108
+ ### <a name="roles_edit"></a> [Редактирование роли](https://www.amocrm.ru/developers/content/crm_platform/users-api#role-edit)
2109
+ ```ruby
2110
+ body = {
2111
+ name: "role 3 modified",
2112
+ rights: {
2113
+ contacts: {
2114
+ add: "A",
2115
+ edit: "D",
2116
+ view: "D",
2117
+ delete: "D",
2118
+ export: "D"
2119
+ },
2120
+ status_rights: nil
2121
+ }
2122
+ }
2123
+ response = AmocrmRails::Request.roles(role_id).update(body: body)
2124
+ role = response.body
2125
+ ```
2126
+
2127
+ ### <a name="roles_delete"></a> [Удаление роли](https://www.amocrm.ru/developers/content/crm_platform/users-api#role-delete)
2128
+ ```ruby
2129
+ AmocrmRails::Request.roles(role_id).delete
2130
+ ```
2131
+ ### <a name="users_common_rights"></a> [Общие обозначения прав пользователей](https://www.amocrm.ru/developers/content/crm_platform/users-api#common-rights)
2132
+ ### <a name="users_rights_dependence"></a> [Зависимости прав пользователей](https://www.amocrm.ru/developers/content/crm_platform/users-api#rights-dependence)
2133
+
2134
+ ## <a name="products"></a> [Товары](https://www.amocrm.ru/developers/content/crm_platform/products-api)
2135
+ ## <a name="webhooks"></a> [Вебхуки](https://www.amocrm.ru/developers/content/crm_platform/webhooks-api)
2136
+ ### <a name="webhooks_list"></a> [Список установленных вебхуков в аккаунте](https://www.amocrm.ru/developers/content/crm_platform/webhooks-api#webhooks-list)
2137
+ ```ruby
2138
+ response = AmocrmRails::Request.webhooks.retrieve
2139
+ webhooks = response.body[:_embedded][:webhooks]
2140
+ webhook_id = webhooks.first[:id]
2141
+ ```
2142
+ ### <a name="webhooks_subscribe"></a> [Подписка на вебхук](https://www.amocrm.ru/developers/content/crm_platform/webhooks-api#webhook-subscribe)
2143
+ ```ruby
2144
+ body = {
2145
+ destination: "https://deppa.ru",
2146
+ settings: [
2147
+ "add_lead"
2148
+ ],
2149
+ sort: 10
2150
+ }
2151
+ response = AmocrmRails::Request.webhooks.create(body: body)
2152
+ p(response.body)
2153
+ webhook = response.body
2154
+ webhook_id = webhook[:id]
2155
+ ```
2156
+ ### <a name="webhooks_delete"></a> [Отписка от событий](https://www.amocrm.ru/developers/content/crm_platform/webhooks-api#webhooks-delete)
2157
+ ```ruby
2158
+ AmocrmRails::Request.webhooks(webhook_id).delete
2159
+ ```
2160
+ ### <a name="webhooks_available_actions"></a> [Возможные событий](https://www.amocrm.ru/developers/content/crm_platform/webhooks-api#webhooks-available-actions)
2161
+
2162
+ ## <a name="widgets"></a> [Виджеты](https://www.amocrm.ru/developers/content/crm_platform/widgets-api)
2163
+ ### <a name="widgets_list"></a> [Список виджетов](https://www.amocrm.ru/developers/content/crm_platform/widgets-api#widgets-list)
2164
+ ```ruby
2165
+ params = {
2166
+ page: 0,
2167
+ limit: 10
2168
+ }
2169
+ response = AmocrmRails::Request.widgets.retrieve
2170
+ widgets = response.body[:_embedded][:widgets]
2171
+ widget_code = widgets.first[:code]
2172
+ ```
2173
+ ### <a name="widgets_detail"></a> [Информация о виджете по его коду](https://www.amocrm.ru/developers/content/crm_platform/widgets-api#widget-detail)
2174
+ ```ruby
2175
+ response = AmocrmRails::Request.widgets(widget_code).retrieve
2176
+ widget = response.body
2177
+ ```
2178
+ ### <a name="widgets_install"></a> [Установка виджета в аккаунт](https://www.amocrm.ru/developers/content/crm_platform/widgets-api#widget-install)
2179
+ ```ruby
2180
+ body = {
2181
+ login: "example",
2182
+ password: "eXaMp1E",
2183
+ script_path: "https://deppa.ru/"
2184
+ }
2185
+ response = AmocrmRails::Request.widgets.create(body: body)
2186
+ p(response.body)
2187
+ widget = response.body
2188
+ ```
2189
+ ### <a name="widgets_uninstall"></a> [Удаление установки виджета](https://www.amocrm.ru/developers/content/crm_platform/widgets-api#widget-uninstall)
2190
+ ```ruby
2191
+ AmocrmRails::Request.widgets(widget_code).delete
2192
+ ```
2193
+ ### <a name="widgets_continue"></a> [Подтверждение выполнения блока виджета в Salesbot](https://www.amocrm.ru/developers/content/crm_platform/widgets-api#widget-continue)
2194
+ ```ruby
2195
+ body = {
2196
+ data: {
2197
+ status: "success"
2198
+ },
2199
+ execute_handlers: [
2200
+ {
2201
+ handler: "show",
2202
+ params: {
2203
+ type: "text",
2204
+ value: "Здесь текст"
2205
+ }
2206
+ },
2207
+ {
2208
+ handler: "show",
2209
+ params: {
2210
+ type: "buttons",
2211
+ value: "Нажми на кнопку",
2212
+ buttons: [
2213
+ "1ая кнопка",
2214
+ "2ая кнопка",
2215
+ "3ая кнопка",
2216
+ "4ая кнопка"
2217
+ ]
2218
+ }
2219
+ },
2220
+ {
2221
+ handler: "show",
2222
+ params: {
2223
+ type: "buttons_url",
2224
+ value: "Кнопки со ссылками",
2225
+ buttons: [
2226
+ "https://amocrm.ru",
2227
+ "https://deppa.ru"
2228
+ ]
2229
+ }
2230
+ },
2231
+ {
2232
+ handler: "goto",
2233
+ params: {
2234
+ type: "question|answer|finish",
2235
+ step: 5
2236
+ }
2237
+ }
2238
+ ]
2239
+ }
2240
+ AmocrmRails::Request.salesbot(bot_id).continue(continue_id).create(body: body)
2241
+ AmocrmRails::Request.marketingbot(bot_id).continue(continue_id).create(body: body)
2242
+ ```
2243
+ ## <a name="calls"></a> [Добавление звонков](https://www.amocrm.ru/developers/content/crm_platform/calls-api)
2244
+ ```ruby
2245
+ body = [
2246
+ {
2247
+ duration: 10,
2248
+ source: "example_integration",
2249
+ phone: "123123",
2250
+ link: "https://deppa.ru/audio.mp3",
2251
+ direction: "inbound",
2252
+ call_result: "Успешный разговор",
2253
+ call_status: 4
2254
+ }
2255
+ ]
2256
+ response = AmocrmRails::Request.calls.create(body: body)
2257
+ p(response.body)
2258
+ calls = response.body[:_embedded][:calls]
2259
+ ```
2260
+ ## <a name="salesbot"></a> [Salebot](https://www.amocrm.ru/developers/content/api/salesbot-api)
2261
+ ```ruby
2262
+ body = [
2263
+ {
2264
+ bot_id: 565,
2265
+ entity_id: 76687686,
2266
+ entity_type: 1
2267
+ }
2268
+ ]
2269
+ response = AmocrmRails::Request.salesbot.run.create(body: body)
2270
+ p(response.body)
2271
+ ```
2272
+ ## <a name="short_links"></a> [Короткие ссылки](https://www.amocrm.ru/developers/content/crm_platform/short_links)
2273
+ ```ruby
2274
+ body = [
2275
+ {
2276
+ url:"https://deppa.ru",
2277
+ metadata:{
2278
+ entity_type:"contacts",
2279
+ entity_id:11070881
2280
+ }
2281
+ }
2282
+ ]
2283
+ response = AmocrmRails::Request.short_links.create(body: body)
141
2284
  p(response.body)
2285
+ short_links = response.body[:_embedded][:short_links]
142
2286
  ```