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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86dafa172f5244cd21ea40704c850a5f585514ba5b00437da05bca58d420cbe5
|
4
|
+
data.tar.gz: 439dc8ac49e8998c577981a319e1939600831304ce60bfcd2f10179af2d28c51
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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. [Получение
|
13
|
-
2. [
|
14
|
-
3. [
|
15
|
-
4. [
|
16
|
-
5. [Получение
|
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
|
-
|
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
|
-
|
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: "
|
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: "
|
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: "
|
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="
|
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
|
-
|
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
|
-
|
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
|
-
|
97
|
-
|
98
|
-
|
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
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
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:
|
271
|
+
response = RailLocatorApi::Request.tracks.inquiries.create(body: request)
|
272
|
+
p response.body
|
117
273
|
```
|
118
|
-
|
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
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
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.
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
```
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
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.
|
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.
|
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"
|