retailcrm-api 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19aca33fa8aabb3a4cd9acffaa7ed004cbd8be0a126ddb8f4c93b162fb60c50a
4
- data.tar.gz: ea0d5c405d9c6073044a028eea147c207a0bc7ccbb784b02ddd6d6b108e40661
3
+ metadata.gz: 8dde151bd0186a658636908dd4cb0adcc3ee1fc2967abf2fc1955484d3117705
4
+ data.tar.gz: e0cd7089d194309e27d6e38545a25f40d516b7991a32be8e635419b295ad5f85
5
5
  SHA512:
6
- metadata.gz: a10e4ac6b8700f48597a3585a9a0cf5ef2aa646fedddec463fa02c7573f4c1b877335e2bbf6d8e99a76ae10675b4a0c00f858f050d924689774f732f9e45d3f8
7
- data.tar.gz: 953ae085065c09ab797cef8bdd66cc4465500e43617d8ff1816305ec54755e63f2b47a55a2629eab5fca597d4ad3c200f07bbb2113d9b1418b8514b6ed296568
6
+ metadata.gz: 486385708f734c3b632bc7d3225ff51359ec05af1a0c76236392b3681c8bffba615f9a14a6c078dc94eff29a380f7508dec26bf9dab2f52f1aae87b64b299af3
7
+ data.tar.gz: 0b1d82a2e4ec9059bfce5e5ad89840158054682866b36832fde7fdbd377be886f2ecbebbaee0af919c21b19fd97b205ff17d0cbfac6c5035e6684e5778eb1d2c
data/README.markdown CHANGED
@@ -1,8 +1,212 @@
1
1
  # RetailCRM API
2
2
 
3
- API wrapper для RetailCRM
3
+ API wrapper для RetailCRM API v5
4
4
 
