rail-locator-api 0.0.33 → 0.1.3

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: 5ede41528479ea31925099520174f0ed0a80a2606b8765f8b807accb044fd962
4
- data.tar.gz: ebc0acc5dbee2508dff3a999e0c8207c7597d2d32dd40a59ed6ff799504b1e69
3
+ metadata.gz: 86dafa172f5244cd21ea40704c850a5f585514ba5b00437da05bca58d420cbe5
4
+ data.tar.gz: 439dc8ac49e8998c577981a319e1939600831304ce60bfcd2f10179af2d28c51
5
5
  SHA512:
6
- metadata.gz: c81a85c81904a43f9c65a89939c961ab0c89aa3b63e577be00bddcdcff611421b84d4f2cd547503f543eca3df65fd5dcc1e1942be0731d0dd210a069f00bc2ba
7
- data.tar.gz: 14759e3c5a4eb9a77582156b111ec7979751c564ff375f176ce6aaea8ad09657ead00a520215966bcb468feaeb38bd8f3abc550d8c74a73ee8987490174508f9
6
+ metadata.gz: 074b9f3ad0f4561006e01a58bc9a7f83c2b792f3c715adc85f25317d080a9cdada8e3c95f2ba1d28c267a511f93dfac118894af414ae51ded59ffae582592b9c
7
+ data.tar.gz: 1393c5d85d5bc21600d50e618a2c0ef1e87763e68d5a77c936e87911f139f172d439951d024345d927f1569a3086bb4916e96a60821ece19885e6aba04811d24
data/README.markdown CHANGED
@@ -9,27 +9,60 @@ API wrapper для RailLocator API v2
9
9
  3. [Debug Logging](#debug_logging)
10
10
  4. [Custom logger](#custom_logger)
11
11
  1. [Треки](#tracks)
12
- 1. [Получение трека](#get-track-dislocation)
13
- 2. [Получение несклько треков](#get-tracks-dislocation)
14
- 3. [Постановка на слежение](#post-tracks)
15
- 4. [Снятие со слежения](#delete-tracks)
16
- 5. [Получение списка треков](#get-track-history)
17
-
12
+ 1. [Получение Списка Треков](#tracks_dislocation_get)
13
+ 2. [Постановка На Слежение](#tracks_dislocation_post)
14
+ 3. [Получение Дислокации По Нескольким Трекам](#tracks_dislocation_batch_get)
15
+ 4. [Получение Информации О Маршруте](#tracks_dislocation_route_info_get)
16
+ 5. [Получение Дислокации По Одному Треку](#tracks_dislocation__track_id__get)
17
+ 2. [Справки](#inquiries)
18
+ 1. [Получение Справок](#tracks_inquiries_get)
19
+ 2. [Постановка На Слежение](#tracks_inquiries_get)
20
+ 3. [Получение Справки](#tracks_inquiries__track_id__get)
21
+ 3. [Подходы](#approaches)
22
+ 1. [Постановка На Слежение](#tracks_approaches_post)
23
+ 4. [Тех. паспорт вагона](#tech_passport)
24
+ 1. [Получение Тех. Паспортов](#tracks_tech_passport_batch_get)
25
+ 2. [Получение Тех. Паспорта](#tracks_tech_passport__track_id__get)
26
+ 5. [Контроль тех. состояния](#tech_condition)
27
+ 1. [Получение Тех. Состояния](#tracks_tech_condition_get)
28
+ 2. [Постановка На Слежение](#tracks_tech_condition_post)
29
+ 6. [Изменение/Снятие треков](#update_delete_tracks)
30
+ 1. [Снятие Со Слежения Нескольких Треков](#tracks_batch_delete)
31
+ 2. [Изменение Информации О Нескольких Треках](#tracks_batch_patch)
32
+ 3. [Снятие Со Слежения Одного Трека](#tracks__track_id__delete)
33
+ 4. [Изменение Информации О Треке](#tracks__track_id__patch)
34
+ 7. [Группы](#groups)
35
+ 1. [Получение Списка Групп](#groups_get)
36
+ 2. [Создание Группы](#groups_post)
37
+ 3. [Удаление Группы](#groups__group_id__delete)
38
+ 4. [Изменение Группы](#groups__group_id__patch)
39
+ 5. [Добавление Вагона В Группу](#groups__group_id__cargo_transport_unit_number_batch_put)
40
+ 6. [Удаление Вагонов Из Группы](#groups__group_id__cargo_transport_unit_number_batch_delete)
41
+ 7. [Добавление Вагона В Группу](#groups__group_id__cargo_transport_unit_number__cargo_transport_unit_number__put)
42
+ 8. [Удаление Вагона Из Группы](#groups__group_id__cargo_transport_unit_number__cargo_transport_unit_number__delete)
43
+ 8. [Справочники](#references)
44
+ 1. [Получение Координат Станции](#references_station_get)
45
+ 2. [Получение Списка Станций С Краткой Информацией](#references_stations_get)
46
+
18
47
  # <a name="install"></a> Установка
19
48
 
49
+ Для авторизации по api key необходимо получить его [в личном кабинете локатора](https://rail-locator.com/app/api-keys)
50
+ либо использовать другие методы авторизации:
51
+
52
+ `:keycloak, :api_key, :base64`
53
+
20
54
  ## Ruby
21
55
  $ gem install rail-locator-api
22
56
  ## Rails
23
57
  добавьте в Gemfile:
24
- gem 'rail-locator-api', git: 'https://gitlab.ctm.ru/locator/rail-locator-ruby-api-wrapper'
58
+
59
+ gem 'rail-locator-api'
25
60
 
26
61
  и запустите `bundle install`.
27
62
 
28
63
  Затем:
29
- rails g rail_locator_api:install
30
- ## Требования
31
64
 
32
- Необходимо получить api key https://rail-locator.com/app/api-keys
65
+ rails g rail_locator_api:install
33
66
 
34
67
  ## <a name="using_rails"></a> Использование Rails
35
68
 
@@ -40,21 +73,24 @@ API wrapper для RailLocator API v2
40
73
  Сначала создайте экземпляр объекта `RailLocatorApi::Request`:
41
74
 
42
75
  ```ruby
43
- locator = RailLocatorApi::Request.new(api_key: "your_api_key", api_auth_method: :api_key)
44
- или
45
- locator = RailLocatorApi::Request.new(api_user_email: "email@ctm.ru", api_user_password: "12345678")
76
+ locator = RailLocatorApi::Request.new(api_key: "***")
77
+ # или
78
+ locator = RailLocatorApi::Request.new(api_auth_method: :base64, api_user_email: "email@ctm.ru", api_user_password: "12345678")
46
79
  ```
47
80
 
48
- Вы можете изменять `api_key`, `api_user_email`, `api_user_password`, `timeout`, `open_timeout`, `faraday_adapter`, `proxy`, `symbolize_keys`, `logger`, и `debug`:
81
+ Вы можете изменять `api_auth_method`, `api_key`, `api_user_email`, `api_user_password`, `timeout`, `open_timeout`, `faraday_adapter`, `proxy`, `symbolize_keys`, `logger`, и `debug`:
49
82
 
50
83
  ```ruby
51
- RailLocatorApi::Request.api_key = "your_api_key"
52
- RailLocatorApi::Request.api_user_email = "email@ctm.ru"
53
- RailLocatorApi::Request.api_user_password = "12345678"
54
84
  RailLocatorApi::Request.timeout = 15
55
85
  RailLocatorApi::Request.open_timeout = 15
56
86
  RailLocatorApi::Request.symbolize_keys = true
57
87
  RailLocatorApi::Request.debug = false
88
+
89
+ RailLocatorApi::Request.api_key = "your_api_key"
90
+ # или
91
+ RailLocatorApi::Request.api_auth_method = :base64
92
+ RailLocatorApi::Request.api_user_email = "email@ctm.ru"
93
+ RailLocatorApi::Request.api_user_password = "12345678"
58
94
  ```
59
95
 
60
96
  Либо в файле `config/initializers/rail_locator_api.rb` для Rails.
@@ -64,7 +100,7 @@ RailLocatorApi::Request.debug = false
64
100
  Измените `debug: true` чтобы включить логирование в STDOUT.
65
101
 
66
102
  ```ruby
67
- locator = RailLocatorApi::Request.new(api_key: "your_api_key", debug: true)
103
+ locator = RailLocatorApi::Request.new(api_key: "***", debug: true)
68
104
  ```
69
105
 
70
106
  ### <a name="custom_logger"></a> Custom logger
@@ -72,7 +108,7 @@ locator = RailLocatorApi::Request.new(api_key: "your_api_key", debug: true)
72
108
  `Logger.new` используется по умолчанию, но вы можете изменить на свой:
73
109
 
74
110
  ```ruby
75
- locator = RailLocatorApi::Request.new(api_key: "your_api_key", debug: true, logger: MyLogger.new)
111
+ locator = RailLocatorApi::Request.new(api_key: "***", debug: true, logger: MyLogger.new)
76
112
  ```
77
113
 
78
114
  Или:
@@ -82,65 +118,385 @@ RailLocatorApi::Request.logger = MyLogger.new
82
118
  ```
83
119
 
84
120
  # <a name="examples"></a> Примеры
85
- ## <a name="tracks"></a> Треки
86
- ### <a name="get-track-dislocation"></a> [Получение трека](http://soap.ctm.ru:8112/api/v2.0/redoc#operation/__________________________________________tracks_dislocation_data_get)
121
+ ## <a name="tracks"></a> Дислокация
122
+ ### <a name="tracks_dislocation_get"></a> [Получение Списка Треков](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Dislokaciya/operation/________________________tracks_dislocation_get)
123
+ ```ruby
124
+ request = {
125
+ "limit": 100,
126
+ "offset": 0,
127
+ "filters": [
128
+ {
129
+ "field": "is_broken",
130
+ "operand": "in",
131
+ "value": [
132
+ null,
133
+ true
134
+ ]
135
+ },
136
+ {
137
+ "field": "track_create_time",
138
+ "operand": ">=",
139
+ "value": "2010-10-10 00:00"
140
+ },
141
+ {
142
+ "field": "track_stop_time",
143
+ "operand": "between",
144
+ "value": [
145
+ "2010-10-10 00:00",
146
+ "2021-10-10 00:00"
147
+ ]
148
+ }
149
+ ],
150
+ "sort": [
151
+ {
152
+ "field": "is_active",
153
+ "order": "asc"
154
+ }
155
+ ],
156
+ "fulltext_filter": {
157
+ "value": "2010",
158
+ "fields": [
159
+ "track_create_time",
160
+ "track_stop_time"
161
+ ],
162
+ "operation": "include"
163
+ }
164
+ }
165
+ response = RailLocatorApi::Request.tracks.dislocation.retrieve(body: request)
166
+ p response.body
167
+ ```
168
+
169
+ ### <a name="tracks_dislocation_post"></a> [Постановка На Слежение](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Dislokaciya/operation/_______________________tracks_dislocation_post)
170
+
171
+ ```ruby
172
+ request = [
173
+ {
174
+ "is_validate_vehicle": true,
175
+ "cargo_transport_unit_number": "ASVD123",
176
+ "country_code": "01",
177
+ "tracking_type": 1,
178
+ "is_cross_country_tracking": true
179
+ }
180
+ ]
181
+ response = RailLocatorApi::Request.tracks.dislocation.create(body: request)
182
+ p response.body
183
+ ```
184
+
185
+ ### <a name="tracks_dislocation_batch_get"></a> [Получение Дислокации По Нескольким Трекам](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Dislokaciya/operation/__________________________________________tracks_dislocation_batch_get)
186
+
187
+ ```ruby
188
+ request = {
189
+ "track_ids": [
190
+ 0
191
+ ],
192
+ "operations_count": 10
193
+ }
194
+ response = RailLocatorApi::Request.tracks.dislocation.history.retrieve(body: request)
195
+ p response.body
196
+ ```
197
+
198
+ ### <a name="tracks_dislocation_route_info_get"></a> [Получение Информации О Маршруте](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Dislokaciya/operation/________________________________tracks_dislocation_route_info_get)
199
+
87
200
  ```ruby
88
201
  track_id = 1
89
- #КАК ВЫГЛЯДИТ СЕЙЧАС
90
- RailLocatorApi::Request.tracks.dislocation(track_id).data.retrieve.body
91
- #КАК ЭТО ДОЛЖНО ВЫГЛЯДЕТЬ
92
- RailLocatorApi::Request.tracks(track_id).retrieve.body
202
+ response = RailLocatorApi::Request.tracks.dislocation(track_id).route.retrieve
203
+ p response.body
93
204
  ```
94
- ### <a name="get-track-dislocation"></a> [Получение треков](http://soap.ctm.ru:8112/api/v2.0/redoc#operation/__________________________________________tracks_dislocation_data_get)
205
+
206
+ ### <a name="tracks_dislocation__track_id__get"></a> [Получение Дислокации По Одному Треку](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Dislokaciya/operation/_____________________________________tracks_dislocation__track_id__get)
207
+
95
208
  ```ruby
96
- params = {
97
- track_ids: [1,2,3],
98
- operations_count: 100
209
+ track_id = 1
210
+ response = RailLocatorApi::Request.tracks.dislocation(track_id).history.retrieve
211
+ p response.body
212
+ ```
213
+
214
+ ## <a name="inquiries"></a> Справки
215
+
216
+ ### <a name="tracks_inquiries_get"></a> [Получение Справок](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Spravki/operation/__________________tracks_inquiries_get)
217
+ ```ruby
218
+ request = {
219
+ "limit": 100,
220
+ "offset": 0,
221
+ "filters": [
222
+ {
223
+ "field": "is_broken",
224
+ "operand": "in",
225
+ "value": [
226
+ null,
227
+ true
228
+ ]
229
+ },
230
+ {
231
+ "field": "track_start",
232
+ "operand": ">=",
233
+ "value": "2010-10-10 00:00"
234
+ },
235
+ {
236
+ "field": "track_stop",
237
+ "operand": "between",
238
+ "value": [
239
+ "2010-10-10 00:00",
240
+ "2021-10-10 00:00"
241
+ ]
242
+ }
243
+ ],
244
+ "sort": [
245
+ {
246
+ "field": "is_active",
247
+ "order": "asc"
248
+ }
249
+ ],
250
+ "fulltext_filter": {
251
+ "value": "2010",
252
+ "fields": [
253
+ "track_start",
254
+ "track_stop"
255
+ ],
256
+ "operation": "include"
257
+ }
99
258
  }
100
- #КАК ВЫГЛЯДИТ СЕЙЧАС
101
- RailLocatorApi::Request.tracks.dislocation.data.retrieve(body: params).body
102
- #КАК ЭТО ДОЛЖНО ВЫГЛЯДЕТЬ
103
- RailLocatorApi::Request.tracks.retrieve(params: params).body
104
- ```
105
- ### <a name="post-tracks"></a> [Постановка на слежение](http://soap.ctm.ru:8112/api/v2.0/redoc#operation/_______________________tracks_post)
106
- ```ruby
107
- body = [
108
- {
109
- is_validate_vehicle: true,
110
- cargo_transport_unit_number: "Test",
111
- tracking_type: 0,
112
- country_code: "RU",
113
- is_cross_country_tracking: true
114
- }
259
+ response = RailLocatorApi::Request.tracks.inquiries.retrieve(body: request)
260
+ p response.body
261
+ ```
262
+
263
+ ### <a name="tracks_inquiries_post"></a> [Постановка На Слежение](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Spravki/operation/_______________________tracks_inquiries_post)
264
+ ```ruby
265
+ request = [
266
+ {
267
+ "inquiry_type": "2612",
268
+ "cargo_transport_unit_number": "12345678"
269
+ }
115
270
  ]
116
- RailLocatorApi::Request.tracks.create(body: body).body
271
+ response = RailLocatorApi::Request.tracks.inquiries.create(body: request)
272
+ p response.body
117
273
  ```
118
- ### <a name="delete-tracks"></a> [Снятие со слежения](http://soap.ctm.ru:8112/api/v2.0/redoc#operation/___________________tracks_delete)
274
+
275
+ ### <a name="tracks_inquiries__track_id__get"></a> [Получение Справки](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Spravki/operation/__________________tracks_inquiries__track_id__get)
119
276
  ```ruby
120
- body = {
121
- track_ids: [
122
- 123,
123
- 1234
124
- ]
277
+ track_id = 1
278
+ response = RailLocatorApi::Request.tracks.inquiries(track_id).retrieve
279
+ p response.body
280
+ ```
281
+
282
+ ## <a name="approaches"></a> Подходы
283
+ ### <a name="tracks_approaches_post"></a> [Постановка На Слежение](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Podhody/operation/_______________________tracks_approaches_post)
284
+ ```ruby
285
+ request = [
286
+ {
287
+ "cargo_transport_unit_type": 0,
288
+ "stop_tracking_condition": 0,
289
+ "cargo_transport_unit_load_state": 0,
290
+ "cargo_code": "string",
291
+ "tracking_type": 0,
292
+ "destination_station": "string",
293
+ "which_okpo_to_use": 0,
294
+ "cargo_sender_okpo": "string",
295
+ "cargo_receiver_okpo": "string"
296
+ }
297
+ ]
298
+ response = RailLocatorApi::Request.tracks.approaches.create(body: request)
299
+ p response.body
300
+ ```
301
+
302
+ ## <a name="tech_passport"></a> Тех. паспорт вагона
303
+ ### <a name="tracks_tech_passport_batch_get"></a> [Получение Тех. Паспортов](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Teh.-pasport-vagona/operation/_________________________tracks_tech_passport_batch_get)
304
+ ```ruby
305
+ request = {
306
+ "track_ids": [
307
+ 0
308
+ ],
309
+ "count": 1
125
310
  }
126
- RailLocatorApi::Request.tracks.delete(body: body)
127
- #ОК, НО НУЖЕН ЕЩЕ МЕТОД
128
- track_id = 123
129
- RailLocatorApi::Request.tracks(track_id).delete
130
- ```
131
- ### <a name="get-track-history"></a> [Получение списка треков](http://soap.ctm.ru:8112/api/v2.0/redoc#operation/________________________tracks_dislocation_get)
132
- ```ruby
133
- params = {
134
- "limit": 10000,
135
- "offset": 0,
136
- "filters": [
137
- {}
138
- ],
139
- "fulltext_filter": "string"
311
+ response = RailLocatorApi::Request.tracks.dislocation.tech_passports.retrieve(body: request)
312
+ p response.body
313
+ ```
314
+ ### <a name="tracks_tech_passport__track_id__get"></a> [Получение Тех. Паспорта](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Teh.-pasport-vagona/operation/_________________________tracks_tech_passport__track_id__get)
315
+ ```ruby
316
+ track_id = 1
317
+ response = RailLocatorApi::Request.tracks.dislocation(track_id).tech_passports.retrieve
318
+ p response.body
319
+ ```
320
+
321
+ ## <a name="tech_condition"></a> Контроль тех. состояния
322
+ ### <a name="tracks_tech_condition_get"></a> [Получение Тех. Состояния](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Kontrol-teh.-sostoyaniya/operation/_________________________tracks_tech_condition_get)
323
+ ```ruby
324
+ request = {
325
+ "limit": 100,
326
+ "offset": 0,
327
+ "filters": [
328
+ {
329
+ "field": "is_broken",
330
+ "operand": "in",
331
+ "value": [
332
+ null,
333
+ true
334
+ ]
335
+ },
336
+ {
337
+ "field": "track_start",
338
+ "operand": ">=",
339
+ "value": "2010-10-10 00:00"
340
+ },
341
+ {
342
+ "field": "track_stop",
343
+ "operand": "between",
344
+ "value": [
345
+ "2010-10-10 00:00",
346
+ "2021-10-10 00:00"
347
+ ]
348
+ }
349
+ ],
350
+ "sort": [
351
+ {
352
+ "field": "active",
353
+ "order": "asc"
354
+ }
355
+ ],
356
+ "fulltext_filter": {
357
+ "value": "2010",
358
+ "fields": [
359
+ "track_start",
360
+ "track_stop"
361
+ ],
362
+ "operation": "include"
363
+ }
364
+ }
365
+ response = RailLocatorApi::Request.tracks.tech_condition.retrieve(body: request)
366
+ p response.body
367
+ ```
368
+
369
+ ### <a name="tracks_tech_condition_post"></a> [Постановка На Слежение](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Kontrol-teh.-sostoyaniya/operation/_______________________tracks_tech_condition_post)
370
+
371
+ ```ruby
372
+ request = [
373
+ {
374
+ "cargo_transport_unit_number": "12345678"
375
+ }
376
+ ]
377
+ response = RailLocatorApi::Request.tracks.tech_condition.create(body: request)
378
+ p response.body
379
+ ```
380
+
381
+ ## <a name="update_delete_tracks"></a> Изменение/Снятие треков
382
+ ### <a name="tracks_batch_delete"></a> [Снятие Со Слежения Нескольких Треков](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/IzmenenieSnyatie-trekov/operation/_____________________________________tracks_batch_delete)
383
+ ```ruby
384
+ request = {
385
+ "track_ids": [
386
+ 123,
387
+ 1234
388
+ ]
389
+ }
390
+ response = RailLocatorApi::Request.tracks.batch.delete(body: request)
391
+ p response.body
392
+ ```
393
+
394
+ ### <a name="tracks_batch_patch"></a> [Изменение Информации О Нескольких Треках](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/IzmenenieSnyatie-trekov/operation/_________________________________________tracks_batch_patch)
395
+ ```ruby
396
+ request = [
397
+ {
398
+ "track_id": 123456,
399
+ "comment": "Примечание трека"
400
+ }
401
+ ]
402
+ response = RailLocatorApi::Request.tracks.batch.update(body: request)
403
+ p response.body
404
+ ```
405
+
406
+ ### <a name="tracks__track_id__delete"></a> [Снятие Со Слежения Одного Трека](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/IzmenenieSnyatie-trekov/operation/________________________________tracks__track_id__delete)
407
+ ```ruby
408
+ track_id = 1
409
+ response = RailLocatorApi::Request.tracks(track_id).delete
410
+ p response.body
411
+ ```
412
+
413
+ ### <a name="tracks__track_id__patch"></a> [Изменение Информации О Треке](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/IzmenenieSnyatie-trekov/operation/_____________________________tracks__track_id__patch)
414
+ ```ruby
415
+ track_id = 1
416
+ request = {
417
+ "comment": "Примечание трека"
418
+ }
419
+ response = RailLocatorApi::Request.tracks(track_id).update(body: request)
420
+ p response.body
421
+ ```
422
+
423
+ ## <a name="groups"></a> Группы
424
+ ### <a name="groups_get"></a> [Получение Списка Групп](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/_______________________groups_get)
425
+ ```ruby
426
+ response = RailLocatorApi::Request.groups.retrieve
427
+ p response.body
428
+ ```
429
+ ### <a name="groups_post"></a> [Создание Группы](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/________________groups_post)
430
+ ```ruby
431
+ request = {
432
+ "group_name": "Название новой группы"
433
+ }
434
+ response = RailLocatorApi::Request.groups.create(body: request)
435
+ p response.body
436
+ ```
437
+ ### <a name="groups__group_id__delete"></a> [Удаление Группы](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/________________groups__group_id__delete)
438
+ ```ruby
439
+ group_id = 1
440
+ response = RailLocatorApi::Request.groups(group_id).delete
441
+ p response.body
442
+ ```
443
+ ### <a name="groups__group_id__patch"></a> [Изменение Группы](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/_________________groups__group_id__patch)
444
+ ```ruby
445
+ group_id = 1
446
+ request = {
447
+ "group_name": "Переименованная группа"
448
+ }
449
+ response = RailLocatorApi::Request.groups(group_id).update(body: request)
450
+ p response.body
451
+ ```
452
+ ### <a name="groups__group_id__cargo_transport_unit_number_batch_put"></a> [Добавление Вагона В Группу](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/___________________________groups__group_id__cargo_transport_unit_number_batch_put)
453
+ ```ruby
454
+ group_id = 1
455
+ request = {
456
+ "cargo_transport_unit_numbers": [
457
+ "ASD1234",
458
+ "F0123454D"
459
+ ]
140
460
  }
141
- RailLocatorApi::Request.tracks.dislocation.retrieve(body: params).body
461
+ response = RailLocatorApi::Request.groups(group_id).cargo_transport_unit_number.batch.update(body: request)
462
+ p response.body
463
+ ```
464
+ ### <a name="groups__group_id__cargo_transport_unit_number_batch_delete"></a> [Удаление Вагонов Из Группы](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/___________________________groups__group_id__cargo_transport_unit_number_batch_delete)
465
+ ```ruby
466
+ group_id = 1
467
+ request = {
468
+ "cargo_transport_unit_numbers": [
469
+ "ASD1234",
470
+ "F0123454D"
471
+ ]
472
+ }
473
+ response = RailLocatorApi::Request.groups(group_id).cargo_transport_unit_number.batch.delete(body: request)
474
+ p response.body
475
+ ```
476
+ ### <a name="groups__group_id__cargo_transport_unit_number__cargo_transport_unit_number__put"></a> [Добавление Вагона В Группу](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/___________________________groups__group_id__cargo_transport_unit_number__cargo_transport_unit_number__put)
477
+ ```ruby
478
+ group_id = 1
479
+ cargo_transport_unit_number = "11111"
480
+ response = RailLocatorApi::Request.groups(group_id).cargo_transport_unit_number(cargo_transport_unit_number).update
481
+ p response.body
482
+ ```
483
+ ### <a name="groups__group_id__cargo_transport_unit_number__cargo_transport_unit_number__delete"></a> [Удаление Вагона Из Группы](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Gruppy/operation/__________________________groups__group_id__cargo_transport_unit_number__cargo_transport_unit_number__delete)
484
+ ```ruby
485
+ group_id = 1
486
+ cargo_transport_unit_number = "11111"
487
+ response = RailLocatorApi::Request.groups(group_id).cargo_transport_unit_number(cargo_transport_unit_number).delete
488
+ p response.body
489
+ ```
490
+
491
+ ## <a name="references"></a> Справочники
492
+ ### <a name="references_station_get"></a> [Получение Координат Станции](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Spravochniki/operation/____________________________references_station_get)
493
+ ```ruby
494
+ response = RailLocatorApi::Request.references.station.retrieve(params: {disloc_id: 1})
495
+ p response.body
496
+ ```
142
497
 
143
- # чем это отличается от [Получение несклько треков]? Это или то история? поправьте нейминги, не понятно
144
- # КАК ДОЛЖНО ВЫГЛЯДЕТЬ ПОЛУЧЕНИЕ ИСТОРИИ ПО ТРЕКУ
145
- RailLocatorApi::Request.tracks(track_id).history.retrieve.body
498
+ ### <a name="references_stations_get"></a> [Получение Списка Станций С Краткой Информацией](http://soap.ctm.ru:8112/api/v2.0/redoc#tag/Spravochniki/operation/_______________________________________________references_stations_get)
499
+ ```ruby
500
+ response = RailLocatorApi::Request.references.stations.retrieve(params: {station_code: "111"})
501
+ p response.body
146
502
  ```
@@ -1,8 +1,12 @@
1
1
  defaults: &defaults
2
- API_KEY: "***"
3
2
  API_ENDPOINT: "http://soap.ctm.ru:8112"
3
+
4
+ API_AUTH_METHOD: "api_key"
5
+ API_KEY: "***"
6
+
4
7
  API_USER_EMAIL: ""
5
8
  API_USER_PASSWORD: ""
9
+
6
10
  KEYCLOAK_TOKEN_URL: "https://iam.ctm.ru/auth/realms/ctm/protocol/openid-connect/token"
7
11
  KEYCLOAK_GRANT_TYPE: "password"
8
12
  KEYCLOAK_CLIENT_ID: "client_id"
@@ -127,6 +127,9 @@ module RailLocatorApi
127
127
  if [:api_key, :keycloak].include?(self.api_auth_method)
128
128
  request.headers['Authorization'] = "Bearer #{RailLocatorApi::Request.access_token}"
129
129
  end
130
+ if [:keycloak].include?(self.api_auth_method)
131
+ request.headers['X-API-KEY'] = "#{RailLocatorApi::Request.api_key}"
132
+ end
130
133
  request.headers['User-Agent'] = "RailLocatorApi/#{RailLocatorApi::VERSION} Ruby gem"
131
134
  if @request_builder.without_ratelimit
132
135
  request.headers['X-Request-Without-Ratelimit'] = "1"
@@ -5,7 +5,7 @@ module RailLocatorApi
5
5
  :without_ratelimit, :logger, :test
6
6
 
7
7
  AUTH_METHODS = [:keycloak, :api_key, :base64]
8
- DEFAULT_AUTH_METHOD = :keycloak
8
+ DEFAULT_AUTH_METHOD = :api_key
9
9
  DEFAULT_TIMEOUT = 60
10
10
  DEFAULT_OPEN_TIMEOUT = 60
11
11
 
@@ -1,3 +1,3 @@
1
1
  module RailLocatorApi
2
- VERSION = "0.0.33"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rail-locator-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Osetrov