5
- # Установка
5
+
6
+ # Оглавление
7
+ 0. [Установка](#install)
8
+ 1. [Использование Rails](#using_rails)
9
+ 2. [Использование Ruby](#using_ruby)
10
+ 3. [Debug Logging](#debug_logging)
11
+ 4. [Custom logger](#custom_logger)
12
+ 1. [Расходы](#costs)
13
+ 1. [Получение списка расходов, удовлетворяющих заданному фильтру](#get--api-v5-costs)
14
+ 2. [Создание расхода](#post--api-v5-costs-create)
15
+ 3. [Пакетное удаление расходов](#post--api-v5-costs-delete)
16
+ 4. [Пакетная загрузка расходов](#post--api-v5-costs-upload)
17
+ 5. [Получение информации о расходе](#get--api-v5-costs-id)
18
+ 6. [Редактирование расхода](#post--api-v5-costs-id-edit)
19
+ 7. [Удаление расхода](#custom-fields)
20
+ 2. [Пользовательские поля](#custom-fields)
21
+ 1. [Получение списка пользовательских полей, удовлетворяющих заданному фильтру](#get--api-v5-custom-fields)
22
+ 2. [Получение списка справочников, удовлетворяющих заданному фильтру](#get--api-v5-custom-fields-dictionaries)
23
+ 3. [Создание справочника](#post--api-v5-custom-fields-dictionaries-create)
24
+ 4. [Получение информации о справочнике](#get--api-v5-custom-fields-dictionaries-code)
25
+ 5. [Редактирование справочика](#post--api-v5-custom-fields-dictionaries-code-edit)
26
+ 6. [Создание пользовательского поля](#post--api-v5-custom-fields-entity-create)
27
+ 7. [Получение информации о пользовательском поле](#get--api-v5-custom-fields-entity-code)
28
+ 8. [Редактирование пользовательского поля](#post--api-v5-custom-fields-entity-code-edit)
29
+ 3. [Клиенты](#customers)
30
+ 1. [Получение списка клиентов, удовлетворяющих заданному фильтру](#get--api-v5-customers)
31
+ 2. [Объединение клиентов](#post--api-v5-customers-combine)
32
+ 3. [Создание клиента](#post--api-v5-customers-create)
33
+ 4. [Массовая запись внешних ID клиентов](#post--api-v5-customers-fix-external-ids)
34
+ 5. [Получение истории изменения клиентов](#get--api-v5-customers-history)
35
+ 6. [Получение заметок](#get--api-v5-customers-notes)
36
+ 7. [Создание заметки](#post--api-v5-customers-notes-create)
37
+ 8. [Удаление заметки](#post--api-v5-customers-notes-id-delete)
38
+ 9. [Пакетная загрузка клиентов](#post--api-v5-customers-upload)
39
+ 10. [Получение информации о клиенте](#get--api-v5-customers-externalId")
40
+ 11. [Редактирование клиента](#post--api-v5-customers-externalId-edit)
41
+ 4. [Корпоративные клиенты](#customers-corporate)
42
+ 1. [Получение списка корпоративных клиентов, удовлетворяющих заданному фильтру](#get--api-v5-customers-corporate)
43
+ 2. [Объединение корпоративных клиентов](#post--api-v5-customers-corporate-combine)
44
+ 3. [Создание корпоративного клиента](#post--api-v5-customers-corporate-create)
45
+ 4. [Массовая запись внешних ID корпоративных клиентов](#post--api-v5-customers-corporate-fix-external-ids)
46
+ 5. [Получение истории изменения корпоративных клиентов](#get--api-v5-customers-corporate-history)
47
+ 6. [Получение заметок](#get--api-v5-customers-corporate-notes)
48
+ 7. [Создание заметки](#post--api-v5-customers-corporate-notes-create)
49
+ 8. [Удаление заметки](post--api-v5-customers-corporate-notes-id-delete)
50
+ 9. [Пакетная загрузка корпоративных клиентов](#post--api-v5-customers-corporate-upload)
51
+ 10. [Получение информации о корпоративном клиенте](#get--api-v5-customers-corporate-externalId)
52
+ 11. [Список адресов корпоративного клиента](#get--api-v5-customers-corporate-externalId-addresses)
53
+ 12. [Создание адреса для корпоративного клиента](#post--api-v5-customers-corporate-externalId-addresses-create)
54
+ 13. [Редактирование адреса корпоративного клиента](#post--api-v5-customers-corporate-externalId-addresses-entityExternalId-edit)
55
+ 14. [Список компаний корпоративного клиента](#get--api-v5-customers-corporate-externalId-companies)
56
+ 15. [Создание компании для корпоративного клиента](#post--api-v5-customers-corporate-externalId-companies-create)
57
+ 16. [Редактирование компании корпоративного клиента](#post--api-v5-customers-corporate-externalId-companies-entityExternalId-edit)
58
+ 17. [Список контактных лиц корпоративного клиента](#get--api-v5-customers-corporate-externalId-contacts)
59
+ 18. [Создание связи корпоративного клиента с контактным лицом](#post--api-v5-customers-corporate-externalId-contacts-create)
60
+ 19. [Редактирование связи корпоративного клиента с контактным лицом](#post--api-v5-customers-corporate-externalId-contacts-entityExternalId-edit)
61
+ 20. [Редактирование корпоративного клиента](#post--api-v5-customers-corporate-externalId-edit)
62
+ 5. [Доставки](#delivery)
63
+ 1. [Расчёт стоимости доставки](#post--api-v5-delivery-calculate)
64
+ 2. [Обновление статусов доставки](#post--api-v5-delivery-generic-subcode-tracking)
65
+ 3. [Получение списка отгрузок в службы доставки](#get--api-v5-delivery-shipments)
66
+ 4. [Создание отгрузки](#post--api-v5-delivery-shipments-create)
67
+ 5. [Получение информации об отгрузке](#get--api-v5-delivery-shipments-id)
68
+ 6. [Редактироване отгрузки](#post--api-v5-delivery-shipments-id-edit)
69
+ 7. [Запрос на получение данных для автокомплит поля](#callback_get--integrationModule_integrations__delivery__actions__autocomplete_)
70
+ 8. [Расчет стоимости доставки](#callback_post--integrationModule_integrations__delivery__actions__calculate_)
71
+ 9. [Удаление заявки на доставку](#callback_post--integrationModule_integrations__delivery__actions__delete_)
72
+ 10. [Получение данных доставки](#callback_get--integrationModule_integrations__delivery__actions__get_)
73
+ 11. [Печатные формы службы доставки](#callback_post--integrationModule_integrations__delivery__actions__print_)
74
+ 12. [Создание и редактирование доставки](#callback_post--integrationModule_integrations__delivery__actions__save_)
75
+ 13. [Удаление заявки на отгрузку](#callback_post--integrationModule_integrations__delivery__actions__shipmentDelete_)
76
+ 14. [Список терминалов приема посылок](#callback_get--integrationModule_integrations__delivery__actions__shipmentPointList_)
77
+ 15. [Создание и редактирование отгрузки](#callback_post--integrationModule_integrations__delivery__actions__shipmentSave_)
78
+ 16. [Список тарифов](#callback_get--integrationModule_integrations__delivery__actions__tariffList_)
79
+ 6. [Файлы](#files)
80
+ 1. [Получение списка файлов, удовлетворяющих заданному фильтру](#get--api-v5-files)
81
+ 2. [Загрузка файла на сервер](#post--api-v5-files-upload)
82
+ 3. [Получение информации о файле](#get--api-v5-files-id)
83
+ 4. [Удаление файла](#post--api-v5-files-id-delet)
84
+ 5. [Скачивание файла](#get--api-v5-files-id-download)
85
+ 6. [Редактирование файла](#post--api-v5-files-id-edit)
86
+ 7. [Интеграция](#integration)
87
+ 1. [Получение интеграционного модуля](#get--api-v5-integration-modules-code)
88
+ 2. [Создание/редактирование интеграционного модуля](#post--api-v5-integration-modules-code-edit)
89
+ 3. [Уведомление об изменении статуса активности или заморозки модуля](#callback_post--integrationModule_actions__activity_)
90
+ 8. [Лояльность](#loyalty)
91
+ 1. [Добавление клиента в программу лояльности](#post--api-v5-loyalty-account-create)
92
+ 2. [Получение информации об участии в программе лояльности](#get--api-v5-loyalty-account-id)
93
+ 3. [Активация участия в программе лояльности](#post--api-v5-loyalty-account-id-activate)
94
+ 4. [Начисление бонусов участию в программе лояльности](#post--api-v5-loyalty-account-id-bonus-credit)
95
+ 5. [История бонусного счета](#get--api-v5-loyalty-account-id-bonus-operations)
96
+ 6. [Редактирование участия в программе лояльности](#post--api-v5-loyalty-account-id-edit)
97
+ 7. [Список участий в программе лояльности](#get--api-v5-loyalty-accounts)
98
+ 8. [Расчёт максимальной скидки](#post--api-v5-loyalty-calculate)
99
+ 9. [Список программ лояльности](#get--api-v5-loyalty-loyalties)
100
+ 10. [Получение информации о программе лояльности](#get--api-v5-loyalty-loyalties-id)
101
+ 9. [Заказы](#orders)
102
+ 1. [Получение списка заказов, удовлетворяющих заданному фильтру](#get--api-v5-orders)
103
+ 2. [Объединение заказов](#post--api-v5-orders-combine)
104
+ 3. [Создание заказа](#post--api-v5-orders-create)
105
+ 4. [Массовая запись внешних ID заказов](#post--api-v5-orders-fix-external-ids)
106
+ 5. [Получение истории изменений заказов](#get--api-v5-orders-history)
107
+ 6. [Создание связи между заказами](#post--api-v5-orders-links-create)
108
+ 7. [Применение бонусов по программе лояльности](#post--api-v5-orders-loyalty-apply)
109
+ 8. [Отмена бонусных операций по программе лояльности](#post--api-v5-orders-loyalty-cancel-bonus-operations)
110
+ 9. [Добавление платежа](#post--api-v5-orders-payments-create)
111
+ 10. [Удаление платежа](#post--api-v5-orders-payments-id-delete)
112
+ 11. [Редактирование платежа](#post--api-v5-orders-payments-id-edit)
113
+ 12. [Получение списка статусов заказов](#get--api-v5-orders-statuses)
114
+ 13. [Пакетная загрузка заказов](#post--api-v5-orders-upload)
115
+ 14. [Получение информации о заказе](#get--api-v5-orders-externalId)
116
+ 15. [Редактирование заказа](#post--api-v5-orders-externalId-edit)
117
+ 10. [Комплектация заказов](#orders_packs)
118
+ 1. [Получение списка паков, удовлетворяющих заданному фильтру](#get--api-v5-orders-packs)
119
+ 2. [Создание пака](#post--api-v5-orders-packs-create)
120
+ 3. [Получение истории комплектации заказа](#get--api-v5-orders-packs-history)
121
+ 4. [Получение информации о паке](#get--api-v5-orders-packs-id)
122
+ 5. [Удаление пака](#post--api-v5-orders-packs-id-delete)
123
+ 6. [Редактирование пака](#post--api-v5-orders-packs-id-edit)
124
+ 11. [Платежи](#payment)
125
+ 1. [Проверка инвойса](#post--api-v5-payment-check)
126
+ 2. [Создание инвойса](#post--api-v5-payment-create-invoice)
127
+ 3. [Изменение инвойса](#post--api-v5-payment-update-invoice)
128
+ 4. [Подтверждение оплаты](#callback_post--integrationModule_integrations__payment__actions__approve_)
129
+ 5. [Отмена оплаты](#callback_post--integrationModule_integrations__payment__actions__cancel_)
130
+ 6. [Создание оплаты](#callback_post--integrationModule_integrations__payment__actions__create_)
131
+ 7. [Возврат](#callback_post--integrationModule_integrations__payment__actions__refund_)
132
+ 12. [Рекомендации](#recommendation)
133
+ 1. [Запрос рекомендуемых товаров](#callback_get--integrationModule_integrations__recommendation__actions__recommendation_)
134
+ 13. [Справочники](#reference)
135
+ 1. [Получение списка групп расходов](#get--api-v5-reference-cost-groups)
136
+ 2. [Редактирование группы расходов](#post--api-v5-reference-cost-groups-code-edit)
137
+ 3. [Получение списка статей расходов](#get--api-v5-reference-cost-items)
138
+ 4. [Редактирование статьи расходов](#post--api-v5-reference-cost-items-code-edit)
139
+ 5. [Получение списка кодов доступных стран](#get--api-v5-reference-countries)
140
+ 6. [Получение списка курьеров](#get--api-v5-reference-couriers)
141
+ 7. [Создание курьера](#post--api-v5-reference-couriers-create)
142
+ 8. [Редактирование курьера](#post--api-v5-reference-couriers-id-edit)
143
+ 9. [Получение списка служб доставки](#get--api-v5-reference-delivery-services)
144
+ 10. [Создание/редактирование службы доставки](#post--api-v5-reference-delivery-services-code-edit)
145
+ 11. [Получение списка типов доставки](#get--api-v5-reference-delivery-types)
146
+ 12. [Создание/редактирование типа доставки](#post--api-v5-reference-delivery-types-code-edit)
147
+ 13. [Получение списка юридических лиц](#get--api-v5-reference-legal-entities)
148
+ 14. [Создание/редактирование юридического лица](#post--api-v5-reference-legal-entities-code-edit)
149
+ 15. [Получение списка MessageGateway каналов](#get--api-v5-reference-mg-channels)
150
+ 16. [Получение списка способов оформления заказов](#get--api-v5-reference-order-methods)
151
+ 17. [Создание/редактирование способа оформления заказа](#post--api-v5-reference-order-methods-code-edit)
152
+ 18. [Получение списка типов заказов](#get--api-v5-reference-order-types)
153
+ 19. [Создание/редактирование типа заказа](#post--api-v5-reference-order-types-code-edit)
154
+ 20. [Получение списка статусов оплаты](#get--api-v5-reference-payment-statuses)
155
+ 21. [Создание/редактирование статусов оплаты](#post--api-v5-reference-payment-statuses-code-edit)
156
+ 22. [Получение списка типов оплаты](#get--api-v5-reference-payment-types)
157
+ 23. [Создание/редактирование типа оплаты](#post--api-v5-reference-payment-types-code-edit)
158
+ 24. [Получение списка типов цен](#get--api-v5-reference-price-types)
159
+ 25. [Создание/редактирование типа цены](#post--api-v5-reference-price-types-code-edit)
160
+ 26. [Получение списка статусов товаров в заказе](#get--api-v5-reference-product-statuses)
161
+ 27. [Создание/редактирование статуса товара в заказе](#post--api-v5-reference-product-statuses-code-edit)
162
+ 28. [Получение списка магазинов](#get--api-v5-reference-sites)
163
+ 29. [Создание/редактирование магазина](#post--api-v5-reference-sites-code-edit)
164
+ 30. [Получение списка групп статусов заказа](#get--api-v5-reference-status-groups)
165
+ 31. [Получение списка статусов заказа](#get--api-v5-reference-statuses)
166
+ 32. [Создание/редактирование статуса заказа](#post--api-v5-reference-statuses-code-edit)
167
+ 33. [Получение списка складов](#get--api-v5-reference-stores)
168
+ 34. [Создание/редактирование сведений о складе](#post--api-v5-reference-stores-code-edit)
169
+ 35. [Получение списка единиц измерений](#get--api-v5-reference-units)
170
+ 36. [Создание/редактирование единицы измерения](#post--api-v5-reference-units-code-edit)
171
+ 14. [Сегменты](#segments)
172
+ 1. [Получение списка пользовательских сегментов](#get--api-v5-segments)
173
+ 15. [Настройки](#settings)
174
+ 1. [Получение настроек системы](#get--api-v5-settings)
175
+ 16. [Склад](#store)
176
+ 1. [Получение остатков и закупочных цен](#get--api-v5-store-inventories)
177
+ 2. [Обновление остатков и закупочных цен](#post--api-v5-store-inventories-upload)
178
+ 3. [Обновление цен торговых предложений](#post--api-v5-store-prices-upload)
179
+ 4. [Получение списка групп товаров, удовлетворяющих заданному фильтру](#get--api-v5-store-product-groups)
180
+ 5. [Получение списка товаров с торговыми предложениями, удовлетворяющих заданному фильтру](#get--api-v5-store-products)
181
+ 6. [Получение списка свойств товаров, удовлетворяющих заданному фильтру](#get--api-v5-store-products-properties)
182
+ 7. [Обновление остатков и закупочных цен](#callback_post--integrationModule_integrations__store__actions__inventoriesUpload_)
183
+ 8. [Актуализация остатков после обращения к складской системе](#callback_post--integrationModule_integrations__store__actions__reserve_)
184
+ 17. [Задачи](#tasks)
185
+ 1. [Получение списка задач](#get--api-v5-tasks)
186
+ 2. [Создание задачи](#post--api-v5-tasks-create)
187
+ 3. [Получение информации о задаче](#get--api-v5-tasks-id)
188
+ 4. [Редактирование задачи](#post--api-v5-tasks-id-edit)
189
+ 18. [Телефония](#telephony)
190
+ 1. [События звонка](#post--api-v5-telephony-call-event)
191
+ 2. [Загрузка телефонных звонков](#post--api-v5-telephony-calls-upload)
192
+ 3. [Получение ответственного менеджера](#get--api-v5-telephony-manager)
193
+ 4. [Оповещение о смене статуса](#callback_get--integrationModule_integrations__telephony__changeUserStatusUrl_)
194
+ 5. [Инициация звонка](#callback_get--integrationModule_integrations__telephony__makeCallUrl_)
195
+ 6. [Переход в личный кабинет](#callback_post--integrationModule_integrations__telephony__personalAccountUrl_)
196
+ 7. [Прослушивание звонка](#callback_get--recordUrl)
197
+ 19. [Пользователи](#users)
198
+ 1. [Получение списка групп пользователей](#get--api-v5-user-groups)
199
+ 2. [Получение списка пользователей, удовлетворяющих заданному фильтру](#get--api-v5-users)
200
+ 3. [Получение информации о пользователе](#get--api-v5-users-id)
201
+ 4. [Смена статуса пользователя](#post--api-v5-users-id-status)
202
+ 20. [Верификация](#verification)
203
+ 1. [Подтверждение верификации](#post--api-v5-verification-sms-confirm)
204
+ 2. [Проверка статуса верификации](#get--api-v5-verification-sms-checkId-status)
205
+ 21. [Статистика](#get--api-v5-statistic)
206
+ 1. [Обновление статистики](#get--api-v5-statistic-update")
207
+
208
+
209
+ # <a name="install"></a> Установка
6
210
 
7
211
  ## Ruby
8
212
  $ gem install retailcrm-api
@@ -16,13 +220,13 @@ API wrapper для RetailCRM
16
220
  rails g retailcrm_api:install
17
221
  ## Требования
18
222
 
19
- Необходимо получить api key https://yourdomains.retailcrm.ru/admin/api-keys
223
+ Необходимо получить api key https://demo.retailcrm.ru/admin/api-keys
20
224
 
21
- ## Использование Rails
225
+ ## <a name="using_rails"></a> Использование Rails
22
226
 
23
227
  В файл `config/retailcrm_api.yml` вставьте ваши данные
24
228
 
25
- ## Использование Ruby
229
+ ## <a name="using_ruby"></a> Использование Ruby
26
230
 
27
231
  Сначала создайте экземпляр объекта `RetailcrmApi::Request`:
28
232
 
@@ -42,7 +246,7 @@ RetailcrmApi::Request.debug = false
42
246
 
43
247
  Либо в файле `config/initializers/retailcrm_api.rb` для Rails.
44
248
 
45
- ## Debug Logging
249
+ ## <a name="debug_logging"></a> Debug Logging
46
250
 
47
251
  Измените `debug: true` чтобы включить логирование в STDOUT.
48
252
 
@@ -50,7 +254,7 @@ RetailcrmApi::Request.debug = false
50
254
  retailcrm = RetailcrmApi::Request.new(api_key: "your_api_key", debug: true)
51
255
  ```
52
256
 
53
- ### Custom logger
257
+ ### <a name="custom_logger"></a> Custom logger
54
258
 
55
259
  `Logger.new` используется по умолчанию, но вы можете изменить на свой:
56
260
 
@@ -64,11 +268,10 @@ retailcrm = RetailcrmApi::Request.new(api_key: "your_api_key", debug: true, logg
64
268
  RetailcrmApi::Request.logger = MyLogger.new
65
269
  ```
66
270
 
67
- # Примеры
271
+ # <a name="examples"></a> Примеры
272
+ ## <a name="costs"></a> Расходы
68
273
 
69
- ## Расходы
70
-
71
- ### [Получение списка расходов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-costs)
274
+ ### <a name="get--api-v5-costs"></a> [Получение списка расходов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-costs)
72
275
  ```ruby
73
276
  params = {
74
277
  filter: {
@@ -78,21 +281,21 @@ params = {
78
281
  RetailcrmApi::Request.costs.retrieve(params: params).body
79
282
  # => {:success=>true, :pagination=>{:limit=>20, :totalCount=>296, :currentPage=>1, :totalPageCount=>15}, :costs=>[{:id=>296, :dateFrom=>"2021-07-29", :dateTo=>"2021-07-29", :summ=>13996, :costItem=>"products-purchase-price", :createdAt=>"2021-07-29 00:34:35", :order=>{:id=>36, :number=>"36C"}, :sites=>["b12-skillum-ru"]}]}
80
283
  ```
81
- ### [Создание расхода](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-create)
284
+ ### <a name="post--api-v5-costs-create"></a> [Создание расхода](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-create)
82
285
  ```ruby
83
286
  body = {
84
287
  site: "deppa-ru",
85
288
  cost: {
86
289
  summ: 100,
87
290
  costItem: "office-expenses",
88
- dateFrom: (DateTime.now - 1.day).strftime("%Y-%m-%d"),
89
- dateTo: DateTime.now.strftime("%Y-%m-%d")
291
+ dateFrom: (DateTime.now - 1.day).strftime("%Y-%m-%d %H:%M:%S"),
292
+ dateTo: DateTime.now.strftime("%Y-%m-%d %H:%M:%S")
90
293
  }
91
294
  }
92
295
  RetailcrmApi::Request.costs.create(body: body).body
93
296
  # => {:success=>true, :id=>297}
94
297
  ```
95
- ### [Пакетное удаление расходов](https://docs.retailcrm.ru/Developers/APIhttps://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-delete)
298
+ ### <a name="post--api-v5-costs-delete"></a> [Пакетное удаление расходов](https://docs.retailcrm.ru/Developers/APIhttps://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-delete)
96
299
  ```ruby
97
300
  body = {
98
301
  ids: [297]
@@ -100,7 +303,7 @@ body = {
100
303
  RetailcrmApi::Request.costs.create(body: body, suffix: "delete").body
101
304
  # => {:success=>true, :count=>1, :notRemovedIds=>[]}
102
305
  ```
103
- ### [Пакетная загрузка расходов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-upload)
306
+ ### <a name="post--api-v5-costs-upload"></a> [Пакетная загрузка расходов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-upload)
104
307
  ```ruby
105
308
  body = {
106
309
  costs: [
@@ -108,41 +311,41 @@ body = {
108
311
  sites: ["deppa-ru"],
109
312
  summ: 100,
110
313
  costItem: "office-expenses",
111
- dateFrom: (DateTime.now - 1.day).strftime("%Y-%m-%d"),
112
- dateTo: DateTime.now.strftime("%Y-%m-%d")
314
+ dateFrom: (DateTime.now - 1.day).strftime("%Y-%m-%d %H:%M:%S"),
315
+ dateTo: DateTime.now.strftime("%Y-%m-%d %H:%M:%S")
113
316
  }
114
317
  ]
115
318
  }
116
319
  RetailcrmApi::Request.costs.create(body: body, suffix: "upload").body
117
320
  # => {:success=>true, :uploadedCosts=>[298]}
118
321
  ```
119
- ### [Получение информации о расходе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-costs-id)
322
+ ### <a name="get--api-v5-costs-id"></a> [Получение информации о расходе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-costs-id)
120
323
  ```ruby
121
324
  RetailcrmApi::Request.costs(298).retrieve.body
122
325
  # => {:success=>true, :cost=>{:id=>298, :dateFrom=>"2021-08-02", :dateTo=>"2021-08-03", :summ=>100, :costItem=>"office-expenses", :createdAt=>"2021-08-03 22:12:34", :sites=>["deppa-ru"]}}
123
326
  ```
124
- ### [Редактирование расхода](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-id-edit)
327
+ ### <a name="post--api-v5-costs-id-edit"></a> [Редактирование расхода](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-id-edit)
125
328
  ```ruby
126
329
  body = {
127
330
  site: "deppa-ru",
128
331
  cost: {
129
332
  summ: 200,
130
333
  costItem: "office-expenses",
131
- dateFrom: (DateTime.now - 1.day).strftime("%Y-%m-%d"),
132
- dateTo: DateTime.now.strftime("%Y-%m-%d")
334
+ dateFrom: (DateTime.now - 1.day).strftime("%Y-%m-%d %H:%M:%S"),
335
+ dateTo: DateTime.now.strftime("%Y-%m-%d %H:%M:%S")
133
336
  }
134
337
  }
135
338
  RetailcrmApi::Request.costs(298).update(body: body).body
136
339
  # => {:success=>true, :id=>298}
137
340
  ```
138
- ### [Удаление расхода](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-id-delete)
341
+ ### <a name="custom-fields"></a> [Удаление расхода](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-costs-id-delete)
139
342
  ```ruby
140
343
  RetailcrmApi::Request.costs(298).delete.body
141
344
  # => {:success=>true}
142
345
  ```
143
346
 
144
- ## Пользовательские поля
145
- ### [Получение списка пользовательских полей, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-custom-fields)
347
+ ## <a name="custom-fields"></a> Пользовательские поля
348
+ ### <a name="get--api-v5-custom-fields"></a> [Получение списка пользовательских полей, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-custom-fields)
146
349
  ```ruby
147
350
  params = {
148
351
  filter: {
@@ -152,9 +355,88 @@ params = {
152
355
  RetailcrmApi::Request.custom_fields.retrieve(params: params).body
153
356
  # =>{:success=>true, :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :customFields=>[]}
154
357
  ```
358
+ ### <a name="get--api-v5-custom-fields-dictionaries"></a> [Получение списка справочников, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-custom-fields-dictionaries)
359
+ ```ruby
360
+ params = {
361
+ limit: 100,
362
+ filter: {
363
+ name: "test"
364
+ }
365
+ }
366
+ RetailcrmApi::Request.custom_fields.dictionaries.retrieve(params: params).body
367
+ # => {:success=>true, :pagination=>{:limit=>100, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :customDictionaries=>[]}
368
+ ```
369
+ ### <a name="post--api-v5-custom-fields-dictionaries-create"></a> [Создание справочника](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-custom-fields-dictionaries-create)
370
+ ```ruby
371
+ body = {
372
+ customDictionary: {
373
+ code: "test_custom",
374
+ name: "test custom",
375
+ elements: [
376
+ {
377
+ name: "Тест",
378
+ code: "test"
379
+ }
380
+ ]
381
+ }
382
+ }
383
+ RetailcrmApi::Request.custom_fields.dictionaries.create(body: body).body
384
+ # => {:success=>true, :code=>"test_custom"}
385
+ ```
386
+ ### <a name="get--api-v5-custom-fields-dictionaries-code"></a> [Получение информации о справочнике](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-custom-fields-dictionaries-code)
387
+ ```ruby
388
+ RetailcrmApi::Request.custom_fields.dictionaries("test_custom").retrieve.body
389
+ # => {:success=>true, :customDictionary=>{:name=>"test custom", :code=>"test_custom", :elements=>[{:name=>"Тест", :code=>"test", :ordering=>50}]}}
390
+ ```
391
+ ### <a name="post--api-v5-custom-fields-dictionaries-code-edit"></a> [Редактирование справочика](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-custom-fields-dictionaries-code-edit)
392
+ ```ruby
393
+ body = {
394
+ customDictionary: {
395
+ name: "test custom update",
396
+ elements: [
397
+ {
398
+ name: "Тест update",
399
+ code: "test"
400
+ }
401
+ ]
402
+ }
403
+ }
404
+ RetailcrmApi::Request.custom_fields.dictionaries("test_custom").update(body: body).body
405
+ # => {:success=>true, :code=>"test_custom"}
406
+ ```
407
+ ### <a name="post--api-v5-custom-fields-entity-create"></a> [Создание пользовательского поля](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-custom-fields-entity-create)
408
+ ```ruby
409
+ entity = ["order", "customer", "customer_corporate", "company"].sample
410
+ body = {
411
+ customField: {
412
+ name: "Тест",
413
+ code: "test",
414
+ type: "string"
415
+ }
416
+ }
417
+ RetailcrmApi::Request.custom_fields(entity).create(body: body).body
418
+ # => {:success=>true, :code=>"test"}
419
+ ```
420
+ ### <a name="get--api-v5-custom-fields-entity-code"></a> [Получение информации о пользовательском поле](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-custom-fields-entity-code)
421
+ ```ruby
422
+ RetailcrmApi::Request.custom_fields(entity, "test").retrieve.body
423
+ # => {:success=>true, :customField=>{:name=>"Тест", :code=>"test", :required=>false, :inFilter=>true, :inList=>true, :inGroupActions=>false, :type=>"string", :entity=>"customer", :ordering=>50, :viewMode=>"editable"}}
424
+ ```
425
+ ### <a name="post--api-v5-custom-fields-entity-code-edit"></a> [Редактирование пользовательского поля](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-custom-fields-entity-code-edit)
426
+ ```ruby
427
+ body = {
428
+ customField: {
429
+ name: "Тест update",
430
+ code: "test",
431
+ type: "boolean"
432
+ }
433
+ }
434
+ RetailcrmApi::Request.custom_fields(entity, "test").update(body: body).body
435
+ # => {:success=>true, :code=>"test"}
436
+ ```
155
437
 
156
- ## Клиенты
157
- ### [Получение списка клиентов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers)
438
+ ## <a name="customers"></a> Клиенты
439
+ ### <a name="get--api-v5-customers"></a> [Получение списка клиентов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers)
158
440
  ```ruby
159
441
  params = {
160
442
  limit: 100,
@@ -165,59 +447,589 @@ params = {
165
447
  RetailcrmApi::Request.customers.retrieve(params: params).body
166
448
  #=> {:success=>true, :pagination=>{:limit=>100, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :customers=>[]}
167
449
  ```
168
- ### [Создание клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-create)
450
+ ### <a name="post--api-v5-customers-combine"></a> [Объединение клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-combine)
169
451
  ```ruby
170
452
  body = {
171
- site: 'deppa-ru',
453
+ resultCustomer: {
454
+ id: 58
455
+ },
456
+ customers: [
457
+ {
458
+ id: 57
459
+ }
460
+ ]
461
+ }
462
+ RetailcrmApi::Request.customers.create(body: body, suffix: "combine").body
463
+ #=> {:success=>true}
464
+ ```
465
+ ### <a name="post--api-v5-customers-create"></a> [Создание клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-create)
466
+ ```ruby
467
+ body = {
468
+ site: "deppa-ru",
172
469
  customer: {
173
- externalId: 1,
174
- firstName: 'Павел',
175
- lastName: 'Осетров'
470
+ externalId: 333,
471
+ vip: true,
472
+ firstName: "Павел",
473
+ lastName: "Осетров"
176
474
  }
177
475
  }
178
476
  RetailcrmApi::Request.customers.create(body: body).body
179
- #=> {:success=>true, :id=>54}
477
+ #=> {:success=>true, :id=>59}
478
+ ```
479
+ ### <a name="post--api-v5-customers-fix-external-ids"></a> [Массовая запись внешних ID клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-fix-external-ids)
480
+ ```ruby
481
+ body = {
482
+ customers: [
483
+ {
484
+ id: 59,
485
+ externalId: 555
486
+ }
487
+ ]
488
+ }
489
+ RetailcrmApi::Request.customers.create(body: body, suffix: "fix-external-ids").body
490
+ #=> {:success=>true}
491
+ ```
492
+ ### <a name="get--api-v5-customers-history"></a> [Получение истории изменения клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-history)
493
+ ```ruby
494
+ params = {
495
+ filter: {
496
+ customerId: 59
497
+ }
498
+ }
499
+ RetailcrmApi::Request.customers.history.retrieve(params: params).body
500
+ #=> {:success=>true, :generatedAt=>"2021-08-04 13:31:04", :history=>[{:id=>276, :createdAt=>"2021-08-04 13:24:26", :created=>true, :source=>"api", :field=>"id", :apiKey=>{:current=>true}, :oldValue=>nil, :newValue=>59, :customer=>{:type=>"customer", :id=>59, :externalId=>"333", :isContact=>false, :createdAt=>"2021-08-04 13:24:26", :vip=>true, :bad=>false, :site=>"deppa-ru", :contragent=>{:contragentType=>"individual"}, :marginSumm=>0, :totalSumm=>0, :averageSumm=>0, :ordersCount=>0, :customFields=>[], :personalDiscount=>0, :cumulativeDiscount=>0, :segments=>[], :firstName=>"Павел", :lastName=>"Осетров", :presumableSex=>"male"}}, {:id=>277, :createdAt=>"2021-08-04 13:28:46", :source=>"api", :field=>"external_id", :apiKey=>{:current=>true}, :oldValue=>"333", :newValue=>"555", :customer=>{:id=>59, :externalId=>"555", :site=>"deppa-ru"}}], :pagination=>{:limit=>100, :totalCount=>2, :currentPage=>1, :totalPageCount=>1}}
501
+ ```
502
+ ### <a name="get--api-v5-customers-notes"></a> [Получение заметок](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-notes)
503
+ ```ruby
504
+ params = {
505
+ filter: {
506
+ customerIds: [59]
507
+ }
508
+ }
509
+ RetailcrmApi::Request.customers.notes.retrieve(params: params).body
510
+ #=> {:success=>true, :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :notes=>[]}
180
511
  ```
181
- ### [Пакетная загрузка клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-upload)
512
+ ### <a name="post--api-v5-customers-notes-create"></a> [Создание заметки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-notes-create)
513
+ ```ruby
514
+ body = {
515
+ site: "deppa-ru",
516
+ note: {
517
+ text: "Просит скидки",
518
+ customer: {
519
+ id: 59
520
+ }
521
+ }
522
+ }
523
+ RetailcrmApi::Request.customers.notes.create(body: body).body
524
+ #=> {:success=>true, :id=>44}
525
+ ```
526
+ ### <a name="post--api-v5-customers-notes-id-delete"></a> [Удаление заметки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-notes-id-delete)
527
+ ```ruby
528
+ RetailcrmApi::Request.customers.notes(44).delete.body
529
+ #=> {:success=>true}
530
+ ```
531
+ ### <a name="post--api-v5-customers-upload"></a> [Пакетная загрузка клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-upload)
182
532
  ```ruby
183
533
  body = {
184
- site: 'deppa-ru',
185
534
  customers: [
186
535
  {
187
- externalId: 3,
188
- firstName: 'Имя',
189
- lastName: 'Фамилия'
536
+ externalId: 999,
537
+ vip: true,
538
+ firstName: "Юкихиро",
539
+ lastName: "Мацумото"
190
540
  },
191
541
  {
192
- externalId: 4,
193
- firstName: 'Имя2',
194
- lastName: 'Фамилия2'
542
+ externalId: 666,
543
+ bad: true,
544
+ firstName: "Расмус",
545
+ lastName: "Лердорф"
195
546
  }
196
547
  ]
197
548
  }
198
549
  RetailcrmApi::Request.customers.create(body: body, suffix: "upload").body
550
+ #=> {:success=>true, :uploadedCustomers=>[{:id=>60, :externalId=>"999"}, {:id=>61, :externalId=>"666"}]}
199
551
  ```
200
-
201
- ## Корпоративные клиенты
202
- ### [Получение списка корпоративных клиентов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate)
552
+ ### <a name="get--api-v5-customers-externalId"></a> [Получение информации о клиенте](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-externalId)
203
553
  ```ruby
204
- RetailcrmApi::Request.customers_corporate.retrieve.body
205
- # => {:success=>true, :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :customersCorporate=>[]}
554
+ params = {
555
+ by: "id"
556
+ }
557
+ RetailcrmApi::Request.customers(60).retrieve(params: params).body
558
+ #=> {:success=>true, :customer=>{:type=>"customer", :id=>60, :externalId=>"999", :isContact=>false, :createdAt=>"2021-08-04 13:41:05", :vip=>true, :bad=>false, :site=>"deppa-ru", :contragent=>{:contragentType=>"individual"}, :tags=>[], :marginSumm=>0, :totalSumm=>0, :averageSumm=>0, :ordersCount=>0, :customFields=>[], :personalDiscount=>0, :segments=>[{:id=>20, :code=>"nizkiy-sredniy-chek", :name=>"Низкий средний чек", :createdAt=>"2021-07-29 00:34:14", :isDynamic=>true, :customersCount=>4, :active=>true}, {:id=>31, :code=>"pol-ne-ukazan", :name=>"Пол не указан", :createdAt=>"2021-07-29 00:34:15", :isDynamic=>true, :customersCount=>4, :active=>true}, {:id=>26, :code=>"bez-otmen", :name=>"Без отмен", :createdAt=>"2021-07-29 00:34:15", :isDynamic=>true, :customersCount=>4, :active=>true}], :firstName=>"Юкихиро", :lastName=>"Мацумото", :presumableSex=>"female", :phones=>[]}}
206
559
  ```
207
-
208
- ### [Пакетная загрузка корпоративных клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-upload)
560
+ ### <a name="post--api-v5-customers-externalId-edit"></a> [Редактирование клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-externalId-edit)
561
+ ```ruby
562
+ body = {
563
+ site: "deppa-ru",
564
+ customer: {
565
+ isContact: true
566
+ }
567
+ }
568
+ params = {
569
+ by: "id"
570
+ }
571
+ RetailcrmApi::Request.customers(61).update(body: body, params: params).body
572
+ #=> {:success=>true, :id=>61}
573
+ ```
574
+ ## <a name="customers-corporate"></a> Корпоративные клиенты
575
+ ### <a name="get--api-v5-customers-corporate"></a> [Получение списка корпоративных клиентов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate)
576
+ ```ruby
577
+ params = {
578
+ limit: 100,
579
+ filter: {
580
+ vip: "1"
581
+ }
582
+ }
583
+ RetailcrmApi::Request.customers_corporate.retrieve(params: params).body
584
+ #=> {:success=>true, :pagination=>{:limit=>100, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :customersCorporate=>[]}
585
+ ```
586
+ ### <a name="post--api-v5-customers-corporate-combine"></a> [Объединение корпоративных клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-combine)
587
+ ```ruby
588
+ body = {
589
+ resultCustomer: {
590
+ id: 63
591
+ },
592
+ customers: [
593
+ {
594
+ id: 64
595
+ }
596
+ ]
597
+ }
598
+ RetailcrmApi::Request.customers_corporate.create(body: body, suffix: "combine").body
599
+ #=> {:success=>true}
600
+ ```
601
+ ### <a name="post--api-v5-customers-corporate-create"></a> [Создание корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-create)
602
+ ```ruby
603
+ body = {
604
+ customerCorporate: {
605
+ externalId: 333,
606
+ vip: true,
607
+ nickName: "dhh"
608
+ }
609
+ }
610
+ RetailcrmApi::Request.customers_corporate.create(body: body).body
611
+ #=> {:success=>true, :id=>62}
612
+ ```
613
+ ### <a name="post--api-v5-customers-corporate-fix-external-ids"></a> [Массовая запись внешних ID корпоративных клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-fix-external-ids)
209
614
  ```ruby
210
615
  body = {
211
- site: 'deppa-ru"',
212
616
  customersCorporate: [
213
617
  {
214
- externalId: 3,
215
- nickName: 'test1'
618
+ id: 63,
619
+ externalId: 12
216
620
  },
217
621
  {
218
- externalId: 4,
219
- nickName: 'test2'
622
+ id: 62,
623
+ externalId: 13
220
624
  }
221
625
  ]
222
626
  }
627
+ RetailcrmApi::Request.customers_corporate.create(body: body, suffix: "fix-external-ids").body
628
+ #=> {:success=>true}
629
+ ```
630
+ ### <a name="get--api-v5-customers-corporate-history"></a> [Получение истории изменения корпоративных клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate-history)
631
+ ```ruby
632
+ params = {
633
+ filter: {
634
+ customerId: 63
635
+ }
636
+ }
637
+ RetailcrmApi::Request.customers_corporate.history.retrieve(params: params).body
638
+ #=> {:success=>true, :generatedAt=>"2021-08-04 20:04:14", :history=>[{:id=>9, :createdAt=>"2021-08-04 19:58:50", :created=>true, :source=>"api", :field=>"id", :apiKey=>{:current=>true}, :oldValue=>nil, :newValue=>63, :customer=>{:type=>"customer_corporate", :id=>63, :externalId=>"44", :nickName=>"ryzhikov", :createdAt=>"2021-08-04 19:58:50", :vip=>false, :bad=>true, :site=>"deppa-ru", :marginSumm=>0, :totalSumm=>0, :averageSumm=>0, :ordersCount=>0, :customFields=>[], :personalDiscount=>0, :cumulativeDiscount=>0}}, {:id=>12, :createdAt=>"2021-08-04 20:03:15", :source=>"api", :field=>"external_id", :apiKey=>{:current=>true}, :oldValue=>"44", :newValue=>"12", :customer=>{:id=>63, :externalId=>"12", :site=>"deppa-ru"}}], :pagination=>{:limit=>100, :totalCount=>2, :currentPage=>1, :totalPageCount=>1}}
639
+ ```
640
+ ### <a name="get--api-v5-customers-corporate-notes"></a> [Получение заметок](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate-notes)
641
+ ```ruby
642
+ params = {
643
+ filter: {
644
+ customerIds: [63]
645
+ }
646
+ }
647
+ RetailcrmApi::Request.customers_corporate.notes.retrieve(params: params).body
648
+ #=> {:success=>true, :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :notes=>[]}
649
+ ```
650
+ ### <a name="post--api-v5-customers-corporate-notes-create"></a> [Создание заметки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-notes-create)
651
+ ```ruby
652
+ body = {
653
+ site: "deppa-ru",
654
+ note: {
655
+ text: "Very bad",
656
+ customer: {
657
+ id: 63
658
+ }
659
+ }
660
+ }
661
+ RetailcrmApi::Request.customers_corporate.notes.create(body: body).body
662
+ #=> {:success=>true, :id=>45}
663
+ ```
664
+ ### <a name="post--api-v5-customers-corporate-notes-id-delete"></a> [Удаление заметки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-notes-id-delete)
665
+ ```ruby
666
+ RetailcrmApi::Request.customers_corporate.notes(45).delete.body
667
+ #=> {:success=>true}
668
+ ```
669
+ ### <a name="post--api-v5-customers-corporate-upload"></a> [Пакетная загрузка корпоративных клиентов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-upload)
670
+ ```ruby
671
+ body = {
672
+ customersCorporate: [
673
+ {
674
+ externalId: 44,
675
+ bad: true,
676
+ nickName: "ryzhikov"
677
+ },
678
+ {
679
+ externalId: 22,
680
+ bad: true,
681
+ nickName: "buytaert"
682
+ }
683
+ ]
684
+ }
685
+ RetailcrmApi::Request.customers_corporate.create(body: body, suffix: "upload").body
686
+ #=> {:success=>true, :uploadedCustomers=>[{:id=>63, :externalId=>"44"}, {:id=>64, :externalId=>"22"}]}
687
+ ```
688
+ ### <a name="get--api-v5-customers-corporate-externalId"></a> [Получение информации о корпоративном клиенте](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate-externalId)
689
+ ```ruby
690
+ params = {
691
+ by: "externalId"
692
+ }
693
+ RetailcrmApi::Request.customers_corporate(12).retrieve(params: params).body
694
+ #=> {:success=>true, :customerCorporate=>{:type=>"customer_corporate", :id=>63, :externalId=>"12", :nickName=>"ryzhikov", :createdAt=>"2021-08-04 19:58:50", :vip=>false, :bad=>true, :site=>"deppa-ru", :tags=>[], :marginSumm=>0, :totalSumm=>0, :averageSumm=>0, :ordersCount=>0, :customFields=>[], :personalDiscount=>0}}
695
+ ```
696
+ ### <a name="get--api-v5-customers-corporate-externalId-addresses"></a> [Список адресов корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate-externalId-addresses)
697
+ ```ruby
698
+ params = {
699
+ by: "id"
700
+ }
701
+ RetailcrmApi::Request.customers_corporate(63).addresses.retrieve(params: params).body
702
+ #=> {:success=>true, :addresses=>[], :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}}
703
+ ```
704
+ ### <a name="post--api-v5-customers-corporate-externalId-addresses-create"></a> [Создание адреса для корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-addresses-create)
705
+ ```ruby
706
+ params = {
707
+ by: "id"
708
+ }
709
+ body = {
710
+ site: "deppa-ru",
711
+ address: {
712
+ city: "Санкт-Петербург"
713
+ }
714
+ }
715
+ RetailcrmApi::Request.customers_corporate(63).addresses.create(params: params, body: body).body
716
+ #=> {:success=>true, :id=>42}
717
+ ```
718
+ ### <a name="post--api-v5-customers-corporate-externalId-addresses-entityExternalId-edit"></a> [Редактирование адреса корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-addresses-entityExternalId-edit)
719
+ ```ruby
720
+ params = {
721
+ by: "id",
722
+ entityBy: "id"
723
+ }
724
+ body = {
725
+ site: "deppa-ru",
726
+ address: {
727
+ city: "Вятка"
728
+ }
729
+ }
730
+ RetailcrmApi::Request.customers_corporate(63).addresses(42).update(params: params, body: body).body
731
+ #=> {:success=>true, :id=>42}
732
+ ```
733
+ ### <a name="get--api-v5-customers-corporate-externalId-companies"></a> [Список компаний корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate-externalId-companies)
734
+ ```ruby
735
+ params = {
736
+ by: "id"
737
+ }
738
+ RetailcrmApi::Request.customers_corporate(63).companies.retrieve(params: params).body
739
+ #=> {:success=>true, :companies=>[], :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}}
740
+ ```
741
+ ### <a name="post--api-v5-customers-corporate-externalId-companies-create"></a> [Создание компании для корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-companies-create)
742
+ ```ruby
743
+ params = {
744
+ by: "id"
745
+ }
746
+ body = {
747
+ site: "deppa-ru",
748
+ company: {
749
+ name: "DEPPA",
750
+ site: "https://deppa.ru"
751
+ }
752
+ }
753
+ RetailcrmApi::Request.customers_corporate(62).companies.create(params: params, body: body).body
754
+ #=> {:success=>true, :id=>16}
755
+ ```
756
+ ### <a name="post--api-v5-customers-corporate-externalId-companies-entityExternalId-edit"></a> [Редактирование компании корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-companies-entityExternalId-edit)
757
+ ```ruby
758
+ params = {
759
+ by: "id",
760
+ entityBy: "id"
761
+ }
762
+ body = {
763
+ site: "deppa-ru",
764
+ company: {
765
+ isMain: true
766
+ }
767
+ }
768
+ RetailcrmApi::Request.customers_corporate(62).companies(16).update(params: params, body: body).body
769
+ #=> {:success=>true, :id=>16}
770
+ ```
771
+ ### <a name="get--api-v5-customers-corporate-externalId-contacts"></a> [Список контактных лиц корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-customers-corporate-externalId-contacts)
772
+ ```ruby
773
+ params = {
774
+ by: "id"
775
+ }
776
+ RetailcrmApi::Request.customers_corporate(62).contacts.retrieve(params: params).body
777
+ #=> {:success=>true, :contacts=>[], :pagination=>{:limit=>20, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}}
778
+ ```
779
+ ### <a name="post--api-v5-customers-corporate-externalId-contacts-create"></a> [Создание связи корпоративного клиента с контактным лицом](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-contacts-create)
780
+ ```ruby
781
+ params = {
782
+ by: "id"
783
+ }
784
+ body = {
785
+ site: "deppa-ru",
786
+ contact: {
787
+ isMain: true,
788
+ customer: {
789
+ externalId: "555"
790
+ }
791
+ }
792
+ }
793
+ RetailcrmApi::Request.customers_corporate(62).contacts.create(params: params, body: body).body
794
+ #=> {:success=>true, :id=>16}
795
+ ```
796
+ ### <a name="post--api-v5-customers-corporate-externalId-contacts-entityExternalId-edit"></a> [Редактирование связи корпоративного клиента с контактным лицом](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-contacts-entityExternalId-edit)
797
+ ```ruby
798
+ params = {
799
+ by: "id",
800
+ entityBy: "externalId"
801
+ }
802
+ body = {
803
+ site: "deppa-ru",
804
+ contact: {
805
+ isMain: false
806
+ }
807
+ }
808
+ RetailcrmApi::Request.customers_corporate(62).contacts("555").update(params: params, body: body).body
809
+ #=> {:success=>true, :id=>16}
810
+ ```
811
+ ### <a name="post--api-v5-customers-corporate-externalId-edit"></a> [Редактирование корпоративного клиента](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-customers-corporate-externalId-edit)
812
+ ```ruby
813
+ params = {
814
+ by: "id"
815
+ }
816
+ body = {
817
+ site: "deppa-ru",
818
+ customerCorporate: {
819
+ personalDiscount: 99.9
820
+ }
821
+ }
822
+ RetailcrmApi::Request.customers_corporate(62).update(params: params, body: body).body
823
+ #=> {:success=>true, :id=>62}
824
+ ```
825
+ ## <a name="delivery"></a> Доставки
826
+ ### <a name="post--api-v5-delivery-calculate"></a> [Расчёт стоимости доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-delivery-calculate)
827
+ ```ruby
828
+ body = {
829
+ deliveryTypeCodes: ["courier", "self-delivery", "russian-post", ""],
830
+ order: {
831
+ weight: 1,
832
+ length: 10,
833
+ width: 10,
834
+ height: 10
835
+ }
836
+ }
837
+ RetailcrmApi::Request.delivery.create(body: body, suffix: "calculate").body
838
+ #=> {:success=>true, :calculations=>[{:code=>"courier", :available=>true, :cost=>300}, {:code=>"self-delivery", :available=>true, :cost=>0}, {:code=>"russian-post", :available=>true, :cost=>0}, {:code=>"ems", :available=>true, :cost=>0}]}
839
+ ```
840
+ ### <a name="post--api-v5-delivery-generic-subcode-tracking"></a> [Обновление статусов доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-delivery-generic-subcode-tracking)
841
+ ### <a name="get--api-v5-delivery-shipments"></a> [Получение списка отгрузок в службы доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-delivery-shipments)
842
+ ### <a name="post--api-v5-delivery-shipments-create"></a> [Создание отгрузки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-delivery-shipments-create)
843
+ ### <a name="get--api-v5-delivery-shipments-id"></a> [Получение информации об отгрузке](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-delivery-shipments-id)
844
+ ### <a name="post--api-v5-delivery-shipments-id-edit"></a> [Редактироване отгрузки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-delivery-shipments-id-edit)
845
+ ### <a name="callback_get--integrationModule_integrations__delivery__actions__autocomplete_"></a> [Запрос на получение данных для автокомплит поля](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__delivery__actions__autocomplete_)
846
+ ### <a name="callback_post--integrationModule_integrations__delivery__actions__calculate_"></a> [Расчет стоимости доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__delivery__actions__calculate_)
847
+ ### <a name="callback_post--integrationModule_integrations__delivery__actions__delete_"></a> [Удаление заявки на доставку](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__delivery__actions__delete_)
848
+ ### <a name="callback_get--integrationModule_integrations__delivery__actions__get_"></a> [Получение данных доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__delivery__actions__get_)
849
+ ### <a name="callback_post--integrationModule_integrations__delivery__actions__print_"></a> [Печатные формы службы доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__delivery__actions__print_)
850
+ ### <a name="callback_post--integrationModule_integrations__delivery__actions__save_"></a> [Создание и редактирование доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__delivery__actions__save_)
851
+ ### <a name="callback_post--integrationModule_integrations__delivery__actions__shipmentDelete_"></a> [Удаление заявки на отгрузку](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__delivery__actions__shipmentDelete_)
852
+ ### <a name="callback_get--integrationModule_integrations__delivery__actions__shipmentPointList_"></a> [Список терминалов приема посылок](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__delivery__actions__shipmentPointList_)
853
+ ### <a name="callback_post--integrationModule_integrations__delivery__actions__shipmentSave_"></a> [Создание и редактирование отгрузки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__delivery__actions__shipmentSave_)
854
+ ### <a name="callback_get--integrationModule_integrations__delivery__actions__tariffList_"></a> [Список тарифов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__delivery__actions__tariffList_)
855
+ ## <a name="files"></a> Файлы
856
+ ### <a name="get--api-v5-files"></a> [Получение списка файлов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-files)
857
+ ### <a name="post--api-v5-files-upload"></a> [Загрузка файла на сервер](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-files-upload)
858
+ ### <a name="get--api-v5-files-id"></a> [Получение информации о файле](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-files-id)
859
+ ### <a name="post--api-v5-files-id-delete"></a> [Удаление файла](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-files-id-delete)
860
+ ### <a name="get--api-v5-files-id-download"></a> [Скачивание файла](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-files-id-download)
861
+ ### <a name="post--api-v5-files-id-edit"></a> [Редактирование файла](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-files-id-edit)
862
+ ## <a name="integration"></a> Интеграция
863
+ ### <a name="get--api-v5-integration-modules-code"></a> [Получение интеграционного модуля](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-integration-modules-code)
864
+ ### <a name="post--api-v5-integration-modules-code-edit"></a> [Создание/редактирование интеграционного модуля](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-integration-modules-code-edit)
865
+ ### <a name="callback_post--integrationModule_actions__activity_"></a> [Уведомление об изменении статуса активности или заморозки модуля](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_actions__activity_)
866
+ ## <a name="loyalty"></a> Лояльность
867
+ ### <a name="post--api-v5-loyalty-account-create"></a> [Добавление клиента в программу лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-loyalty-account-create)
868
+ ### <a name="get--api-v5-loyalty-account-id"></a> [Получение информации об участии в программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-loyalty-account-id)
869
+ ### <a name="post--api-v5-loyalty-account-id-activate"></a> [Активация участия в программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-loyalty-account-id-activate)
870
+ ### <a name="post--api-v5-loyalty-account-id-bonus-credit"></a> [Начисление бонусов участию в программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-loyalty-account-id-bonus-credit)
871
+ ### <a name="get--api-v5-loyalty-account-id-bonus-operations"></a> [История бонусного счета](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-loyalty-account-id-bonus-operations)
872
+ ### <a name="post--api-v5-loyalty-account-id-edit"></a> [Редактирование участия в программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-loyalty-account-id-edit)
873
+ ### <a name="get--api-v5-loyalty-accounts"></a> [Список участий в программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-loyalty-accounts)
874
+ ### <a name="post--api-v5-loyalty-calculate"></a> [Расчёт максимальной скидки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-loyalty-calculate)
875
+ ### <a name="get--api-v5-loyalty-loyalties"></a> [Список программ лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-loyalty-loyalties)
876
+ ### <a name="get--api-v5-loyalty-loyalties-id"></a> [Получение информации о программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-loyalty-loyalties-id)
877
+ ## <a name="orders"></a> Заказы
878
+ ### <a name="get--api-v5-orders"></a> [Получение списка заказов, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders)
879
+ ```ruby
880
+ params = {
881
+ limit: 100,
882
+ filter: {
883
+ countries: ["BY","KZ","RU","UA"]
884
+ }
885
+ }
886
+ RetailcrmApi::Request.orders.retrieve(params: params).body
887
+ #=> {:success=>true, :pagination=>{:limit=>100, :totalCount=>0, :currentPage=>1, :totalPageCount=>0}, :orders=>[]}
888
+ ```
889
+ ### <a name="post--api-v5-orders-combine"></a> [Объединение заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-combine)
890
+ ### <a name="post--api-v5-orders-create"></a> [Создание заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-create)
891
+ ```ruby
892
+ body = {
893
+ site: "deppa-ru",
894
+ order: {
895
+ :externalId => 171,
896
+ :number => '171',
897
+ :email => 'test@example.com',
898
+ :createdAt => '2014-10-28 19:31:10',
899
+ :discountPercent => 10,
900
+ :firstName => 'Юкихиро',
901
+ :lastName => 'Мацумото',
902
+ :customer => {
903
+ :externalId => 999,
904
+ :firstName => "Юкихиро",
905
+ :lastName => 'Мацумото',
906
+ :phones => [{ :number => '+79000000000' }],
907
+ },
908
+ :delivery => {
909
+ :code => 'courier',
910
+ :cost => 500,
911
+ :address => {:text => 'г. Санкт-Петербург, ул. Профессора Попова, д.376'}
912
+ },
913
+ :items => [
914
+ {
915
+ :productId => 170,
916
+ :initialPrice => 500,
917
+ :quantity => 2
918
+ },
919
+ {
920
+ :productId => 175,
921
+ :initialPrice => 1300,
922
+ :quantity => 1
923
+ }
924
+ ]
925
+ }
926
+ }
927
+ RetailcrmApi::Request.orders.create(body: body).body
928
+ #=> {:success=>true, :id=>41, :order=>{:slug=>41, :bonusesCreditTotal=>0, :bonusesChargeTotal=>0, :id=>41, :number=>"171", :externalId=>"171", :orderType=>"eshop-individual", :orderMethod=>"shopping-cart", :privilegeType=>"none", :createdAt=>"2014-10-28 19:31:10", :statusUpdatedAt=>"2021-08-05 08:22:04", :summ=>2300, :totalSumm=>2800, :prepaySum=>0, :purchaseSumm=>0, :markDatetime=>"2021-08-05 08:22:04", :lastName=>"Мацумото", :firstName=>"Юкихиро", :email=>"test@example.com", :call=>false, :expired=>false, :customer=>{:type=>"customer", :id=>60, :externalId=>"999", :isContact=>false, :createdAt=>"2021-08-04 13:41:05", :vip=>true, :bad=>false, :site=>"deppa-ru", :contragent=>{:contragentType=>"individual"}, :tags=>[], :marginSumm=>0, :totalSumm=>0, :averageSumm=>0, :ordersCount=>0, :costSumm=>0, :customFields=>[], :personalDiscount=>0, :address=>{:id=>43, :text=>"г. Санкт-Петербург, ул. Профессора Попова, д.376"}, :segments=>[{:id=>20, :code=>"nizkiy-sredniy-chek", :name=>"Низкий средний чек", :createdAt=>"2021-07-29 00:34:14", :isDynamic=>true, :customersCount=>4, :active=>true}, {:id=>31, :code=>"pol-ne-ukazan", :name=>"Пол не указан", :createdAt=>"2021-07-29 00:34:15", :isDynamic=>true, :customersCount=>4, :active=>true}, {:id=>26, :code=>"bez-otmen", :name=>"Без отмен", :createdAt=>"2021-07-29 00:34:15", :isDynamic=>true, :customersCount=>4, :active=>true}], :firstName=>"Юкихиро", :lastName=>"Мацумото", :presumableSex=>"female", :email=>"test@example.com", :phones=>[]}, :contact=>{:type=>"customer", :id=>60, :externalId=>"999", :isContact=>false, :createdAt=>"2021-08-04 13:41:05", :vip=>true, :bad=>false, :site=>"deppa-ru", :contragent=>{:contragentType=>"individual"}, :tags=>[], :marginSumm=>0, :totalSumm=>0, :averageSumm=>0, :ordersCount=>0, :costSumm=>0, :customFields=>[], :personalDiscount=>0, :address=>{:id=>43, :text=>"г. Санкт-Петербург, ул. Профессора Попова, д.376"}, :segments=>[{:id=>20, :code=>"nizkiy-sredniy-chek", :name=>"Низкий средний чек", :createdAt=>"2021-07-29 00:34:14", :isDynamic=>true, :customersCount=>4, :active=>true}, {:id=>31, :code=>"pol-ne-ukazan", :name=>"Пол не указан", :createdAt=>"2021-07-29 00:34:15", :isDynamic=>true, :customersCount=>4, :active=>true}, {:id=>26, :code=>"bez-otmen", :name=>"Без отмен", :createdAt=>"2021-07-29 00:34:15", :isDynamic=>true, :customersCount=>4, :active=>true}], :firstName=>"Юкихиро", :lastName=>"Мацумото", :presumableSex=>"female", :email=>"test@example.com", :phones=>[]}, :contragent=>{:contragentType=>"individual"}, :delivery=>{:code=>"courier", :cost=>500, :netCost=>0, :address=>{:text=>"г. Санкт-Петербург, ул. Профессора Попова, д.376"}}, :site=>"deppa-ru", :status=>"new", :items=>[{:bonusesChargeTotal=>0, :bonusesCreditTotal=>0, :markingCodes=>[], :discounts=>[], :id=>109, :initialPrice=>500, :discountTotal=>0, :prices=>[{:price=>500, :quantity=>2}], :createdAt=>"2014-10-28 19:31:10", :quantity=>2, :status=>"new", :offer=>{:displayName=>"noname", :id=>76, :xmlId=>"4f9c8bc6-7e40-47ee-a90b-c8936ffbf7fb", :name=>"noname", :unit=>{:code=>"pc", :name=>"Штука", :sym=>"шт."}}, :properties=>[], :purchasePrice=>0}, {:bonusesChargeTotal=>0, :bonusesCreditTotal=>0, :markingCodes=>[], :discounts=>[], :id=>110, :initialPrice=>1300, :discountTotal=>0, :prices=>[{:price=>1300, :quantity=>1}], :createdAt=>"2014-10-28 19:31:10", :quantity=>1, :status=>"new", :offer=>{:displayName=>"noname", :id=>77, :xmlId=>"d9b45af3-2f24-49f5-b2b9-e7f5c7362ca9", :name=>"noname", :unit=>{:code=>"pc", :name=>"Штука", :sym=>"шт."}}, :properties=>[], :purchasePrice=>0}], :payments=>[], :fromApi=>true, :shipped=>false, :customFields=>[]}}
929
+ ```
930
+ ### <a name="post--api-v5-orders-fix-external-ids"></a> [Массовая запись внешних ID заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-fix-external-ids)
931
+ ### <a name="get--api-v5-orders-history"></a> [Получение истории изменений заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders-history)
932
+ ### <a name="post--api-v5-orders-links-create"></a> [Создание связи между заказами](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-links-create)
933
+ ### <a name="post--api-v5-orders-loyalty-apply"></a> [Применение бонусов по программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-loyalty-apply)
934
+ ### <a name="post--api-v5-orders-loyalty-cancel-bonus-operations"></a> [Отмена бонусных операций по программе лояльности](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-loyalty-cancel-bonus-operations)
935
+ ### <a name="post--api-v5-orders-payments-create"></a> [Добавление платежа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-payments-create)
936
+ ### <a name="post--api-v5-orders-payments-id-delete"></a> [Удаление платежа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-payments-id-delete)
937
+ ### <a name="post--api-v5-orders-payments-id-edit"></a> [Редактирование платежа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-payments-id-edit)
938
+ ### <a name="get--api-v5-orders-statuses"></a> [Получение списка статусов заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders-statuses)
939
+ ### <a name="post--api-v5-orders-upload"></a> [Пакетная загрузка заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-upload)
940
+ ### <a name="get--api-v5-orders-externalId"></a> [Получение информации о заказе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders-externalId)
941
+ ### <a name="post--api-v5-orders-externalId-edit"></a> [Редактирование заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-externalId-edit)
942
+ ## <a name="orders_packs"></a> Комплектация заказов
943
+ ### <a name="get--api-v5-orders-packs"></a> [Получение списка паков, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders-packs)
944
+ ### <a name="post--api-v5-orders-packs-create"></a> [Создание пака](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-packs-create)
945
+ ### <a name="get--api-v5-orders-packs-history"></a> [Получение истории комплектации заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders-packs-history)
946
+ ### <a name="get--api-v5-orders-packs-id"></a> [Получение информации о паке](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-orders-packs-id)
947
+ ### <a name="post--api-v5-orders-packs-id-delete"></a> [Удаление пака](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-packs-id-delete)
948
+ ### <a name="post--api-v5-orders-packs-id-edit"></a> [Редактирование пака](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-orders-packs-id-edit)
949
+ ## <a name="payment"></a> Платежи
950
+ ### <a name="post--api-v5-payment-check"></a> [Проверка инвойса](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-payment-check)
951
+ ### <a name="post--api-v5-payment-create-invoice"></a> [Создание инвойса](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-payment-create-invoice)
952
+ ### <a name="post--api-v5-payment-update-invoice"></a> [Изменение инвойса](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-payment-update-invoice)
953
+ ### <a name="callback_post--integrationModule_integrations__payment__actions__approve_"></a> [Подтверждение оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__payment__actions__approve_)
954
+ ### <a name="callback_post--integrationModule_integrations__payment__actions__cancel_"></a> [Отмена оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__payment__actions__cancel_)
955
+ ### <a name="callback_post--integrationModule_integrations__payment__actions__create_"></a> [Создание оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__payment__actions__create_)
956
+ ### <a name="callback_post--integrationModule_integrations__payment__actions__refund_"></a> [Возврат](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__payment__actions__refund_)
957
+ ## <a name="recommendation"></a> Рекомендации
958
+ ### <a name="callback_get--integrationModule_integrations__recommendation__actions__recommendation_"></a> [Запрос рекомендуемых товаров](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__recommendation__actions__recommendation_)
959
+ ## <a name="reference"></a> Справочники
960
+ ### <a name="get--api-v5-reference-cost-groups"></a> [Получение списка групп расходов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-cost-groups)
961
+ ### <a name="post--api-v5-reference-cost-groups-code-edit"></a> [Редактирование группы расходов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-cost-groups-code-edit)
962
+ ### <a name="get--api-v5-reference-cost-items"></a> [Получение списка статей расходов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-cost-items)
963
+ ### <a name="post--api-v5-reference-cost-items-code-edit"></a> [Редактирование статьи расходов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-cost-items-code-edit)
964
+ ### <a name="get--api-v5-reference-countries"></a> [Получение списка кодов доступных стран](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-countries)
965
+ ### <a name="get--api-v5-reference-couriers"></a> [Получение списка курьеров](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-couriers)
966
+ ### <a name="post--api-v5-reference-couriers-create"></a> [Создание курьера](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-couriers-create)
967
+ ### <a name="post--api-v5-reference-couriers-id-edit"></a> [Редактирование курьера](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-couriers-id-edit)
968
+ ### <a name="get--api-v5-reference-delivery-services"></a> [Получение списка служб доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-delivery-services)
969
+ ### <a name="post--api-v5-reference-delivery-services-code-edit"></a> [Создание/редактирование службы доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-delivery-services-code-edit)
970
+ ### <a name="get--api-v5-reference-delivery-types"></a> [Получение списка типов доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-delivery-types)
971
+ ### <a name="post--api-v5-reference-delivery-types-code-edit"></a> [Создание/редактирование типа доставки](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-delivery-types-code-edit)
972
+ ### <a name="get--api-v5-reference-legal-entities"></a> [Получение списка юридических лиц](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-legal-entities)
973
+ ### <a name="post--api-v5-reference-legal-entities-code-edit"></a> [Создание/редактирование юридического лица](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-legal-entities-code-edit)
974
+ ### <a name="get--api-v5-reference-mg-channels"></a> [Получение списка MessageGateway каналов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-mg-channels)
975
+ ### <a name="get--api-v5-reference-order-methods"></a> [Получение списка способов оформления заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-order-methods)
976
+ ### <a name="post--api-v5-reference-order-methods-code-edit"></a> [Создание/редактирование способа оформления заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-order-methods-code-edit)
977
+ ### <a name="get--api-v5-reference-order-types"></a> [Получение списка типов заказов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-order-types)
978
+ ### <a name="post--api-v5-reference-order-types-code-edit"></a> [Создание/редактирование типа заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-order-types-code-edit)
979
+ ### <a name="get--api-v5-reference-payment-statuses"></a> [Получение списка статусов оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-payment-statuses)
980
+ ### <a name="post--api-v5-reference-payment-statuses-code-edit"></a> [Создание/редактирование статусов оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-payment-statuses-code-edit)
981
+ ### <a name="get--api-v5-reference-payment-types"></a> [Получение списка типов оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-payment-types)
982
+ ### <a name="post--api-v5-reference-payment-types-code-edit"></a> [Создание/редактирование типа оплаты](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-payment-types-code-edit)
983
+ ### <a name="get--api-v5-reference-price-types"></a> [Получение списка типов цен](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-price-types)
984
+ ### <a name="post--api-v5-reference-price-types-code-edit"></a> [Создание/редактирование типа цены](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-price-types-code-edit)
985
+ ### <a name="get--api-v5-reference-product-statuses"></a> [Получение списка статусов товаров в заказе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-product-statuses)
986
+ ### <a name="post--api-v5-reference-product-statuses-code-edit"></a> [Создание/редактирование статуса товара в заказе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-product-statuses-code-edit)
987
+ ### <a name="get--api-v5-reference-sites"></a> [Получение списка магазинов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-sites)
988
+ ### <a name="post--api-v5-reference-sites-code-edit"></a> [Создание/редактирование магазина](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-sites-code-edit)
989
+ ### <a name="get--api-v5-reference-status-groups"></a> [Получение списка групп статусов заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-status-groups)
990
+ ### <a name="get--api-v5-reference-statuses"></a> [Получение списка статусов заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-statuses)
991
+ ### <a name="post--api-v5-reference-statuses-code-edit"></a> [Создание/редактирование статуса заказа](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-statuses-code-edit)
992
+ ### <a name="get--api-v5-reference-stores"></a> [Получение списка складов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-stores)
993
+ ### <a name="post--api-v5-reference-stores-code-edit"></a> [Создание/редактирование сведений о складе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-stores-code-edit)
994
+ ### <a name="get--api-v5-reference-units"></a> [Получение списка единиц измерений](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-reference-units)
995
+ ### <a name="post--api-v5-reference-units-code-edit"></a> [Создание/редактирование единицы измерения](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-reference-units-code-edit)
996
+ ## <a name="segments"></a> Сегменты
997
+ ### <a name="get--api-v5-segments"></a> [Получение списка пользовательских сегментов](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-segments)
998
+ ## <a name="settings"></a> Настройки
999
+ ### <a name="get--api-v5-settings"></a> [Получение настроек системы](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-settings)
1000
+ ## <a name="store"></a> Склад
1001
+ ### <a name="get--api-v5-store-inventories"></a> [Получение остатков и закупочных цен](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-store-inventories)
1002
+ ### <a name="post--api-v5-store-inventories-upload"></a> [Обновление остатков и закупочных цен](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-store-inventories-upload)
1003
+ ### <a name="post--api-v5-store-prices-upload"></a> [Обновление цен торговых предложений](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-store-prices-upload)
1004
+ ### <a name="get--api-v5-store-product-groups"></a> [Получение списка групп товаров, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-store-product-groups)
1005
+ ### <a name="get--api-v5-store-products"></a> [Получение списка товаров с торговыми предложениями, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-store-products)
1006
+ ### <a name="get--api-v5-store-products-properties"></a> [Получение списка свойств товаров, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-store-products-properties)
1007
+ ### <a name="callback_post--integrationModule_integrations__store__actions__inventoriesUpload_"></a> [Обновление остатков и закупочных цен](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__store__actions__inventoriesUpload_)
1008
+ ### <a name="callback_post--integrationModule_integrations__store__actions__reserve_"></a> [Актуализация остатков после обращения к складской системе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__store__actions__reserve_)
1009
+ ## <a name="tasks"></a> Задачи
1010
+ ### <a name="get--api-v5-tasks"></a> [Получение списка задач](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-tasks)
1011
+ ### <a name="post--api-v5-tasks-create"></a> [Создание задачи](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-tasks-create)
1012
+ ### <a name="get--api-v5-tasks-id"></a> [Получение информации о задаче](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-tasks-id)
1013
+ ### <a name="post--api-v5-tasks-id-edit"></a> [Редактирование задачи](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-tasks-id-edit)
1014
+ ## <a name="telephony"></a> Телефония
1015
+ ### <a name="post--api-v5-telephony-call-event"></a> [События звонка](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-telephony-call-event)
1016
+ ### <a name="post--api-v5-telephony-calls-upload"></a> [Загрузка телефонных звонков](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-telephony-calls-upload)
1017
+ ### <a name="get--api-v5-telephony-manager"></a> [Получение ответственного менеджера](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-telephony-manager)
1018
+ ### <a name="callback_get--integrationModule_integrations__telephony__changeUserStatusUrl_"></a> [Оповещение о смене статуса](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__telephony__changeUserStatusUrl_)
1019
+ ### <a name="callback_get--integrationModule_integrations__telephony__makeCallUrl_"></a> [Инициация звонка](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--integrationModule_integrations__telephony__makeCallUrl_)
1020
+ ### <a name="callback_post--integrationModule_integrations__telephony__personalAccountUrl_"></a> [Переход в личный кабинет](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_post--integrationModule_integrations__telephony__personalAccountUrl_)
1021
+ ### <a name="callback_get--recordUrl"></a> [Прослушивание звонка](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#callback_get--recordUrl)
1022
+ ## <a name="users"></a> Пользователи
1023
+ ### <a name="get--api-v5-user-groups"></a> [Получение списка групп пользователей](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-user-groups)
1024
+ ### <a name="get--api-v5-users"></a> [Получение списка пользователей, удовлетворяющих заданному фильтру](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-users)
1025
+ ### <a name="get--api-v5-users-id"></a> [Получение информации о пользователе](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-users-id)
1026
+ ### <a name="post--api-v5-users-id-status"></a> [Смена статуса пользователя](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-users-id-status)
1027
+ ## <a name="verification"></a> Верификация
1028
+ ### <a name="post--api-v5-verification-sms-confirm"></a> [Подтверждение верификации](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#post--api-v5-verification-sms-confirm)
1029
+ ### <a name="get--api-v5-verification-sms-checkId-status"></a> [Проверка статуса верификации](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-verification-sms-checkId-status)
1030
+ ## <a name="get--api-v5-statistic"></a> Статистика
1031
+ ### <a name="get--api-v5-statistic-update"></a> [Обновление статистики](https://docs.retailcrm.ru/Developers/API/APIVersions/APIv5#get--api-v5-statistic-update)
1032
+ ```ruby
1033
+ RetailcrmApi::Request.statistic("update").retrieve.body
1034
+ #=> {:success=>true}
223
1035
  ```
@@ -1,6 +1,6 @@
1
1
  defaults: &defaults
2
- API_KEY: '***'
3
- API_ENDPOINT: 'https://yourdomain.retailcrm.ru'
2
+ API_KEY: "peaRilNuGi202FK9ZXLYr7aEHi5U0Cv5"
3
+ API_ENDPOINT: "https://demo.retailcrm.ru"
4
4
  production:
5
5
  <<: *defaults
6
6
  development:
@@ -111,7 +111,7 @@ module RetailcrmApi
111
111
  request.headers['User-Agent'] = "RetailCrmApi/#{RetailcrmApi::VERSION} Ruby gem"
112
112
  request.headers.merge!(headers) if headers
113
113
  if body
114
- body.each { |k, v| body[k] = MultiJson.dump(v) }
114
+ body.each { |k, v| body[k] = MultiJson.dump(v) if [Array, Hash].include?(v.class) }
115
115
  request.body = URI.encode_www_form(body)
116
116
  end
117
117
  request.options.timeout = self.timeout
@@ -1,3 +1,3 @@
1
1
  module RetailcrmApi
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retailcrm-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov