@sargonpiraev/hh-api-client 1.0.0

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.
@@ -0,0 +1,3128 @@
1
+ // This file is auto-generated by @hey-api/openapi-ts
2
+ import { urlSearchParamsBodySerializer, formDataBodySerializer } from './client/index.js';
3
+ import { client as _heyApiClient } from './client.gen.js';
4
+ /**
5
+ * Подтвердить телефон кодом
6
+ */
7
+ export const confirmPhoneInResume = (options) => {
8
+ return (options.client ?? _heyApiClient).post({
9
+ ...urlSearchParamsBodySerializer,
10
+ security: [
11
+ {
12
+ scheme: 'bearer',
13
+ type: 'http'
14
+ }
15
+ ],
16
+ url: '/resume_phone_confirm',
17
+ ...options,
18
+ headers: {
19
+ 'Content-Type': 'application/x-www-form-urlencoded',
20
+ ...options.headers
21
+ }
22
+ });
23
+ };
24
+ /**
25
+ * Предпочтения менеджера
26
+ * Возвращает информацию о предпочтениях менеджера.
27
+ *
28
+ * Проще всего получить URL из поля `manager_settings_url` объекта `manager`
29
+ * в [информации о текущем пользователе](#tag/Informaciya-o-menedzhere/operation/get-current-user-info).
30
+ *
31
+ * Предпочтения менеджера *не влияют* на действия в API по умолчанию. Например, брендированный шаблон оформления
32
+ * (`default_vacancy_branded_template`) не будет применен автоматически при публикации вакансии, если шаблон не был передан.
33
+ * Приложение может использовать эту информацию для того, чтобы реализовать логику предзаполнения полей
34
+ *
35
+ */
36
+ export const getManagerSettings = (options) => {
37
+ return (options.client ?? _heyApiClient).get({
38
+ security: [
39
+ {
40
+ scheme: 'bearer',
41
+ type: 'http'
42
+ }
43
+ ],
44
+ url: '/employers/{employer_id}/managers/{manager_id}/settings',
45
+ ...options
46
+ });
47
+ };
48
+ /**
49
+ * Дневной лимит просмотра резюме для текущего менеджера
50
+ * Метод доступен менеджеру только для просмотра своего дневного лимита
51
+ */
52
+ export const getEmployerManagerLimits = (options) => {
53
+ return (options.client ?? _heyApiClient).get({
54
+ security: [
55
+ {
56
+ scheme: 'bearer',
57
+ type: 'http'
58
+ }
59
+ ],
60
+ url: '/employers/{employer_id}/managers/{manager_id}/limits/resume',
61
+ ...options
62
+ });
63
+ };
64
+ /**
65
+ * Список адресов работодателя
66
+ * Возвращает список адресов работодателя. Для компаний с большим количеством адресов, возможна ситуация, когда между созданием адреса и его чтением будет задержка. То есть, только что созданный адрес не будет содержаться в теле ответа
67
+ */
68
+ export const getEmployerAddresses = (options) => {
69
+ return (options.client ?? _heyApiClient).get({
70
+ security: [
71
+ {
72
+ scheme: 'bearer',
73
+ type: 'http'
74
+ }
75
+ ],
76
+ url: '/employers/{employer_id}/addresses',
77
+ ...options
78
+ });
79
+ };
80
+ /**
81
+ * Список менеджеров работодателя
82
+ */
83
+ export const getEmployerManagers = (options) => {
84
+ return (options.client ?? _heyApiClient).get({
85
+ security: [
86
+ {
87
+ scheme: 'bearer',
88
+ type: 'http'
89
+ }
90
+ ],
91
+ url: '/employers/{employer_id}/managers',
92
+ ...options
93
+ });
94
+ };
95
+ /**
96
+ * Добавление менеджера
97
+ */
98
+ export const addEmployerManager = (options) => {
99
+ return (options.client ?? _heyApiClient).post({
100
+ security: [
101
+ {
102
+ scheme: 'bearer',
103
+ type: 'http'
104
+ }
105
+ ],
106
+ url: '/employers/{employer_id}/managers',
107
+ ...options,
108
+ headers: {
109
+ 'Content-Type': 'application/json',
110
+ ...options.headers
111
+ }
112
+ });
113
+ };
114
+ /**
115
+ * Справочник типов и прав менеджера
116
+ */
117
+ export const getEmployerManagerTypes = (options) => {
118
+ return (options.client ?? _heyApiClient).get({
119
+ security: [
120
+ {
121
+ scheme: 'bearer',
122
+ type: 'http'
123
+ }
124
+ ],
125
+ url: '/employers/{employer_id}/manager_types',
126
+ ...options
127
+ });
128
+ };
129
+ /**
130
+ * Рабочие аккаунты менеджера
131
+ * Возвращает список рабочих аккаунтов менеджера и информацию об основном и текущем аккаунте.
132
+ *
133
+ * Для работы под определенным аккаунтом необходимо передать значение account_id, полученное из списка, в заголовке:
134
+ *
135
+ * `X-Manager-Account-Id: {account_id}`
136
+ *
137
+ * Использовать данный заголовок можно во всех методах, доступных для работодателей.
138
+ *
139
+ * В заголовке можно передавать account_id основного аккаунта, который также подразумевается по умолчанию, при отсутствии заголовка
140
+ *
141
+ */
142
+ export const getManagerAccounts = (options) => {
143
+ return (options.client ?? _heyApiClient).get({
144
+ security: [
145
+ {
146
+ scheme: 'bearer',
147
+ type: 'http'
148
+ }
149
+ ],
150
+ url: '/manager_accounts/mine',
151
+ ...options
152
+ });
153
+ };
154
+ /**
155
+ * Получить информацию о телефоне соискателя
156
+ */
157
+ export const getApplicantPhoneInfo = (options) => {
158
+ return (options.client ?? _heyApiClient).get({
159
+ security: [
160
+ {
161
+ scheme: 'bearer',
162
+ type: 'http'
163
+ }
164
+ ],
165
+ url: '/resume_should_send_sms',
166
+ ...options
167
+ });
168
+ };
169
+ /**
170
+ * Получение адреса
171
+ */
172
+ export const getAddress = (options) => {
173
+ return (options.client ?? _heyApiClient).get({
174
+ security: [
175
+ {
176
+ scheme: 'bearer',
177
+ type: 'http'
178
+ }
179
+ ],
180
+ url: '/employers/{employer_id}/addresses/{address_id}',
181
+ ...options
182
+ });
183
+ };
184
+ /**
185
+ * Удаление менеджера
186
+ * Удаление менеджера занимает некоторое время. По этой причине, если сразу после успешного удаления менеджера вы запросите, например, список менеджеров, в ответе может вернуться удаленный менеджер
187
+ */
188
+ export const deleteEmployerManager = (options) => {
189
+ return (options.client ?? _heyApiClient).delete({
190
+ security: [
191
+ {
192
+ scheme: 'bearer',
193
+ type: 'http'
194
+ }
195
+ ],
196
+ url: '/employers/{employer_id}/managers/{manager_id}',
197
+ ...options
198
+ });
199
+ };
200
+ /**
201
+ * Получение информации о менеджере
202
+ */
203
+ export const getEmployerManager = (options) => {
204
+ return (options.client ?? _heyApiClient).get({
205
+ security: [
206
+ {
207
+ scheme: 'bearer',
208
+ type: 'http'
209
+ }
210
+ ],
211
+ url: '/employers/{employer_id}/managers/{manager_id}',
212
+ ...options
213
+ });
214
+ };
215
+ /**
216
+ * Редактирование менеджера
217
+ */
218
+ export const editEmployerManager = (options) => {
219
+ return (options.client ?? _heyApiClient).put({
220
+ security: [
221
+ {
222
+ scheme: 'bearer',
223
+ type: 'http'
224
+ }
225
+ ],
226
+ url: '/employers/{employer_id}/managers/{manager_id}',
227
+ ...options,
228
+ headers: {
229
+ 'Content-Type': 'application/json',
230
+ ...options.headers
231
+ }
232
+ });
233
+ };
234
+ /**
235
+ * Отправить код подтверждения для телефона резюме
236
+ */
237
+ export const sendCodeForVerifyPhoneInResume = (options) => {
238
+ return (options.client ?? _heyApiClient).post({
239
+ ...urlSearchParamsBodySerializer,
240
+ security: [
241
+ {
242
+ scheme: 'bearer',
243
+ type: 'http'
244
+ }
245
+ ],
246
+ url: '/resume_phone_generate_code',
247
+ ...options,
248
+ headers: {
249
+ 'Content-Type': 'application/x-www-form-urlencoded',
250
+ ...options.headers
251
+ }
252
+ });
253
+ };
254
+ /**
255
+ * Инвалидация токена
256
+ * Инвалидация работает только на действующем access-токене.
257
+ * После инвалидации токен нельзя будет запросить с помощью refresh-токена - для работы необходимо будет заново авторизоваться в API
258
+ * Таким образом нельзя инвалидировать токен приложения <a name="invalidate_token"></a>.
259
+ * В случае компрометации токена необходимо инвалидировать скомпрометированный токен и запросить токен заново!
260
+ *
261
+ */
262
+ export const invalidateToken = (options) => {
263
+ return (options?.client ?? _heyApiClient).delete({
264
+ security: [
265
+ {
266
+ scheme: 'bearer',
267
+ type: 'http'
268
+ }
269
+ ],
270
+ url: '/oauth/token',
271
+ ...options
272
+ });
273
+ };
274
+ /**
275
+ * Получение access-токена
276
+ */
277
+ export const authorize = (options) => {
278
+ return (options.client ?? _heyApiClient).post({
279
+ ...urlSearchParamsBodySerializer,
280
+ security: [
281
+ {
282
+ scheme: 'bearer',
283
+ type: 'http'
284
+ }
285
+ ],
286
+ url: '/oauth/token',
287
+ ...options,
288
+ headers: {
289
+ 'Content-Type': 'application/x-www-form-urlencoded',
290
+ ...options.headers
291
+ }
292
+ });
293
+ };
294
+ /**
295
+ * Информация о текущем пользователе
296
+ */
297
+ export const getCurrentUserInfo = (options) => {
298
+ return (options.client ?? _heyApiClient).get({
299
+ security: [
300
+ {
301
+ scheme: 'bearer',
302
+ type: 'http'
303
+ }
304
+ ],
305
+ url: '/me',
306
+ ...options
307
+ });
308
+ };
309
+ /**
310
+ * Редактирование информации авторизованного пользователя
311
+ * Редактирование ФИО или изменение флага «ищу работу». Данные можно редактировать только группами
312
+ */
313
+ export const editCurrentUserInfo = (options) => {
314
+ return (options.client ?? _heyApiClient).post({
315
+ ...urlSearchParamsBodySerializer,
316
+ security: [
317
+ {
318
+ scheme: 'bearer',
319
+ type: 'http'
320
+ }
321
+ ],
322
+ url: '/me',
323
+ ...options,
324
+ headers: {
325
+ 'Content-Type': 'application/x-www-form-urlencoded',
326
+ ...options.headers
327
+ }
328
+ });
329
+ };
330
+ /**
331
+ * Список доступных локалей для резюме
332
+ * Возвращает справочник возможных локалей резюме. Подколлекция [справочника локалей](#tag/Obshie-spravochniki/operation/get-locales-for-resume).
333
+ *
334
+ * Изменив локаль, можно, например, создать резюме на английском языке
335
+ *
336
+ */
337
+ export const getLocalesForResume = (options) => {
338
+ return (options.client ?? _heyApiClient).get({
339
+ security: [
340
+ {
341
+ scheme: 'bearer',
342
+ type: 'http'
343
+ }
344
+ ],
345
+ url: '/locales/resume',
346
+ ...options
347
+ });
348
+ };
349
+ /**
350
+ * Список доступных локалей
351
+ * Возвращает список возможных значений (доступных локалей) в поле `id`. Список локалей будет зависеть от указанного сайта (параметр `host`). В любом запросе к API можно указывать параметр `?locale=` для передачи значения локали (языка)
352
+ *
353
+ */
354
+ export const getLocales = (options) => {
355
+ return (options.client ?? _heyApiClient).get({
356
+ security: [
357
+ {
358
+ scheme: 'bearer',
359
+ type: 'http'
360
+ }
361
+ ],
362
+ url: '/locales',
363
+ ...options
364
+ });
365
+ };
366
+ /**
367
+ * Подсказки по должностям резюме
368
+ */
369
+ export const getPositionsSuggestions = (options) => {
370
+ return (options.client ?? _heyApiClient).get({
371
+ security: [
372
+ {
373
+ scheme: 'bearer',
374
+ type: 'http'
375
+ }
376
+ ],
377
+ url: '/suggests/positions',
378
+ ...options
379
+ });
380
+ };
381
+ /**
382
+ * Подсказки по названиям учебных заведений
383
+ * Чтобы узнать список факультетов, обратитесь к [соответствующему методу](#tag/Obshie-spravochniki/operation/get-educational-institutions-dictionary)
384
+ */
385
+ export const getEducationalInstitutionsSuggests = (options) => {
386
+ return (options.client ?? _heyApiClient).get({
387
+ security: [
388
+ {
389
+ scheme: 'bearer',
390
+ type: 'http'
391
+ }
392
+ ],
393
+ url: '/suggests/educational_institutions',
394
+ ...options
395
+ });
396
+ };
397
+ /**
398
+ * Подсказки по регионам, являющимися листами в дереве регионов
399
+ * Также доступна загрузка [полного дерева регионов](#tag/Obshie-spravochniki/operation/get-areas) и [части дерева от определенного элемента](#tag/Obshie-spravochniki/operation/get-areas-from-specified)
400
+ */
401
+ export const getAreaLeavesSuggests = (options) => {
402
+ return (options.client ?? _heyApiClient).get({
403
+ security: [
404
+ {
405
+ scheme: 'bearer',
406
+ type: 'http'
407
+ }
408
+ ],
409
+ url: '/suggests/area_leaves',
410
+ ...options
411
+ });
412
+ };
413
+ /**
414
+ * Подсказки по ключевым навыкам
415
+ */
416
+ export const getSkillSetSuggests = (options) => {
417
+ return (options.client ?? _heyApiClient).get({
418
+ security: [
419
+ {
420
+ scheme: 'bearer',
421
+ type: 'http'
422
+ }
423
+ ],
424
+ url: '/suggests/skill_set',
425
+ ...options
426
+ });
427
+ };
428
+ /**
429
+ * Подсказки по должностям вакансий
430
+ */
431
+ export const getVacancyPositionsSuggests = (options) => {
432
+ return (options.client ?? _heyApiClient).get({
433
+ security: [
434
+ {
435
+ scheme: 'bearer',
436
+ type: 'http'
437
+ }
438
+ ],
439
+ url: '/suggests/vacancy_positions',
440
+ ...options
441
+ });
442
+ };
443
+ /**
444
+ * Подсказки по профессиональным ролям
445
+ */
446
+ export const getProfessionalRolesSuggests = (options) => {
447
+ return (options.client ?? _heyApiClient).get({
448
+ security: [
449
+ {
450
+ scheme: 'bearer',
451
+ type: 'http'
452
+ }
453
+ ],
454
+ url: '/suggests/professional_roles',
455
+ ...options
456
+ });
457
+ };
458
+ /**
459
+ * Подсказки по ключевым словам поиска резюме
460
+ * Предназначены для использования в поле `text` при [поиске резюме](#tag/Poisk-rezyume/operation/search-for-resumes). Содержит названия должностей, компаний и другие фразы, часто используемые при поиске резюме
461
+ */
462
+ export const getResumeSearchKeywordsSuggests = (options) => {
463
+ return (options.client ?? _heyApiClient).get({
464
+ security: [
465
+ {
466
+ scheme: 'bearer',
467
+ type: 'http'
468
+ }
469
+ ],
470
+ url: '/suggests/resume_search_keyword',
471
+ ...options
472
+ });
473
+ };
474
+ /**
475
+ * Подсказки по регионам
476
+ * Также доступна загрузка [полного дерева регионов](#tag/Obshie-spravochniki/operation/get-areas) и [части дерева от определенного элемента](#tag/Obshie-spravochniki/operation/get-areas-from-specified)
477
+ */
478
+ export const getAreasSuggests = (options) => {
479
+ return (options.client ?? _heyApiClient).get({
480
+ security: [
481
+ {
482
+ scheme: 'bearer',
483
+ type: 'http'
484
+ }
485
+ ],
486
+ url: '/suggests/areas',
487
+ ...options
488
+ });
489
+ };
490
+ /**
491
+ * Подсказки по ключевым словам поиска вакансий
492
+ * Предназначены для использования в поле `text` при [поиске вакансий](#tag/Poisk-vakansij/operation/get-vacancies). Содержит названия должностей, компаний и другие фразы, часто используемые при поиске вакансий
493
+ */
494
+ export const getVacancySearchKeywords = (options) => {
495
+ return (options.client ?? _heyApiClient).get({
496
+ security: [
497
+ {
498
+ scheme: 'bearer',
499
+ type: 'http'
500
+ }
501
+ ],
502
+ url: '/suggests/vacancy_search_keyword',
503
+ ...options
504
+ });
505
+ };
506
+ /**
507
+ * Подсказки по специализациям
508
+ */
509
+ export const getFieldsOfStudySuggestions = (options) => {
510
+ return (options.client ?? _heyApiClient).get({
511
+ security: [
512
+ {
513
+ scheme: 'bearer',
514
+ type: 'http'
515
+ }
516
+ ],
517
+ url: '/suggests/fields_of_study',
518
+ ...options
519
+ });
520
+ };
521
+ /**
522
+ * Подсказки по зарегистрированным организациям
523
+ * Данные из этой подсказки можно использовать, например, для выбора компании при заполнении опыта работы [в резюме](#tag/Rezyume.-Sozdanie-i-obnovlenie). Чтобы найти организации, которые могут публиковать вакансии, используйте [поиск](#tag/Rabotodatel/operation/search-employer)
524
+ */
525
+ export const getRegisteredCompaniesSuggests = (options) => {
526
+ return (options.client ?? _heyApiClient).get({
527
+ security: [
528
+ {
529
+ scheme: 'bearer',
530
+ type: 'http'
531
+ }
532
+ ],
533
+ url: '/suggests/companies',
534
+ ...options
535
+ });
536
+ };
537
+ /**
538
+ * Получение схемы резюме-профиля соискателя для резюме
539
+ * Возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
540
+ *
541
+ */
542
+ export const readResumeProfile = (options) => {
543
+ return (options.client ?? _heyApiClient).get({
544
+ security: [
545
+ {
546
+ scheme: 'bearer',
547
+ type: 'http'
548
+ }
549
+ ],
550
+ url: '/resume_profile/{resume_id}',
551
+ ...options
552
+ });
553
+ };
554
+ /**
555
+ * Обновление резюме-профиля соискателя
556
+ * Обновляет резюме-профиль и возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
557
+ *
558
+ */
559
+ export const updateResumeProfile = (options) => {
560
+ return (options.client ?? _heyApiClient).put({
561
+ security: [
562
+ {
563
+ scheme: 'bearer',
564
+ type: 'http'
565
+ }
566
+ ],
567
+ url: '/resume_profile/{resume_id}',
568
+ ...options,
569
+ headers: {
570
+ 'Content-Type': 'application/json',
571
+ ...options.headers
572
+ }
573
+ });
574
+ };
575
+ /**
576
+ * Создание резюме-профиля соискателя
577
+ * Создаёт резюме-профиль и возвращает схему резюме-профиля соискателя для построения визарда заполнения / дозаполнения / исправления резюме и профиля
578
+ *
579
+ */
580
+ export const createResumeProfile = (options) => {
581
+ return (options.client ?? _heyApiClient).post({
582
+ security: [
583
+ {
584
+ scheme: 'bearer',
585
+ type: 'http'
586
+ }
587
+ ],
588
+ url: '/resume_profile',
589
+ ...options,
590
+ headers: {
591
+ 'Content-Type': 'application/json',
592
+ ...options.headers
593
+ }
594
+ });
595
+ };
596
+ /**
597
+ * Получение cловарей резюме-профиля
598
+ */
599
+ export const getResumeProfileDictionaries = (options) => {
600
+ return (options.client ?? _heyApiClient).get({
601
+ security: [
602
+ {
603
+ scheme: 'bearer',
604
+ type: 'http'
605
+ }
606
+ ],
607
+ url: '/resume_profile/dictionaries',
608
+ ...options
609
+ });
610
+ };
611
+ /**
612
+ * Информация по активным услугам API для платных методов
613
+ * Каждая подключенная услуга отображается отдельным объектом в массиве `items`, даже при условии, что подключено несколько услуг одного типа.
614
+ * Если у работодателя нет активных услуг, то в ответе придет пустой массив `items`
615
+ *
616
+ */
617
+ export const getPayableApiActions = (options) => {
618
+ return (options.client ?? _heyApiClient).get({
619
+ security: [
620
+ {
621
+ scheme: 'bearer',
622
+ type: 'http'
623
+ }
624
+ ],
625
+ url: '/employers/{employer_id}/services/payable_api_actions/active',
626
+ ...options
627
+ });
628
+ };
629
+ /**
630
+ * Проверка доступа к платным методам
631
+ * Начиная с 16 июля 2018 года, некоторые методы API HH для работодателей стали платными.
632
+ *
633
+ * Такие методы отмечены в [оглавлении GitHub](https://github.com/hhru/api/blob/master/README.md#content) лейблом <img src="http://hhru.github.io/api/badges/emp_paid.png" alt="employer with paid access" />
634
+ *
635
+ * Чтобы приобрести доступ к платным методам, обратитесь к своему персональному менеджеру.
636
+ *
637
+ * > Если вы работаете от имени нескольких учетных записей работодателя, проверьте [информацию о подключенных услугах](#tag/Uslugi-rabotodatelya/operation/get-payable-api-actions) — каждой учетной записи должен быть предоставлен доступ к платным методам API. При отсутствии доступа будет выдана ошибка `403 Forbidden`.
638
+ *
639
+ * Метод возвращает информацию о доступе к группам платных методов. Существующие группы:
640
+ *
641
+ * 1. Наличие доступа к методам резюме:
642
+ * * [Просмотр резюме](#tag/Prosmotr-rezyume/operation/get-resume).
643
+ * * [Работа с откликами](https://github.com/hhru/api/blob/master/docs/employer_negotiations.md).
644
+ * * [Переписка с соискателем](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiation-messages).
645
+ * 2. Наличие доступа к методам поиска вакансий:
646
+ * * [Поиск резюме](#tag/Poisk-rezyume/operation/search-for-resumes).
647
+ * * [Сохраненные поиски резюме](#tag/Sohranennye-poiski-rezyume/operation/get-saved-resume-searches).
648
+ * 3. Наличие доступа к [просмотру резюме](#tag/Prosmotr-rezyume/operation/get-resume), у которого есть отклик или приглашение.
649
+ * 4. Наличие доступа к [просмотру резюме](#tag/Prosmotr-rezyume/operation/get-resume), найденных через [поиск по базе](#tag/Poisk-rezyume/operation/search-for-resumes).
650
+ *
651
+ * **Внимание!** Изменился доступ к контактной информации резюме, подробнее [о новой модели работы с базой резюме](https://github.com/hhru/api/blob/master/docs/payable/resume.md)
652
+ *
653
+ */
654
+ export const getPayableApiMethodAccess = (options) => {
655
+ return (options.client ?? _heyApiClient).get({
656
+ security: [
657
+ {
658
+ scheme: 'bearer',
659
+ type: 'http'
660
+ }
661
+ ],
662
+ url: '/employers/{employer_id}/managers/{manager_id}/method_access',
663
+ ...options
664
+ });
665
+ };
666
+ /**
667
+ * Список сохраненных поисков вакансий
668
+ */
669
+ export const getSavedVacancySearches = (options) => {
670
+ return (options.client ?? _heyApiClient).get({
671
+ security: [
672
+ {
673
+ scheme: 'bearer',
674
+ type: 'http'
675
+ }
676
+ ],
677
+ url: '/saved_searches/vacancies',
678
+ ...options
679
+ });
680
+ };
681
+ /**
682
+ * Создание нового сохраненного поиска вакансий
683
+ * Некоторые параметры принимают множественные значения: `key=value&key=value`.
684
+ *
685
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше 2000. Например, возможен запрос `per_page=10&page=199` (выдача с 1991 по 2000 вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с 2001 до 2010 вакансию)
686
+ *
687
+ */
688
+ export const createSavedVacancySearch = (options) => {
689
+ return (options.client ?? _heyApiClient).post({
690
+ security: [
691
+ {
692
+ scheme: 'bearer',
693
+ type: 'http'
694
+ }
695
+ ],
696
+ url: '/saved_searches/vacancies',
697
+ ...options
698
+ });
699
+ };
700
+ /**
701
+ * Посмотревшие вакансию
702
+ * Возвращает список сокращенных резюме соискателей, просмотревших вакансию за последнюю неделю. Список отсортирован по убыванию по дате просмотра. Если у пользователя несколько резюме, то вернется резюме с наиболее поздней датой обновления.
703
+ *
704
+ * В списке `items` не отображаются резюме, которые соискатель удалил или скрыл от работодателя. Но они учитываются при пагинации (`per_page`) и при подсчете найденных резюме (`found`), а в поле `hidden_on_page` показано количество таких пропущенных резюме на странице
705
+ *
706
+ */
707
+ export const getVacancyVisitors = (options) => {
708
+ return (options.client ?? _heyApiClient).get({
709
+ security: [
710
+ {
711
+ scheme: 'bearer',
712
+ type: 'http'
713
+ }
714
+ ],
715
+ url: '/vacancies/{vacancy_id}/visitors',
716
+ ...options
717
+ });
718
+ };
719
+ /**
720
+ * Просмотр вакансии
721
+ * Возвращает подробную информацию по указанной вакансии
722
+ */
723
+ export const getVacancy = (options) => {
724
+ return (options.client ?? _heyApiClient).get({
725
+ security: [
726
+ {
727
+ scheme: 'bearer',
728
+ type: 'http'
729
+ }
730
+ ],
731
+ url: '/vacancies/{vacancy_id}',
732
+ ...options
733
+ });
734
+ };
735
+ /**
736
+ * Редактирование вакансий
737
+ * Изменяет поля вакансии, передаваемые в теле запроса.
738
+ *
739
+ * Составные поля (например, `salary_range`, `contacts`, `professional_roles`) можно редактировать только целиком, передавая полный объект. Например, для изменения валюты в зарплате, необходимо передавать также и значение зарплаты.
740
+ *
741
+ * Поля `billing_type` и `manager` необходимо передавать в отдельном запросе
742
+ *
743
+ */
744
+ export const editVacancy = (options) => {
745
+ return (options.client ?? _heyApiClient).put({
746
+ security: [
747
+ {
748
+ scheme: 'bearer',
749
+ type: 'http'
750
+ }
751
+ ],
752
+ url: '/vacancies/{vacancy_id}',
753
+ ...options,
754
+ headers: {
755
+ 'Content-Type': 'application/json',
756
+ ...options.headers
757
+ }
758
+ });
759
+ };
760
+ /**
761
+ * Список скрытых вакансий
762
+ * Возвращает [подмножество вакансий](#tag/Vakansii/operation/get-vacancy), скрытых пользователем, а также один дополнительный параметр
763
+ */
764
+ export const getBlacklistedVacancies = (options) => {
765
+ return (options.client ?? _heyApiClient).get({
766
+ security: [
767
+ {
768
+ scheme: 'bearer',
769
+ type: 'http'
770
+ }
771
+ ],
772
+ url: '/vacancies/blacklisted',
773
+ ...options
774
+ });
775
+ };
776
+ /**
777
+ * Поиск по вакансиям
778
+ * Возвращает список вакансий, размещенных в сервисе. Список вакансий фильтруется согласно переданным параметрам запроса.
779
+ *
780
+ * Особенности работы метода:
781
+ *
782
+ * * Неизвестные параметры и параметры с ошибкой в названии игнорируются.
783
+ * * Если не передан токен авторизации, то после первого запроса будет предложено пройти капчу.
784
+ * * Список вакансий зависит от типа авторизации пользователя. Например, для соискателей вакансии фильтруются по [списку скрытых вакансий](#tag/Skrytye-vakansii) и [списку скрытых компаний](#tag/Skrytye-rabotodateli).
785
+ * * Список вакансий также зависит от [выбранного сайта](#section/Obshaya-informaciya/Vybor-sajta) (параметр `host`). Однако выбор регионального сайта, например hh.kz, не ограничивает список вакансиями данного региона. Чтобы ограничить список по региону, используйте параметр `area`.
786
+ * * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
787
+ *
788
+ */
789
+ export const getVacancies = (options) => {
790
+ return (options.client ?? _heyApiClient).get({
791
+ security: [
792
+ {
793
+ scheme: 'bearer',
794
+ type: 'http'
795
+ }
796
+ ],
797
+ url: '/vacancies',
798
+ ...options
799
+ });
800
+ };
801
+ /**
802
+ * Публикация вакансии
803
+ * Создает новую вакансию с полями, передаваемыми в теле запроса.
804
+ *
805
+ * В соответствии с [законом РФ № 1032-1 от 19.04.1991 в ред. от 02.07.2013 г.](https://hh.ru/article/13967) запрещено размещать информацию, ограничивающую права или устанавливающую преимущества для соискателей по полу, возрасту, семейному положению и другим обстоятельствам, не связанным с деловыми качествами работников.
806
+ *
807
+ * Примечания:
808
+ *
809
+ * * При успешной публикации будут списаны соответствующие услуги.
810
+ * * Все вакансии проходят ручную модерацию.
811
+ * * В течение нескольких минут после публикации вакансия станет доступна в поиске.
812
+ *
813
+ * Полезные ссылки:
814
+ *
815
+ * * [Правила размещения вакансий](https://hh.ru/article/341)
816
+ * * [Как составить хорошее описание вакансии](https://hh.ru/article/16239)
817
+ *
818
+ */
819
+ export const publishVacancy = (options) => {
820
+ return (options.client ?? _heyApiClient).post({
821
+ security: [
822
+ {
823
+ scheme: 'bearer',
824
+ type: 'http'
825
+ }
826
+ ],
827
+ url: '/vacancies',
828
+ ...options,
829
+ headers: {
830
+ 'Content-Type': 'application/json',
831
+ ...options.headers
832
+ }
833
+ });
834
+ };
835
+ /**
836
+ * Поиск подходящих вакансий
837
+ * По умолчанию, выдает вакансии, похожие на вакансию.
838
+ *
839
+ * Если запрос идет со страницы вакансии (параметр `hhtmSource` = `vacancy` или `vacancy_search_list` или `vacancy_search_filter`):
840
+ * * когда пользователь авторизован как соискатель, и у него есть резюме — выдает подходящие под последнее резюме пользователя вакансии;
841
+ * * когда у соискателя нет резюме — результаты поиска по заголовку вакансии;
842
+ * * когда пользователь не авторизован — рекомендации для анонимов.
843
+ *
844
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
845
+ *
846
+ */
847
+ export const getVacanciesRelatedToVacancy = (options) => {
848
+ return (options.client ?? _heyApiClient).get({
849
+ security: [
850
+ {
851
+ scheme: 'bearer',
852
+ type: 'http'
853
+ }
854
+ ],
855
+ url: '/vacancies/{vacancy_id}/related_vacancies',
856
+ ...options
857
+ });
858
+ };
859
+ /**
860
+ * Удаление сохраненного поиска вакансий
861
+ */
862
+ export const deleteSavedVacancySearch = (options) => {
863
+ return (options.client ?? _heyApiClient).delete({
864
+ security: [
865
+ {
866
+ scheme: 'bearer',
867
+ type: 'http'
868
+ }
869
+ ],
870
+ url: '/saved_searches/vacancies/{id}',
871
+ ...options
872
+ });
873
+ };
874
+ /**
875
+ * Получение единичного сохраненного поиска вакансий
876
+ */
877
+ export const getSavedVacancySearch = (options) => {
878
+ return (options.client ?? _heyApiClient).get({
879
+ security: [
880
+ {
881
+ scheme: 'bearer',
882
+ type: 'http'
883
+ }
884
+ ],
885
+ url: '/saved_searches/vacancies/{id}',
886
+ ...options
887
+ });
888
+ };
889
+ /**
890
+ * Обновление сохраненного поиска вакансий
891
+ * У сохраненного поиска можно изменить имя (`name`) и статус подписки (`subscription`). В одном запросе можно передать только один из параметров
892
+ */
893
+ export const updateSavedVacancySearch = (options) => {
894
+ return (options.client ?? _heyApiClient).put({
895
+ security: [
896
+ {
897
+ scheme: 'bearer',
898
+ type: 'http'
899
+ }
900
+ ],
901
+ url: '/saved_searches/vacancies/{id}',
902
+ ...options
903
+ });
904
+ };
905
+ /**
906
+ * Поиск по вакансиям, похожим на вакансию
907
+ * Если не передан токен авторизации, то после первого запроса будет предложено пройти капчу.
908
+ *
909
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
910
+ *
911
+ */
912
+ export const getVacanciesSimilarToVacancy = (options) => {
913
+ return (options.client ?? _heyApiClient).get({
914
+ security: [
915
+ {
916
+ scheme: 'bearer',
917
+ type: 'http'
918
+ }
919
+ ],
920
+ url: '/vacancies/{vacancy_id}/similar_vacancies',
921
+ ...options
922
+ });
923
+ };
924
+ /**
925
+ * Список улучшений для вакансии
926
+ */
927
+ export const getVacancyUpgradeList = (options) => {
928
+ return (options.client ?? _heyApiClient).get({
929
+ security: [
930
+ {
931
+ scheme: 'bearer',
932
+ type: 'http'
933
+ }
934
+ ],
935
+ url: '/vacancies/{vacancy_id}/upgrades',
936
+ ...options
937
+ });
938
+ };
939
+ /**
940
+ * Поиск по вакансиям, похожим на резюме
941
+ * Данные доступны только автору резюме.
942
+ *
943
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `2000`. Например, возможен запрос `per_page=10&page=199` (выдача с `1991` по `2000` вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с `2001` по `2010` вакансию)
944
+ *
945
+ */
946
+ export const getVacanciesSimilarToResume = (options) => {
947
+ return (options.client ?? _heyApiClient).get({
948
+ security: [
949
+ {
950
+ scheme: 'bearer',
951
+ type: 'http'
952
+ }
953
+ ],
954
+ url: '/resumes/{resume_id}/similar_vacancies',
955
+ ...options
956
+ });
957
+ };
958
+ /**
959
+ * Список отобранных вакансий
960
+ * Возвращает [подмножество вакансий](#tag/Vakansii/operation/get-vacancy), добавленных пользователем в отобранные, а также ряд дополнительных полей
961
+ */
962
+ export const getFavoriteVacancies = (options) => {
963
+ return (options.client ?? _heyApiClient).get({
964
+ security: [
965
+ {
966
+ scheme: 'bearer',
967
+ type: 'http'
968
+ }
969
+ ],
970
+ url: '/vacancies/favorited',
971
+ ...options
972
+ });
973
+ };
974
+ /**
975
+ * Удаление вакансии из списка скрытых
976
+ * Удаляет указанную вакансию из [списка скрытых вакансий](#tag/Skrytye-vakansii/operation/get-blacklisted-vacancies)
977
+ */
978
+ export const deleteVacancyFromBlacklisted = (options) => {
979
+ return (options.client ?? _heyApiClient).delete({
980
+ security: [
981
+ {
982
+ scheme: 'bearer',
983
+ type: 'http'
984
+ }
985
+ ],
986
+ url: '/vacancies/blacklisted/{vacancy_id}',
987
+ ...options
988
+ });
989
+ };
990
+ /**
991
+ * Добавление вакансии в список скрытых
992
+ * Добавляет указанную вакансию в [список скрытых вакансий](#tag/Skrytye-vakansii/operation/get-blacklisted-vacancies)
993
+ */
994
+ export const addVacancyToBlacklisted = (options) => {
995
+ return (options.client ?? _heyApiClient).put({
996
+ security: [
997
+ {
998
+ scheme: 'bearer',
999
+ type: 'http'
1000
+ }
1001
+ ],
1002
+ url: '/vacancies/blacklisted/{vacancy_id}',
1003
+ ...options
1004
+ });
1005
+ };
1006
+ /**
1007
+ * Просмотр списка опубликованных вакансий
1008
+ * Возвращает список опубликованных вакансий.
1009
+ *
1010
+ * Если передан параметр `resume_id`, то в список попадут только те вакансии, которые подходят для указанного резюме. Кроме того, ответ будет содержать дополнительные поля
1011
+ *
1012
+ */
1013
+ export const getActiveVacancyList = (options) => {
1014
+ return (options.client ?? _heyApiClient).get({
1015
+ security: [
1016
+ {
1017
+ scheme: 'bearer',
1018
+ type: 'http'
1019
+ }
1020
+ ],
1021
+ url: '/employers/{employer_id}/vacancies/active',
1022
+ ...options
1023
+ });
1024
+ };
1025
+ /**
1026
+ * Список удаленных вакансий
1027
+ */
1028
+ export const getHiddenVacancies = (options) => {
1029
+ return (options.client ?? _heyApiClient).get({
1030
+ security: [
1031
+ {
1032
+ scheme: 'bearer',
1033
+ type: 'http'
1034
+ }
1035
+ ],
1036
+ url: '/employers/{employer_id}/vacancies/hidden',
1037
+ ...options
1038
+ });
1039
+ };
1040
+ /**
1041
+ * Восстановление вакансии из удаленных
1042
+ * Восстановить можно только удаленную из архива вакансию. Вакансия вернется в архив
1043
+ */
1044
+ export const restoreVacancyFromHidden = (options) => {
1045
+ return (options.client ?? _heyApiClient).delete({
1046
+ security: [
1047
+ {
1048
+ scheme: 'bearer',
1049
+ type: 'http'
1050
+ }
1051
+ ],
1052
+ url: '/employers/{employer_id}/vacancies/hidden/{vacancy_id}',
1053
+ ...options
1054
+ });
1055
+ };
1056
+ /**
1057
+ * Удаление вакансий
1058
+ * Удалить можно только вакансию из архива
1059
+ */
1060
+ export const addVacancyToHidden = (options) => {
1061
+ return (options.client ?? _heyApiClient).put({
1062
+ security: [
1063
+ {
1064
+ scheme: 'bearer',
1065
+ type: 'http'
1066
+ }
1067
+ ],
1068
+ url: '/employers/{employer_id}/vacancies/hidden/{vacancy_id}',
1069
+ ...options
1070
+ });
1071
+ };
1072
+ /**
1073
+ * Условия заполнения полей при добавлении и редактировании вакансий
1074
+ */
1075
+ export const getVacancyConditions = (options) => {
1076
+ return (options.client ?? _heyApiClient).get({
1077
+ security: [
1078
+ {
1079
+ scheme: 'bearer',
1080
+ type: 'http'
1081
+ }
1082
+ ],
1083
+ url: '/vacancy_conditions',
1084
+ ...options
1085
+ });
1086
+ };
1087
+ /**
1088
+ * Информация о возможности продления вакансии
1089
+ * Условия продления:
1090
+ *
1091
+ * * Стоимость продления вакансии равна стоимости новой публикации.
1092
+ * * Стандартные вакансии можно продлевать, если с момента предыдущего продления прошло не менее 1 минуты
1093
+ *
1094
+ */
1095
+ export const getProlongationVacancyInfo = (options) => {
1096
+ return (options.client ?? _heyApiClient).get({
1097
+ security: [
1098
+ {
1099
+ scheme: 'bearer',
1100
+ type: 'http'
1101
+ }
1102
+ ],
1103
+ url: '/vacancies/{vacancy_id}/prolongate',
1104
+ ...options
1105
+ });
1106
+ };
1107
+ /**
1108
+ * Продление вакансии
1109
+ * Продлевает срок размещения указанной вакансии.
1110
+ *
1111
+ * Условия продления:
1112
+ *
1113
+ * * Стоимость продления вакансии равна стоимости новой публикации.
1114
+ * * Стандартные вакансии можно продлевать, если с момента предыдущего продления прошло не менее 1 минуты
1115
+ *
1116
+ */
1117
+ export const vacancyProlongation = (options) => {
1118
+ return (options.client ?? _heyApiClient).post({
1119
+ security: [
1120
+ {
1121
+ scheme: 'bearer',
1122
+ type: 'http'
1123
+ }
1124
+ ],
1125
+ url: '/vacancies/{vacancy_id}/prolongate',
1126
+ ...options
1127
+ });
1128
+ };
1129
+ /**
1130
+ * Архивация вакансии
1131
+ * Переносит вакансию в архив
1132
+ */
1133
+ export const addVacancyToArchive = (options) => {
1134
+ return (options.client ?? _heyApiClient).put({
1135
+ security: [
1136
+ {
1137
+ scheme: 'bearer',
1138
+ type: 'http'
1139
+ }
1140
+ ],
1141
+ url: '/employers/{employer_id}/vacancies/archived/{vacancy_id}',
1142
+ ...options
1143
+ });
1144
+ };
1145
+ /**
1146
+ * Просмотр предпочитаемой сортировки откликов
1147
+ */
1148
+ export const getPrefNegotiationsOrder = (options) => {
1149
+ return (options.client ?? _heyApiClient).get({
1150
+ security: [
1151
+ {
1152
+ scheme: 'bearer',
1153
+ type: 'http'
1154
+ }
1155
+ ],
1156
+ url: '/vacancies/{id}/preferred_negotiations_order',
1157
+ ...options
1158
+ });
1159
+ };
1160
+ /**
1161
+ * Изменение предпочитаемой сортировки откликов
1162
+ */
1163
+ export const putPrefNegotiationsOrder = (options) => {
1164
+ return (options.client ?? _heyApiClient).put({
1165
+ ...urlSearchParamsBodySerializer,
1166
+ security: [
1167
+ {
1168
+ scheme: 'bearer',
1169
+ type: 'http'
1170
+ }
1171
+ ],
1172
+ url: '/vacancies/{id}/preferred_negotiations_order',
1173
+ ...options,
1174
+ headers: {
1175
+ 'Content-Type': 'application/x-www-form-urlencoded',
1176
+ ...options.headers
1177
+ }
1178
+ });
1179
+ };
1180
+ /**
1181
+ * Удаление вакансии из списка отобранных
1182
+ * Удаляет указанную вакансию из [списка отобранных вакансий](#tag/Otobrannye-vakansii/operation/get-favorite-vacancies)
1183
+ */
1184
+ export const deleteVacancyFromFavorite = (options) => {
1185
+ return (options.client ?? _heyApiClient).delete({
1186
+ security: [
1187
+ {
1188
+ scheme: 'bearer',
1189
+ type: 'http'
1190
+ }
1191
+ ],
1192
+ url: '/vacancies/favorited/{vacancy_id}',
1193
+ ...options
1194
+ });
1195
+ };
1196
+ /**
1197
+ * Добавление вакансии в список отобранных
1198
+ * Добавляет указанную вакансию в [список отобранных вакансий](#tag/Otobrannye-vakansii/operation/get-favorite-vacancies)
1199
+ */
1200
+ export const addVacancyToFavorite = (options) => {
1201
+ return (options.client ?? _heyApiClient).put({
1202
+ security: [
1203
+ {
1204
+ scheme: 'bearer',
1205
+ type: 'http'
1206
+ }
1207
+ ],
1208
+ url: '/vacancies/favorited/{vacancy_id}',
1209
+ ...options
1210
+ });
1211
+ };
1212
+ /**
1213
+ * Варианты публикации вакансий у текущего менеджера
1214
+ * Метод позволяет понять, может ли менеджер публиковать вакансии и какие типы вакансий ему доступны. Возвращает все возможные типы публикации
1215
+ */
1216
+ export const getAvailableVacancyTypes = (options) => {
1217
+ return (options.client ?? _heyApiClient).get({
1218
+ security: [
1219
+ {
1220
+ scheme: 'bearer',
1221
+ type: 'http'
1222
+ }
1223
+ ],
1224
+ url: '/employers/{employer_id}/managers/{manager_id}/vacancies/available_types',
1225
+ ...options
1226
+ });
1227
+ };
1228
+ /**
1229
+ * Статистика по вакансии
1230
+ * Возвращает статистику за последние пять дней существования вакансии.
1231
+ *
1232
+ * При этом:
1233
+ *
1234
+ * * Если вакансия создана менее пяти дней назад, то первой датой в ответе будет дата создания вакансии. Для будущих дат в полях `responses` и `views` вернется `null`.
1235
+ * * Если вакансия находится в архиве или удалена, то последней датой будет дата архивации
1236
+ *
1237
+ */
1238
+ export const getVacancyStats = (options) => {
1239
+ return (options.client ?? _heyApiClient).get({
1240
+ security: [
1241
+ {
1242
+ scheme: 'bearer',
1243
+ type: 'http'
1244
+ }
1245
+ ],
1246
+ url: '/vacancies/{vacancy_id}/stats',
1247
+ ...options
1248
+ });
1249
+ };
1250
+ /**
1251
+ * Список архивных вакансий
1252
+ */
1253
+ export const getArchivedVacancies = (options) => {
1254
+ return (options.client ?? _heyApiClient).get({
1255
+ security: [
1256
+ {
1257
+ scheme: 'bearer',
1258
+ type: 'http'
1259
+ }
1260
+ ],
1261
+ url: '/employers/{employer_id}/vacancies/archived',
1262
+ ...options
1263
+ });
1264
+ };
1265
+ /**
1266
+ * Условия загрузки портфолио
1267
+ */
1268
+ export const getArtifactsPortfolioConditions = (options) => {
1269
+ return (options.client ?? _heyApiClient).get({
1270
+ security: [
1271
+ {
1272
+ scheme: 'bearer',
1273
+ type: 'http'
1274
+ }
1275
+ ],
1276
+ url: '/artifacts/portfolio/conditions',
1277
+ ...options
1278
+ });
1279
+ };
1280
+ /**
1281
+ * Удаление артефакта
1282
+ */
1283
+ export const deleteArtifact = (options) => {
1284
+ return (options.client ?? _heyApiClient).delete({
1285
+ security: [
1286
+ {
1287
+ scheme: 'bearer',
1288
+ type: 'http'
1289
+ }
1290
+ ],
1291
+ url: '/artifacts/{id}',
1292
+ ...options
1293
+ });
1294
+ };
1295
+ /**
1296
+ * Редактирование артефакта
1297
+ * Метод позволяет отредактировать описание портфолио
1298
+ */
1299
+ export const editArtifact = (options) => {
1300
+ return (options.client ?? _heyApiClient).put({
1301
+ ...formDataBodySerializer,
1302
+ security: [
1303
+ {
1304
+ scheme: 'bearer',
1305
+ type: 'http'
1306
+ }
1307
+ ],
1308
+ url: '/artifacts/{id}',
1309
+ ...options,
1310
+ headers: {
1311
+ 'Content-Type': null,
1312
+ ...options.headers
1313
+ }
1314
+ });
1315
+ };
1316
+ /**
1317
+ * Загрузка артефакта
1318
+ * Запрос загружает файл с локальной машины в сервис.
1319
+ *
1320
+ * Ограничения на типы файлов и их размер доступны в [условиях загрузки артефактов](#tag/Rabota-s-artefaktami).
1321
+ *
1322
+ * Для прикрепления загруженных изображений в резюме, необходимо передать `id` артефакта в [соответствующее поле резюме](https://github.com/hhru/api/blob/master/docs/employer_resumes.md#resume-fields). Для удаления артефакта из резюме укажите `null`
1323
+ *
1324
+ */
1325
+ export const loadArtifact = (options) => {
1326
+ return (options.client ?? _heyApiClient).post({
1327
+ ...formDataBodySerializer,
1328
+ security: [
1329
+ {
1330
+ scheme: 'bearer',
1331
+ type: 'http'
1332
+ }
1333
+ ],
1334
+ url: '/artifacts',
1335
+ ...options,
1336
+ headers: {
1337
+ 'Content-Type': null,
1338
+ ...options.headers
1339
+ }
1340
+ });
1341
+ };
1342
+ /**
1343
+ * Получение портфолио
1344
+ * Возвращает список ранее загруженных изображений с портфолио. Их можно использовать при создании/редактировании резюме
1345
+ */
1346
+ export const getArtifactsPortfolio = (options) => {
1347
+ return (options.client ?? _heyApiClient).get({
1348
+ security: [
1349
+ {
1350
+ scheme: 'bearer',
1351
+ type: 'http'
1352
+ }
1353
+ ],
1354
+ url: '/artifacts/portfolio',
1355
+ ...options
1356
+ });
1357
+ };
1358
+ /**
1359
+ * Условия загрузки фотографий
1360
+ */
1361
+ export const getArtifactPhotosConditions = (options) => {
1362
+ return (options.client ?? _heyApiClient).get({
1363
+ security: [
1364
+ {
1365
+ scheme: 'bearer',
1366
+ type: 'http'
1367
+ }
1368
+ ],
1369
+ url: '/artifacts/photo/conditions',
1370
+ ...options
1371
+ });
1372
+ };
1373
+ /**
1374
+ * Получение фотографий
1375
+ * Возвращает список ранее загруженных изображений с фотографиями. Их можно использовать при создании/редактировании резюме
1376
+ */
1377
+ export const getArtifactPhotos = (options) => {
1378
+ return (options.client ?? _heyApiClient).get({
1379
+ security: [
1380
+ {
1381
+ scheme: 'bearer',
1382
+ type: 'http'
1383
+ }
1384
+ ],
1385
+ url: '/artifacts/photo',
1386
+ ...options
1387
+ });
1388
+ };
1389
+ /**
1390
+ * Справочники полей
1391
+ * Справочники полей и сущностей, используемых в API. Значения в справочниках могут поменяться в любой момент
1392
+ */
1393
+ export const getDictionaries = (options) => {
1394
+ return (options.client ?? _heyApiClient).get({
1395
+ security: [
1396
+ {
1397
+ scheme: 'bearer',
1398
+ type: 'http'
1399
+ }
1400
+ ],
1401
+ url: '/dictionaries',
1402
+ ...options
1403
+ });
1404
+ };
1405
+ /**
1406
+ * Список всех языков
1407
+ */
1408
+ export const getLanguages = (options) => {
1409
+ return (options.client ?? _heyApiClient).get({
1410
+ security: [
1411
+ {
1412
+ scheme: 'bearer',
1413
+ type: 'http'
1414
+ }
1415
+ ],
1416
+ url: '/languages',
1417
+ ...options
1418
+ });
1419
+ };
1420
+ /**
1421
+ * Основная информация об учебных заведениях
1422
+ */
1423
+ export const getEducationalInstitutionsDictionary = (options) => {
1424
+ return (options.client ?? _heyApiClient).get({
1425
+ security: [
1426
+ {
1427
+ scheme: 'bearer',
1428
+ type: 'http'
1429
+ }
1430
+ ],
1431
+ url: '/educational_institutions',
1432
+ ...options
1433
+ });
1434
+ };
1435
+ /**
1436
+ * Справочник ключевых навыков
1437
+ * Метод возвращает информацию по запрашиваемым ключевым навыкам.
1438
+ *
1439
+ * Значения в справочнике могут поменяться в любой момент
1440
+ *
1441
+ */
1442
+ export const getSkills = (options) => {
1443
+ return (options.client ?? _heyApiClient).get({
1444
+ security: [
1445
+ {
1446
+ scheme: 'bearer',
1447
+ type: 'http'
1448
+ }
1449
+ ],
1450
+ url: '/skills',
1451
+ ...options
1452
+ });
1453
+ };
1454
+ /**
1455
+ * Справочник профессиональных ролей
1456
+ * Возвращает профессиональные роли, их категории и другую информацию о профессиональных ролях
1457
+ *
1458
+ */
1459
+ export const getProfessionalRolesDictionary = (options) => {
1460
+ return (options.client ?? _heyApiClient).get({
1461
+ security: [
1462
+ {
1463
+ scheme: 'bearer',
1464
+ type: 'http'
1465
+ }
1466
+ ],
1467
+ url: '/professional_roles',
1468
+ ...options
1469
+ });
1470
+ };
1471
+ /**
1472
+ * Список факультетов учебного заведения
1473
+ * Возвращает список факультетов указанного учебного заведения
1474
+ */
1475
+ export const getFaculties = (options) => {
1476
+ return (options.client ?? _heyApiClient).get({
1477
+ security: [
1478
+ {
1479
+ scheme: 'bearer',
1480
+ type: 'http'
1481
+ }
1482
+ ],
1483
+ url: '/educational_institutions/{id}/faculties',
1484
+ ...options
1485
+ });
1486
+ };
1487
+ /**
1488
+ * Отрасли компаний
1489
+ * Возвращает двухуровневый справочник всех отраслей
1490
+ */
1491
+ export const getIndustries = (options) => {
1492
+ return (options.client ?? _heyApiClient).get({
1493
+ security: [
1494
+ {
1495
+ scheme: 'bearer',
1496
+ type: 'http'
1497
+ }
1498
+ ],
1499
+ url: '/industries',
1500
+ ...options
1501
+ });
1502
+ };
1503
+ /**
1504
+ * Действия по отклику/приглашению коллекции
1505
+ * Запрос изменяет состояние работодательского (`employer_state`) или соискательского (`state`) состояния отклика/приглашения.
1506
+ *
1507
+ * #### Смена работодательского состояния отклика/приглашения
1508
+ *
1509
+ * > Доступные действия для каждого отклика/приглашения перечислены в массиве `employer_states` [списка откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations).
1510
+ *
1511
+ * Чтобы изменить состояние отклика, выполните запрос из параметра `actions[].url` [списка откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-collection-negotiations-list) для выбранного действия над откликом.
1512
+ * В запросе необходимо передать аргументы массива `actions[].arguments` в формате `application/x-www-form-urlencoded`.
1513
+ *
1514
+ * Примеры действий:
1515
+ *
1516
+ * * отложить отклик;
1517
+ * * пригласить соискателя на интервью в ответ на отклик;
1518
+ * * отказать соискателю.
1519
+ *
1520
+ * #### Смена соискательского состояния отклика/приглашения
1521
+ *
1522
+ * Изменение соискательского состояния отклика/приглашения влияет на [статистику по работе с откликами](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations-statistics-employer).
1523
+ *
1524
+ * Условие смены соискательского состояния отклика/приглашения — отправка сообщения соискателю любым из способов:
1525
+ *
1526
+ * - Совершить действие с откликом/приглашением, используя метод `/negotiations/{collection_name}/{nid}`, с сопроводительным сообщением.
1527
+ * - [Отправить сообщение](#tag/Otklikipriglasheniya-rabotodatelya/operation/send-negotiation-message) в отклике. Статус изменится, если перед отправкой использовался метод изменения работодательского статуса без сопроводительного сообщения.
1528
+ *
1529
+ * Соискательский статус в обоих случаях изменится или на приглашение (`invitation`), или на отказ (`discard`)
1530
+ *
1531
+ */
1532
+ export const changeNegotiationAction = (options) => {
1533
+ return (options.client ?? _heyApiClient).put({
1534
+ security: [
1535
+ {
1536
+ scheme: 'bearer',
1537
+ type: 'http'
1538
+ }
1539
+ ],
1540
+ url: '/negotiations/{collection_name}/{nid}',
1541
+ ...options
1542
+ });
1543
+ };
1544
+ /**
1545
+ * Список откликов/приглашений
1546
+ * Возвращает список откликов соискателя или список коллекций откликов/приглашений по [вакансии](#tag/Upravlenie-vakansiyami/operation/get-active-vacancy-list) работодателя.
1547
+ *
1548
+ * По умолчанию отклики сортируются по дате последнего обновления — от новых к старым.
1549
+ *
1550
+ * Чтобы получить список активных откликов, передайте в запросе параметр `?status=active`
1551
+ *
1552
+ */
1553
+ export const getNegotiations = (options) => {
1554
+ return (options.client ?? _heyApiClient).get({
1555
+ security: [
1556
+ {
1557
+ scheme: 'bearer',
1558
+ type: 'http'
1559
+ }
1560
+ ],
1561
+ url: '/negotiations',
1562
+ ...options
1563
+ });
1564
+ };
1565
+ /**
1566
+ * Отклик на вакансию
1567
+ * Запрос позволяет пользователю откликнуться на вакансию.
1568
+ *
1569
+ * Чтобы узнать, какими резюме возможно откликнуться на конкретную вакансию, воспользуйтесь [списком подходящих резюме](#tag/Rezyume.-Prosmotr-informacii/operation/get-suitable-resumes)
1570
+ *
1571
+ */
1572
+ export const applyToVacancy = (options) => {
1573
+ return (options.client ?? _heyApiClient).post({
1574
+ ...formDataBodySerializer,
1575
+ security: [
1576
+ {
1577
+ scheme: 'bearer',
1578
+ type: 'http'
1579
+ }
1580
+ ],
1581
+ url: '/negotiations',
1582
+ ...options,
1583
+ headers: {
1584
+ 'Content-Type': null,
1585
+ ...options.headers
1586
+ }
1587
+ });
1588
+ };
1589
+ /**
1590
+ * Статистика откликов для менеджера
1591
+ * Запрос выводит статистику по работе с откликами для вакансий менеджера за период (30 дней). Статистика менеджера доступна самому менеджеру, а также менеджерам с [типом](#tag/Menedzhery-rabotodatelya/operation/get-employer-manager-types) `main_contact_person`.
1592
+ *
1593
+ * Дополнительно рассчитывается [индекс вежливости](https://hh.ru/article/23734) менеджера по всем вакансиям
1594
+ *
1595
+ */
1596
+ export const getNegotiationsStatisticsManager = (options) => {
1597
+ return (options.client ?? _heyApiClient).get({
1598
+ security: [
1599
+ {
1600
+ scheme: 'bearer',
1601
+ type: 'http'
1602
+ }
1603
+ ],
1604
+ url: '/employers/{employer_id}/managers/{manager_id}/negotiations_statistics',
1605
+ ...options
1606
+ });
1607
+ };
1608
+ /**
1609
+ * Список активных откликов
1610
+ * Возвращает список активных откликов соискателя.
1611
+ *
1612
+ * Запрос является устаревшим и поддерживается для обратной совместимости. Вместо него используйте [запрос списка откликов](#tag/Perepiska-(otklikipriglasheniya)-dlya-soiskatelya/operation/get-negotiations) с параметром `?status=active`
1613
+ *
1614
+ * @deprecated
1615
+ */
1616
+ export const getActiveNegotiations = (options) => {
1617
+ return (options.client ?? _heyApiClient).get({
1618
+ security: [
1619
+ {
1620
+ scheme: 'bearer',
1621
+ type: 'http'
1622
+ }
1623
+ ],
1624
+ url: '/negotiations/active',
1625
+ ...options
1626
+ });
1627
+ };
1628
+ /**
1629
+ * Список шаблонов ответов для отклика/приглашения
1630
+ * Метод требует наличия [платного доступа для работодателя](#operation/get-payable-api-method-access).
1631
+ *
1632
+ * Возвращает список шаблонов ответов для отклика/приглашения или резюме. Может использоваться в отправляемых соискателю приглашениях на вакансию или [действиях по откликам/приглашениям](#tag/Otklikipriglasheniya-rabotodatelya/operation/put-negotiations-collection-to-next-state).
1633
+ *
1634
+ * > Количество доступных шаблонов будет зависеть от конкретного отклика/приглашения или вакансии и их статусов.
1635
+ *
1636
+ * Рекомендуется использовать URL из поля `templates.url` в [списке откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations). Примеры:
1637
+ *
1638
+ * ```
1639
+ * GET /message_templates/{template}?topic_id={topic_id}
1640
+ * GET /message_templates/{template}?vacancy_id={vacancy_id}&resume_id={resume_id}
1641
+ * ```
1642
+ *
1643
+ */
1644
+ export const getNegotiationMessageTemplates = (options) => {
1645
+ return (options.client ?? _heyApiClient).get({
1646
+ security: [
1647
+ {
1648
+ scheme: 'bearer',
1649
+ type: 'http'
1650
+ }
1651
+ ],
1652
+ url: '/message_templates/{template}',
1653
+ ...options
1654
+ });
1655
+ };
1656
+ /**
1657
+ * Список откликов/приглашений коллекции
1658
+ * Возвращает список откликов/приглашений для заданной коллекции. URL для запроса необходимо брать из поля `collections[].url` [списка коллекций](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations).
1659
+ *
1660
+ * > Вместо `response` необходимо указывать параметр `{collection_name}` — название коллекции. Возможные значения указаны в поле `collections[].id` [списка коллекций](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations).
1661
+ *
1662
+ * В ответе будет только основная информация о резюме. Чтобы получить дополнительную информацию, например, контактный телефон, необходимо [запросить полное резюме](#tag/Upravlenie-vakansiyami/operation/get-vacancy).
1663
+ *
1664
+ * Некоторые параметры запроса могут принимать множественные значения: `key=value&key=value`. Если параметр может принимать несколько значений, об этом явно указано в его описании. Неизвестные параметры и параметры с ошибкой в названии игнорируются.
1665
+ *
1666
+ * > Коллекция `phone_calls` принимает только параметры `vacancy_id`, `order_by`, `page` и `per_page`
1667
+ *
1668
+ */
1669
+ export const getCollectionNegotiationsList = (options) => {
1670
+ return (options.client ?? _heyApiClient).get({
1671
+ security: [
1672
+ {
1673
+ scheme: 'bearer',
1674
+ type: 'http'
1675
+ }
1676
+ ],
1677
+ url: '/negotiations/response',
1678
+ ...options
1679
+ });
1680
+ };
1681
+ /**
1682
+ * Пригласить соискателя на вакансию
1683
+ * Запрос формирует приглашение на вакансию для соискателя по инициативе работодателя.
1684
+ *
1685
+ * > Вместо `phone_interview` необходимо сформировать запрос из параметра `negotiations_actions[].url` [списка подходящих вакансий к резюме](#tag/Upravlenie-vakansiyami/operation/get-active-vacancy-list), передав аргументы из массива `negotiations_actions[].arguments`.
1686
+ *
1687
+ * Пример запроса:
1688
+ *
1689
+ * ```
1690
+ * POST /negotiations/phone_interview?resume_id=123456&vacancy_id=654321&message=new_msg
1691
+ * ```
1692
+ *
1693
+ */
1694
+ export const inviteApplicantToVacancy = (options) => {
1695
+ return (options.client ?? _heyApiClient).post({
1696
+ ...urlSearchParamsBodySerializer,
1697
+ security: [
1698
+ {
1699
+ scheme: 'bearer',
1700
+ type: 'http'
1701
+ }
1702
+ ],
1703
+ url: '/negotiations/phone_interview',
1704
+ ...options,
1705
+ headers: {
1706
+ 'Content-Type': 'application/x-www-form-urlencoded',
1707
+ ...options.headers
1708
+ }
1709
+ });
1710
+ };
1711
+ /**
1712
+ * Получить результаты тестов, прикрепленных к вакансии
1713
+ * Запрос возвращает информацию о пройденных тестах откликнувшегося соискателя
1714
+ */
1715
+ export const getNegotiationTestResults = (options) => {
1716
+ return (options.client ?? _heyApiClient).get({
1717
+ security: [
1718
+ {
1719
+ scheme: 'bearer',
1720
+ type: 'http'
1721
+ }
1722
+ ],
1723
+ url: '/negotiations/{nid}/test/solution',
1724
+ ...options
1725
+ });
1726
+ };
1727
+ /**
1728
+ * Редактирование сообщения в отклике
1729
+ * На данный момент доступно редактирование только сообщения при отклике.
1730
+ *
1731
+ * Текст сообщения можно редактировать после отправки при соблюдении следующих условий:
1732
+ * - сообщение еще не прочитано другой стороной;
1733
+ * - вакансия, на которую отправлялся отклик, должна быть активна (не в архиве);
1734
+ * - резюме из отклика не должно быть скрыто или удалено.
1735
+ *
1736
+ * Условия могут измениться.
1737
+ *
1738
+ * У каждого сообщения в [списке сообщений в отклике](https://github.com/hhru/api/blob/master/docs/negotiations.md#%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B2-%D0%BE%D1%82%D0%BA%D0%BB%D0%B8%D0%BA%D0%B5) в поле `editable` указана возможность редактирования
1739
+ *
1740
+ */
1741
+ export const editNegotiationMessage = (options) => {
1742
+ return (options.client ?? _heyApiClient).put({
1743
+ security: [
1744
+ {
1745
+ scheme: 'bearer',
1746
+ type: 'http'
1747
+ }
1748
+ ],
1749
+ url: '/negotiations/{nid}/messages/{mid}',
1750
+ ...options
1751
+ });
1752
+ };
1753
+ /**
1754
+ * Отметить отклики прочитанными
1755
+ */
1756
+ export const postNegotiationsTopicsRead = (options) => {
1757
+ return (options.client ?? _heyApiClient).post({
1758
+ ...urlSearchParamsBodySerializer,
1759
+ security: [
1760
+ {
1761
+ scheme: 'bearer',
1762
+ type: 'http'
1763
+ }
1764
+ ],
1765
+ url: '/negotiations/read',
1766
+ ...options,
1767
+ headers: {
1768
+ 'Content-Type': 'application/x-www-form-urlencoded',
1769
+ ...options.headers
1770
+ }
1771
+ });
1772
+ };
1773
+ /**
1774
+ * Скрыть отклик
1775
+ */
1776
+ export const hideActiveResponse = (options) => {
1777
+ return (options.client ?? _heyApiClient).delete({
1778
+ security: [
1779
+ {
1780
+ scheme: 'bearer',
1781
+ type: 'http'
1782
+ }
1783
+ ],
1784
+ url: '/negotiations/active/{nid}',
1785
+ ...options
1786
+ });
1787
+ };
1788
+ /**
1789
+ * Просмотр отклика/приглашения
1790
+ * Запрос возвращает информацию об отклике/приглашении по его ID.
1791
+ *
1792
+ * Работодатель может получить URL для запроса из [списка откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-collection-negotiations-list) (поле `items[].url`).
1793
+ *
1794
+ * > !! Обратите внимание, что методы для работы с сообщениями в рамках отклика/приглашения от имени [соискателя](#tag/Perepiska-(otklikipriglasheniya)-dlya-soiskatelya/operation/get-negotiation-messages) и [менеджера работодателя](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiation-messages) устарели, и новые возможности [чатов](https://feedback.hh.ru/knowledge-base/article/1290) в них не будут поддерживаться
1795
+ *
1796
+ */
1797
+ export const getNegotiationItem = (options) => {
1798
+ return (options.client ?? _heyApiClient).get({
1799
+ security: [
1800
+ {
1801
+ scheme: 'bearer',
1802
+ type: 'http'
1803
+ }
1804
+ ],
1805
+ url: '/negotiations/{id}',
1806
+ ...options
1807
+ });
1808
+ };
1809
+ /**
1810
+ * Действия по откликам/приглашениям
1811
+ * Работодатель может изменять состояние (state) отклика для соискателя, чтобы повысить качество обратной связи и упростить работу со статистикой откликов.
1812
+ *
1813
+ * Если работодатель, используя данный метод, отправляет соискателю сообщение об изменении состояния отклика/приглашения (поле `message` в теле запроса), это приведет также к изменению соискательского состояния отклика/приглашения.
1814
+ *
1815
+ * Обязательность аргументов в теле запроса отличается для разных откликов/приглашений. Проверить, является ли аргумент обязательным можно в поле `actions.arguments`, которое возвращается для каждого отклика в [списке откликов/приглашений](https://github.com/hhru/api/blob/master/docs/employer_negotiations.md#действия-по-откликуприглашению-actions)
1816
+ *
1817
+ */
1818
+ export const putNegotiationsCollectionToNextState = (options) => {
1819
+ return (options.client ?? _heyApiClient).put({
1820
+ ...urlSearchParamsBodySerializer,
1821
+ security: [
1822
+ {
1823
+ scheme: 'bearer',
1824
+ type: 'http'
1825
+ }
1826
+ ],
1827
+ url: '/negotiations/{id}',
1828
+ ...options,
1829
+ headers: {
1830
+ 'Content-Type': 'application/x-www-form-urlencoded',
1831
+ ...options.headers
1832
+ }
1833
+ });
1834
+ };
1835
+ /**
1836
+ * Статистика откликов для компании
1837
+ * Запрос выводит статистику по работе с откликами для вакансий компании за период (30 дней).
1838
+ *
1839
+ * Дополнительно рассчитывается [индекс вежливости](https://hh.ru/article/23734) компании по всем вакансиям
1840
+ *
1841
+ */
1842
+ export const getNegotiationsStatisticsEmployer = (options) => {
1843
+ return (options.client ?? _heyApiClient).get({
1844
+ security: [
1845
+ {
1846
+ scheme: 'bearer',
1847
+ type: 'http'
1848
+ }
1849
+ ],
1850
+ url: '/employers/{employer_id}/negotiations_statistics',
1851
+ ...options
1852
+ });
1853
+ };
1854
+ /**
1855
+ * Просмотр списка сообщений в отклике/приглашении
1856
+ * Запрос возвращает список всех сообщений выбранного отклика/приглашения. Работодатель может посмотреть список по URL, указанному в поле `messages` [списка откликов/приглашений](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiations) или в [отдельном отклике](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiation-item).
1857
+ *
1858
+ * Типы сообщений:
1859
+ *
1860
+ * * сопроводительное письмо соискателя;
1861
+ * * сопроводительное письмо работодателя при смене статуса отклика;
1862
+ * * свободная переписка между соискателем и работодателем.
1863
+ *
1864
+ * ‼️ Обратите внимание, что методы для работы с сообщениями в рамках отклика/приглашения от имени [соискателя](#tag/Perepiska-(otklikipriglasheniya)-dlya-soiskatelya/operation/get-negotiation-messages) и
1865
+ * [менеджера работодателя](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiation-messages) устарели, и новые возможности [чатов](https://feedback.hh.ru/knowledge-base/article/1290) в них не будут поддерживаться.
1866
+ * В связи с этим переписка может некорректно отображаться
1867
+ *
1868
+ */
1869
+ export const getNegotiationMessages = (options) => {
1870
+ return (options.client ?? _heyApiClient).get({
1871
+ security: [
1872
+ {
1873
+ scheme: 'bearer',
1874
+ type: 'http'
1875
+ }
1876
+ ],
1877
+ url: '/negotiations/{nid}/messages',
1878
+ ...options
1879
+ });
1880
+ };
1881
+ /**
1882
+ * Отправка нового сообщения
1883
+ * Запрос отправляет новое сообщение в рамках переписки.
1884
+ *
1885
+ * Отправить новое сообщение можно, если:
1886
+ *
1887
+ * * Работодатель пригласил соискателя на вакансию.
1888
+ * * Соискатель оставил отклик на вакансию.
1889
+ *
1890
+ * Если вакансия была отправлена в архив или соискатель удалил резюме, переписка будет недоступна. Работодатель также может вручную отключить переписку для вакансии.
1891
+ *
1892
+ * ‼️ Обратите внимание, что методы для работы с сообщениями в рамках отклика/приглашения от имени [соискателя](#tag/Perepiska-(otklikipriglasheniya)-dlya-soiskatelya/operation/get-negotiation-messages) и
1893
+ * [менеджера работодателя](#tag/Otklikipriglasheniya-rabotodatelya/operation/get-negotiation-messages) устарели, и новые возможности [чатов](https://feedback.hh.ru/knowledge-base/article/1290) в них не будут поддерживаться.
1894
+ * В связи с этим переписка может некорректно отображаться
1895
+ *
1896
+ */
1897
+ export const sendNegotiationMessage = (options) => {
1898
+ return (options.client ?? _heyApiClient).post({
1899
+ ...urlSearchParamsBodySerializer,
1900
+ security: [
1901
+ {
1902
+ scheme: 'bearer',
1903
+ type: 'http'
1904
+ }
1905
+ ],
1906
+ url: '/negotiations/{nid}/messages',
1907
+ ...options,
1908
+ headers: {
1909
+ 'Content-Type': 'application/x-www-form-urlencoded',
1910
+ ...options.headers
1911
+ }
1912
+ });
1913
+ };
1914
+ /**
1915
+ * Удаление черновика вакансии
1916
+ */
1917
+ export const deleteVacancyDraft = (options) => {
1918
+ return (options.client ?? _heyApiClient).delete({
1919
+ security: [
1920
+ {
1921
+ scheme: 'bearer',
1922
+ type: 'http'
1923
+ }
1924
+ ],
1925
+ url: '/vacancies/drafts/{draft_id}',
1926
+ ...options
1927
+ });
1928
+ };
1929
+ /**
1930
+ * Получение черновика вакансии
1931
+ */
1932
+ export const getVacancyDraft = (options) => {
1933
+ return (options.client ?? _heyApiClient).get({
1934
+ security: [
1935
+ {
1936
+ scheme: 'bearer',
1937
+ type: 'http'
1938
+ }
1939
+ ],
1940
+ url: '/vacancies/drafts/{draft_id}',
1941
+ ...options
1942
+ });
1943
+ };
1944
+ /**
1945
+ * Изменение черновика вакансии
1946
+ */
1947
+ export const changeVacancyDraft = (options) => {
1948
+ return (options.client ?? _heyApiClient).put({
1949
+ security: [
1950
+ {
1951
+ scheme: 'bearer',
1952
+ type: 'http'
1953
+ }
1954
+ ],
1955
+ url: '/vacancies/drafts/{draft_id}',
1956
+ ...options,
1957
+ headers: {
1958
+ 'Content-Type': 'application/json',
1959
+ ...options.headers
1960
+ }
1961
+ });
1962
+ };
1963
+ /**
1964
+ * Публикация вакансии на основе черновика
1965
+ */
1966
+ export const publishVacancyFromDraft = (options) => {
1967
+ return (options.client ?? _heyApiClient).post({
1968
+ security: [
1969
+ {
1970
+ scheme: 'bearer',
1971
+ type: 'http'
1972
+ }
1973
+ ],
1974
+ url: '/vacancies/drafts/{draft_id}/publish',
1975
+ ...options
1976
+ });
1977
+ };
1978
+ /**
1979
+ * Проверка наличия дубликатов вакансии
1980
+ */
1981
+ export const searchForVacancyDraftDuplicates = (options) => {
1982
+ return (options.client ?? _heyApiClient).get({
1983
+ security: [
1984
+ {
1985
+ scheme: 'bearer',
1986
+ type: 'http'
1987
+ }
1988
+ ],
1989
+ url: '/vacancies/drafts/{draft_id}/duplicates',
1990
+ ...options
1991
+ });
1992
+ };
1993
+ /**
1994
+ * Получение списка черновиков вакансий
1995
+ */
1996
+ export const getVacancyDraftList = (options) => {
1997
+ return (options.client ?? _heyApiClient).get({
1998
+ security: [
1999
+ {
2000
+ scheme: 'bearer',
2001
+ type: 'http'
2002
+ }
2003
+ ],
2004
+ url: '/vacancies/drafts',
2005
+ ...options
2006
+ });
2007
+ };
2008
+ /**
2009
+ * Создание черновика вакансии
2010
+ */
2011
+ export const createVacancyDraft = (options) => {
2012
+ return (options.client ?? _heyApiClient).post({
2013
+ security: [
2014
+ {
2015
+ scheme: 'bearer',
2016
+ type: 'http'
2017
+ }
2018
+ ],
2019
+ url: '/vacancies/drafts',
2020
+ ...options,
2021
+ headers: {
2022
+ 'Content-Type': 'application/json',
2023
+ ...options.headers
2024
+ }
2025
+ });
2026
+ };
2027
+ /**
2028
+ * Отмена автопубликации вакансии
2029
+ */
2030
+ export const disableAutomaticVacancyPublication = (options) => {
2031
+ return (options.client ?? _heyApiClient).delete({
2032
+ security: [
2033
+ {
2034
+ scheme: 'bearer',
2035
+ type: 'http'
2036
+ }
2037
+ ],
2038
+ url: '/vacancies/auto_publication',
2039
+ ...options
2040
+ });
2041
+ };
2042
+ /**
2043
+ * Удалить подписку на уведомление
2044
+ */
2045
+ export const cancelWebhookSubscription = (options) => {
2046
+ return (options.client ?? _heyApiClient).delete({
2047
+ security: [
2048
+ {
2049
+ scheme: 'bearer',
2050
+ type: 'http'
2051
+ }
2052
+ ],
2053
+ url: '/webhook/subscriptions/{subscription_id}',
2054
+ ...options
2055
+ });
2056
+ };
2057
+ /**
2058
+ * Изменить подписку на уведомления
2059
+ * Обновить можно как каждое поле по отдельности (в таком случае нужно отправить только обновляемое поле), так и несколько полей одновременно. Для обновления `actions` нужно передать полный список типов событий, по которым будут формироваться уведомления. Переданные типы событий не добавляются к типам событий, на которые пользователь уже подписан.
2060
+ * Пустой список `actions` передать нельзя
2061
+ *
2062
+ */
2063
+ export const changeWebhookSubscription = (options) => {
2064
+ return (options.client ?? _heyApiClient).put({
2065
+ security: [
2066
+ {
2067
+ scheme: 'bearer',
2068
+ type: 'http'
2069
+ }
2070
+ ],
2071
+ url: '/webhook/subscriptions/{subscription_id}',
2072
+ ...options,
2073
+ headers: {
2074
+ 'Content-Type': 'application/json',
2075
+ ...options.headers
2076
+ }
2077
+ });
2078
+ };
2079
+ /**
2080
+ * Получить список уведомлений, на которые подписан пользователь
2081
+ */
2082
+ export const getWebhookSubscriptions = (options) => {
2083
+ return (options.client ?? _heyApiClient).get({
2084
+ security: [
2085
+ {
2086
+ scheme: 'bearer',
2087
+ type: 'http'
2088
+ }
2089
+ ],
2090
+ url: '/webhook/subscriptions',
2091
+ ...options
2092
+ });
2093
+ };
2094
+ /**
2095
+ * Подписаться на уведомления
2096
+ * В рамках одного приложения пользователь может получать уведомления только на 1 url:
2097
+ * нельзя подписаться разными действиями на разные урлы.
2098
+ * После наступления события будет отправлен POST-запрос на указанный URL c json телом (**см. раздел "Callbacks"**).
2099
+ *
2100
+ * В ответ на POST-запрос ожидается ответ с кодом `2хх Success`, если сообщение принято, или `409 Conflict`, если пришел дубликат.
2101
+ * Для определения дубликатов нужно использовать id из запроса - уникальный идентификатор для пары "пользователь + приложение" в рамках одного типа события в подписке.
2102
+ *
2103
+ * Дубликаты возможны, если:
2104
+ * * url, на который отправлялся колбэк, не ответил в течение 2 секунд;
2105
+ * * сервер не смог установить соединение с url, на который необходимо отправить колбэк;
2106
+ * * url ответил неожиданным кодом (отличным от `2xx Success` или `409 Conflict`)
2107
+ *
2108
+ * В этих случаях сервер планирует повторную отправку колбэка, с постепенно увеличивающимся промежутком между переотправками.
2109
+ *
2110
+ * Если в рамках одной подписки ожидаемые ответы не поступают долгое время,
2111
+ * на почту разработчика приложения будет отправлено уведомительное письмо, подписка попадает в очередь на блокировку, а отправки прекращаются.
2112
+ *
2113
+ * Если до блокировки приложения в рамках подписки url ответит ожидаемым кодом в установленный таймаут, подписка исключается из очереди на блокировку.
2114
+ *
2115
+ * При удалении приложения владельцем или отзыве пользователем доступа у приложения все подписки на уведомления удаляются.
2116
+ * После восстановления доступа необходимо оформить новую подписку.
2117
+ *
2118
+ * Вебхуки не являются средствами гарантированной доставки. Мы отправляем все сообщения, но не гарантируем, что адресат их получит
2119
+ *
2120
+ * Структура и содержимое колбэков описаны в разделе [callbacks](#callbacks)
2121
+ *
2122
+ */
2123
+ export const postWebhookSubscription = (options) => {
2124
+ return (options.client ?? _heyApiClient).post({
2125
+ security: [
2126
+ {
2127
+ scheme: 'bearer',
2128
+ type: 'http'
2129
+ }
2130
+ ],
2131
+ url: '/webhook/subscriptions',
2132
+ ...options,
2133
+ headers: {
2134
+ 'Content-Type': 'application/json',
2135
+ ...options.headers
2136
+ }
2137
+ });
2138
+ };
2139
+ /**
2140
+ * Справочник тестов работодателя
2141
+ * Возвращает список сохраненных тестов работодателя
2142
+ */
2143
+ export const getTestsDictionary = (options) => {
2144
+ return (options.client ?? _heyApiClient).get({
2145
+ security: [
2146
+ {
2147
+ scheme: 'bearer',
2148
+ type: 'http'
2149
+ }
2150
+ ],
2151
+ url: '/employers/{employer_id}/tests',
2152
+ ...options
2153
+ });
2154
+ };
2155
+ /**
2156
+ * Список регионов, в которых есть активные вакансии
2157
+ * Возвращает список регионов, в которых на данный момент есть активные вакансии от указанного работодателя.
2158
+ *
2159
+ * Значения в справочнике могут поменяться в любой момент
2160
+ *
2161
+ */
2162
+ export const getEmployerVacancyAreas = (options) => {
2163
+ return (options.client ?? _heyApiClient).get({
2164
+ security: [
2165
+ {
2166
+ scheme: 'bearer',
2167
+ type: 'http'
2168
+ }
2169
+ ],
2170
+ url: '/employers/{employer_id}/vacancy_areas/active',
2171
+ ...options
2172
+ });
2173
+ };
2174
+ /**
2175
+ * Информация о работодателе
2176
+ * Возвращает данные о работодателе со ссылкой на выдачу вакансий этого работодателя
2177
+ */
2178
+ export const getEmployerInfo = (options) => {
2179
+ return (options.client ?? _heyApiClient).get({
2180
+ security: [
2181
+ {
2182
+ scheme: 'bearer',
2183
+ type: 'http'
2184
+ }
2185
+ ],
2186
+ url: '/employers/{employer_id}',
2187
+ ...options
2188
+ });
2189
+ };
2190
+ /**
2191
+ * Удаление работодателя из списка скрытых
2192
+ * Удаляет указанного работодателя из [списка скрытых работодателей](#tag/Skrytye-vakansii/operation/get-blacklisted-vacancies)
2193
+ */
2194
+ export const deleteEmployerFromBlacklisted = (options) => {
2195
+ return (options.client ?? _heyApiClient).delete({
2196
+ security: [
2197
+ {
2198
+ scheme: 'bearer',
2199
+ type: 'http'
2200
+ }
2201
+ ],
2202
+ url: '/employers/blacklisted/{employer_id}',
2203
+ ...options
2204
+ });
2205
+ };
2206
+ /**
2207
+ * Добавление работодателя в список скрытых
2208
+ * Добавляет указанного работодателя в [список скрытых работодателей](#tag/Skrytye-vakansii/operation/get-blacklisted-vacancies)
2209
+ */
2210
+ export const addEmployerToBlacklisted = (options) => {
2211
+ return (options.client ?? _heyApiClient).put({
2212
+ security: [
2213
+ {
2214
+ scheme: 'bearer',
2215
+ type: 'http'
2216
+ }
2217
+ ],
2218
+ url: '/employers/blacklisted/{employer_id}',
2219
+ ...options
2220
+ });
2221
+ };
2222
+ /**
2223
+ * Поиск работодателя
2224
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше `5000`. Например, возможен запрос `per_page=10&page=499` (выдача с `4991` по `5000` работодателя), но запрос с `per_page=10&page=500` вернёт ошибку (выдача с `5001` до `5010` работодателя)
2225
+ */
2226
+ export const searchEmployer = (options) => {
2227
+ return (options.client ?? _heyApiClient).get({
2228
+ security: [
2229
+ {
2230
+ scheme: 'bearer',
2231
+ type: 'http'
2232
+ }
2233
+ ],
2234
+ url: '/employers',
2235
+ ...options
2236
+ });
2237
+ };
2238
+ /**
2239
+ * Справочник департаментов работодателя
2240
+ * Возвращает список департаментов работодателя.
2241
+ *
2242
+ * Значения в справочнике могут поменяться в любой момент
2243
+ *
2244
+ */
2245
+ export const getEmployerDepartments = (options) => {
2246
+ return (options.client ?? _heyApiClient).get({
2247
+ security: [
2248
+ {
2249
+ scheme: 'bearer',
2250
+ type: 'http'
2251
+ }
2252
+ ],
2253
+ url: '/employers/{employer_id}/departments',
2254
+ ...options
2255
+ });
2256
+ };
2257
+ /**
2258
+ * Список доступных бренд шаблонов вакансий работодателя
2259
+ * Внимание! Значения в справочниках могут поменяться в любой момент. Не нужно завязываться на них.
2260
+ *
2261
+ * Использование брендированных шаблонов вакансии доступно работодателям, оплатившим и активировавшим соответствующую
2262
+ * услугу. Подробнее на сайте [hh.ru](https://hh.ru/article/brand)
2263
+ *
2264
+ */
2265
+ export const getVacancyBrandedTemplatesList = (options) => {
2266
+ return (options.client ?? _heyApiClient).get({
2267
+ security: [
2268
+ {
2269
+ scheme: 'bearer',
2270
+ type: 'http'
2271
+ }
2272
+ ],
2273
+ url: '/employers/{employer_id}/vacancy_branded_templates',
2274
+ ...options
2275
+ });
2276
+ };
2277
+ /**
2278
+ * Список скрытых работодателей
2279
+ * Возвращает [подмножество работодателей](#tag/Rabotodatel/operation/search-employer), скрытых пользователем, а также один дополнительный параметр
2280
+ */
2281
+ export const getBlacklistedEmployers = (options) => {
2282
+ return (options.client ?? _heyApiClient).get({
2283
+ security: [
2284
+ {
2285
+ scheme: 'bearer',
2286
+ type: 'http'
2287
+ }
2288
+ ],
2289
+ url: '/employers/blacklisted',
2290
+ ...options
2291
+ });
2292
+ };
2293
+ /**
2294
+ * Список районов во всех городах
2295
+ */
2296
+ export const getAllDistricts = (options) => {
2297
+ return (options.client ?? _heyApiClient).get({
2298
+ security: [
2299
+ {
2300
+ scheme: 'bearer',
2301
+ type: 'http'
2302
+ }
2303
+ ],
2304
+ url: '/districts',
2305
+ ...options
2306
+ });
2307
+ };
2308
+ /**
2309
+ * Оценка заработной платы без прогноза
2310
+ * Возвращает статистику зарплат в соответствии с указанными параметрами запроса. Пользователь должен иметь доступ к платным отчетам [банка зарплат](https://salary.hh.ru/).
2311
+ *
2312
+ * Как это работает:
2313
+ *
2314
+ * * Основным источником данных для статистики служит информация о зарплатах, предоставляемая участниками проекта [Банк данных заработных плат](https://salary.hh.ru/promo).
2315
+ * * Все анкеты участников проходят проверку модераторами. Если заявленная участником зарплата сильно отличается от средней по рынку, она не будет включена в банк данных.
2316
+ * * Если в банке недостаточно данных для построения статистики по запросу, сервис использует следующие приемы:
2317
+ *
2318
+ * * Объединяет сведения из нескольких отраслей, если недостаточно данных по запрошенной отрасли.
2319
+ * * Объединяет сведения из нескольких близких специализаций, если недостаточно данных по запрошенной специализации.
2320
+ * * Объединяет сведения из нескольких городов, если недостаточно данных по запрошенному городу.
2321
+ * * Использует сведения по запрошенным специализациям из другого региона, если недостаточно данных по запрошенному региону. При этом вычисляется поправочный коэффициент, который отражает разницу в зарплатах между регионами.
2322
+ *
2323
+ * Если эти приемы не позволяют получить достаточную выборку, сервис может использовать информацию о зарплатах из вакансий и резюме. Такая информация не проходит предварительную модерацию и считается менее надежной, поэтому используется только в крайнем случае. Чтобы использовать эту функцию, передайте в запросе параметр `extend_sources=true`
2324
+ *
2325
+ */
2326
+ export const getSalaryEvaluation = (options) => {
2327
+ return (options.client ?? _heyApiClient).get({
2328
+ security: [
2329
+ {
2330
+ scheme: 'bearer',
2331
+ type: 'http'
2332
+ }
2333
+ ],
2334
+ url: '/salary_statistics/paid/salary_evaluation/{area_id}',
2335
+ ...options
2336
+ });
2337
+ };
2338
+ /**
2339
+ * Список станций метро во всех городах
2340
+ */
2341
+ export const getMetroStations = (options) => {
2342
+ return (options.client ?? _heyApiClient).get({
2343
+ security: [
2344
+ {
2345
+ scheme: 'bearer',
2346
+ type: 'http'
2347
+ }
2348
+ ],
2349
+ url: '/metro',
2350
+ ...options
2351
+ });
2352
+ };
2353
+ /**
2354
+ * Список станций метро в указанном городе
2355
+ */
2356
+ export const getMetroStationsInCity = (options) => {
2357
+ return (options.client ?? _heyApiClient).get({
2358
+ security: [
2359
+ {
2360
+ scheme: 'bearer',
2361
+ type: 'http'
2362
+ }
2363
+ ],
2364
+ url: '/metro/{city_id}',
2365
+ ...options
2366
+ });
2367
+ };
2368
+ /**
2369
+ * Передача сохраненного поиска резюме другому менеджеру
2370
+ */
2371
+ export const moveSavedResumeSearch = (options) => {
2372
+ return (options.client ?? _heyApiClient).put({
2373
+ security: [
2374
+ {
2375
+ scheme: 'bearer',
2376
+ type: 'http'
2377
+ }
2378
+ ],
2379
+ url: '/saved_searches/resumes/{saved_search_id}/managers/{manager_id}',
2380
+ ...options
2381
+ });
2382
+ };
2383
+ /**
2384
+ * Резюме, сгруппированные по возможности отклика на данную вакансию
2385
+ * Возвращает резюме пользователя, сгруппированные в четыре списка в зависимости от возможности отклика на указанную вакансию
2386
+ */
2387
+ export const getResumesByStatus = (options) => {
2388
+ return (options.client ?? _heyApiClient).get({
2389
+ security: [
2390
+ {
2391
+ scheme: 'bearer',
2392
+ type: 'http'
2393
+ }
2394
+ ],
2395
+ url: '/vacancies/{vacancy_id}/resumes_by_status',
2396
+ ...options
2397
+ });
2398
+ };
2399
+ /**
2400
+ * Статус резюме и готовность к публикации
2401
+ * Возвращает информацию о статусе резюме, готовности резюме к публикации, а также замечания модератора по выбранному резюме
2402
+ *
2403
+ */
2404
+ export const getResumeStatus = (options) => {
2405
+ return (options.client ?? _heyApiClient).get({
2406
+ security: [
2407
+ {
2408
+ scheme: 'bearer',
2409
+ type: 'http'
2410
+ }
2411
+ ],
2412
+ url: '/resumes/{resume_id}/status',
2413
+ ...options
2414
+ });
2415
+ };
2416
+ /**
2417
+ * История откликов/приглашений по резюме
2418
+ * Возвращает последние действия с указанным резюме, ограниченные 30-ю вакансиями данного работодателя, и 10-ю изменениями состояний откликов/приглашений по каждой из этих вакансий.
2419
+ *
2420
+ * Метод требует наличия [платного доступа для работодателя](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access)
2421
+ *
2422
+ */
2423
+ export const getResumeNegotiationsHistory = (options) => {
2424
+ return (options.client ?? _heyApiClient).get({
2425
+ security: [
2426
+ {
2427
+ scheme: 'bearer',
2428
+ type: 'http'
2429
+ }
2430
+ ],
2431
+ url: '/resumes/{resume_id}/negotiations_history',
2432
+ ...options
2433
+ });
2434
+ };
2435
+ /**
2436
+ * Удаление сохраненного поиска резюме
2437
+ */
2438
+ export const deleteSavedResumeSearch = (options) => {
2439
+ return (options.client ?? _heyApiClient).delete({
2440
+ security: [
2441
+ {
2442
+ scheme: 'bearer',
2443
+ type: 'http'
2444
+ }
2445
+ ],
2446
+ url: '/saved_searches/resumes/{id}',
2447
+ ...options
2448
+ });
2449
+ };
2450
+ /**
2451
+ * Получение единичного сохраненного поиска резюме
2452
+ * Внимание: счетчик `new_items.count` обновляется раз в час. Из-за этого реальное количество новых найденных резюме
2453
+ * может расходиться со значением этого счетчика
2454
+ *
2455
+ */
2456
+ export const getSavedResumeSearch = (options) => {
2457
+ return (options.client ?? _heyApiClient).get({
2458
+ security: [
2459
+ {
2460
+ scheme: 'bearer',
2461
+ type: 'http'
2462
+ }
2463
+ ],
2464
+ url: '/saved_searches/resumes/{id}',
2465
+ ...options
2466
+ });
2467
+ };
2468
+ /**
2469
+ * Обновление сохраненного поиска резюме
2470
+ * У сохраненного поиска можно изменить имя (`name`) и статус подписки (`subscription`). В одном запросе можно передать только один из параметров
2471
+ */
2472
+ export const updateSavedResumeSearch = (options) => {
2473
+ return (options.client ?? _heyApiClient).put({
2474
+ security: [
2475
+ {
2476
+ scheme: 'bearer',
2477
+ type: 'http'
2478
+ }
2479
+ ],
2480
+ url: '/saved_searches/resumes/{id}',
2481
+ ...options
2482
+ });
2483
+ };
2484
+ /**
2485
+ * Поиск резюме
2486
+ * Возвращает результаты поиска резюме.
2487
+ *
2488
+ * Требуется наличие [платного доступа](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access).
2489
+ *
2490
+ * Некоторые параметры запроса могут принимать множественные значения: `key=value&key=value`. Если параметр может принимать несколько значений, об этом явно указано в его описании. Неизвестные параметры и параметры с ошибкой в названии игнорируются.
2491
+ *
2492
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше 2000. Например, возможен запрос `per_page=10&page=199` (выдача с 1991 по 2000 резюме), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с 2001 до 2010 резюме).
2493
+ *
2494
+ * Возвращаемые результаты группируются по соискателю: один и тот же соискатель не может вернуться в выборке несколько раз. Если у соискателя есть несколько резюме, которые подходят под запрос, то только одно из его резюме вернется в качестве элемента в массиве items
2495
+ *
2496
+ */
2497
+ export const searchForResumes = (options) => {
2498
+ return (options.client ?? _heyApiClient).get({
2499
+ security: [
2500
+ {
2501
+ scheme: 'bearer',
2502
+ type: 'http'
2503
+ }
2504
+ ],
2505
+ url: '/resumes',
2506
+ ...options
2507
+ });
2508
+ };
2509
+ /**
2510
+ * Создание резюме
2511
+ * Запрос является устаревшим и поддерживается для обратной совместимости. Вместо него используйте [запрос создания резюме-профиля.](#tag/Rezyume-profil-soiskatelya/operation/create-resume-profile)
2512
+ *
2513
+ * Создает резюме с полями, переданными в теле запроса.
2514
+ *
2515
+ * Если передан параметр `source_resume_id`, новое резюме будет склонировано из указанного. Склонировать можно только собственное резюме
2516
+ *
2517
+ * @deprecated
2518
+ */
2519
+ export const createResume = (options) => {
2520
+ return (options.client ?? _heyApiClient).post({
2521
+ security: [
2522
+ {
2523
+ scheme: 'bearer',
2524
+ type: 'http'
2525
+ }
2526
+ ],
2527
+ url: '/resumes',
2528
+ ...options,
2529
+ headers: {
2530
+ 'Content-Type': 'application/json',
2531
+ ...options.headers
2532
+ }
2533
+ });
2534
+ };
2535
+ /**
2536
+ * Список резюме авторизованного пользователя
2537
+ */
2538
+ export const getMineResumes = (options) => {
2539
+ return (options.client ?? _heyApiClient).get({
2540
+ security: [
2541
+ {
2542
+ scheme: 'bearer',
2543
+ type: 'http'
2544
+ }
2545
+ ],
2546
+ url: '/resumes/mine',
2547
+ ...options
2548
+ });
2549
+ };
2550
+ /**
2551
+ * Публикация резюме
2552
+ * При первой публикации резюме оно становится доступно для использования. При повторной публикации происходит обновление даты резюме.
2553
+ *
2554
+ * Повторная публикация означает обновление даты резюме. Ключ `next_publish_at` у [резюме](#tag/Rezyume.-Prosmotr-informacii/operation/get-mine-resumes) указывает время, когда можно обновить резюме
2555
+ *
2556
+ */
2557
+ export const publishResume = (options) => {
2558
+ return (options.client ?? _heyApiClient).post({
2559
+ security: [
2560
+ {
2561
+ scheme: 'bearer',
2562
+ type: 'http'
2563
+ }
2564
+ ],
2565
+ url: '/resumes/{resume_id}/publish',
2566
+ ...options
2567
+ });
2568
+ };
2569
+ /**
2570
+ * Условия заполнения полей нового резюме
2571
+ * Возвращает список требований для полей при заполнении нового резюме
2572
+ */
2573
+ export const getNewResumeConditions = (options) => {
2574
+ return (options.client ?? _heyApiClient).get({
2575
+ security: [
2576
+ {
2577
+ scheme: 'bearer',
2578
+ type: 'http'
2579
+ }
2580
+ ],
2581
+ url: '/resume_conditions',
2582
+ ...options
2583
+ });
2584
+ };
2585
+ /**
2586
+ * Список подходящих для отклика резюме
2587
+ * Возвращает список сокращенных представлений резюме соискателя, которыми он может откликнуться на указанную вакансию.
2588
+ *
2589
+ * В качестве альтернативы данному методу можно использовать метод [resumes_by_status](#tag/Rezyume.-Prosmotr-informacii/operation/get-resumes-by-status)
2590
+ *
2591
+ */
2592
+ export const getSuitableResumes = (options) => {
2593
+ return (options.client ?? _heyApiClient).get({
2594
+ security: [
2595
+ {
2596
+ scheme: 'bearer',
2597
+ type: 'http'
2598
+ }
2599
+ ],
2600
+ url: '/vacancies/{vacancy_id}/suitable_resumes',
2601
+ ...options
2602
+ });
2603
+ };
2604
+ /**
2605
+ * Условия заполнения полей существующего резюме
2606
+ * Возвращает список требований для полей при заполнении указанного резюме
2607
+ */
2608
+ export const getResumeConditions = (options) => {
2609
+ return (options.client ?? _heyApiClient).get({
2610
+ security: [
2611
+ {
2612
+ scheme: 'bearer',
2613
+ type: 'http'
2614
+ }
2615
+ ],
2616
+ url: '/resumes/{resume_id}/conditions',
2617
+ ...options
2618
+ });
2619
+ };
2620
+ /**
2621
+ * История просмотра резюме
2622
+ * Возвращает историю просмотров резюме.
2623
+ *
2624
+ * Этот запрос обнуляет счетчик новых просмотров (поле `new_views`), который возвращается в запросах на просмотр [конкретного резюме](#tag/Prosmotr-rezyume/operation/get-resume) и [списка резюме](#tag/Rezyume.-Prosmotr-informacii/operation/get-mine-resumes)
2625
+ *
2626
+ */
2627
+ export const getResumeViewHistory = (options) => {
2628
+ return (options.client ?? _heyApiClient).get({
2629
+ security: [
2630
+ {
2631
+ scheme: 'bearer',
2632
+ type: 'http'
2633
+ }
2634
+ ],
2635
+ url: '/resumes/{resume_id}/views',
2636
+ ...options
2637
+ });
2638
+ };
2639
+ /**
2640
+ * Удаление резюме
2641
+ * Резюме удаляется без возможности восстановления. Все связанные с ним отклики исчезают
2642
+ */
2643
+ export const deleteResume = (options) => {
2644
+ return (options.client ?? _heyApiClient).delete({
2645
+ security: [
2646
+ {
2647
+ scheme: 'bearer',
2648
+ type: 'http'
2649
+ }
2650
+ ],
2651
+ url: '/resumes/{resume_id}',
2652
+ ...options
2653
+ });
2654
+ };
2655
+ /**
2656
+ * Просмотр резюме
2657
+ * Возвращает информацию об указанном резюме.
2658
+ *
2659
+ * Особенности работы метода при запросе от работодателя:
2660
+ *
2661
+ * * Требуется наличие [платного доступа](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access).
2662
+ * * При просмотре резюме с контактами действуют [специальные правила](https://github.com/hhru/api/blob/master/docs/payable/resume.md#просмотр-резюме-с-контактами).
2663
+ * * Если просмотр полных данных по резюме недоступен при текущей авторизации, в некоторых полях вернется `null`, а поле `can_view_full_info` будет иметь значение `false`.
2664
+ * * Если у работодателя есть отклик/приглашение на это резюме, отклик будет считаться просмотренным (только в том случае, если передан query-параметр topic_id с соответствующим идентификатором отклика)
2665
+ *
2666
+ */
2667
+ export const getResume = (options) => {
2668
+ return (options.client ?? _heyApiClient).get({
2669
+ security: [
2670
+ {
2671
+ scheme: 'bearer',
2672
+ type: 'http'
2673
+ }
2674
+ ],
2675
+ url: '/resumes/{resume_id}',
2676
+ ...options
2677
+ });
2678
+ };
2679
+ /**
2680
+ * Обновление резюме
2681
+ * Запрос является устаревшим и поддерживается для обратной совместимости. Вместо него используйте [запрос изменения резюме-профиля.](#tag/Rezyume-profil-soiskatelya/operation/update-resume-profile).
2682
+ *
2683
+ * Обновляет переданные в теле запроса поля указанного резюме.
2684
+ *
2685
+ * Любой упомянутый в теле запроса массив полностью переопределит существующий. Чтобы добавить к существующему массиву новый элемент, перечислите также в запросе все элементы существующего массива. Так, в приведенном примере запроса к ранее указанному русскому языку добавляется английский.
2686
+ *
2687
+ * Дополнительные правила заполнения резюме:
2688
+ *
2689
+ * * У соискателя не может быть несколько резюме с одинаковым `title`.
2690
+ * * Специализации должны быть из одной профессиональной области.
2691
+ * * Город проживания должен быть одним из элементов справочника `/areas`, и у этого элемента не должно быть потомков. Например, нельзя указать город проживания «Россия».
2692
+ * * Ближайшая станция метро должна находиться в городе проживания.
2693
+ * * Для специализаций из профессиональной области «Начало карьеры, студенты» (`id=15`) можно не указывать опыт работы и навыки. Для остальных профессиональных областей данные поля должны содержать хотя бы по одной записи
2694
+ *
2695
+ * @deprecated
2696
+ */
2697
+ export const editResume = (options) => {
2698
+ return (options.client ?? _heyApiClient).put({
2699
+ security: [
2700
+ {
2701
+ scheme: 'bearer',
2702
+ type: 'http'
2703
+ }
2704
+ ],
2705
+ url: '/resumes/{resume_id}',
2706
+ ...options,
2707
+ headers: {
2708
+ 'Content-Type': 'application/json',
2709
+ ...options.headers
2710
+ }
2711
+ });
2712
+ };
2713
+ /**
2714
+ * Проверка возможности создания резюме
2715
+ */
2716
+ export const getResumeCreationAvailability = (options) => {
2717
+ return (options.client ?? _heyApiClient).get({
2718
+ security: [
2719
+ {
2720
+ scheme: 'bearer',
2721
+ type: 'http'
2722
+ }
2723
+ ],
2724
+ url: '/resumes/creation_availability',
2725
+ ...options
2726
+ });
2727
+ };
2728
+ /**
2729
+ * Список сохраненных поисков резюме
2730
+ */
2731
+ export const getSavedResumeSearches = (options) => {
2732
+ return (options.client ?? _heyApiClient).get({
2733
+ security: [
2734
+ {
2735
+ scheme: 'bearer',
2736
+ type: 'http'
2737
+ }
2738
+ ],
2739
+ url: '/saved_searches/resumes',
2740
+ ...options
2741
+ });
2742
+ };
2743
+ /**
2744
+ * Создание нового сохраненного поиска резюме
2745
+ * Некоторые параметры принимают множественные значения: `key=value&key=value`.
2746
+ *
2747
+ * При указании параметров пагинации (`page`, `per_page`) работает ограничение: глубина возвращаемых результатов не может быть больше 2000. Например, возможен запрос `per_page=10&page=199` (выдача с 1991 по 2000 вакансию), но запрос с `per_page=10&page=200` вернёт ошибку (выдача с 2001 до 2010 вакансию)
2748
+ *
2749
+ */
2750
+ export const createSavedResumeSearch = (options) => {
2751
+ return (options.client ?? _heyApiClient).post({
2752
+ security: [
2753
+ {
2754
+ scheme: 'bearer',
2755
+ type: 'http'
2756
+ }
2757
+ ],
2758
+ url: '/saved_searches/resumes',
2759
+ ...options
2760
+ });
2761
+ };
2762
+ /**
2763
+ * Получение списка типов видимости резюме
2764
+ * Некоторые типы видимости, например `whitelist` и `blacklist`, подразумевают наличие списка работодателей, для которых резюме должно быть видимо или скрыто. См. [управление списками видимости резюме](#tag/Rezyume.-Spiski-vidimosti)
2765
+ */
2766
+ export const getResumeAccessTypes = (options) => {
2767
+ return (options.client ?? _heyApiClient).get({
2768
+ security: [
2769
+ {
2770
+ scheme: 'bearer',
2771
+ type: 'http'
2772
+ }
2773
+ ],
2774
+ url: '/resumes/{resume_id}/access_types',
2775
+ ...options
2776
+ });
2777
+ };
2778
+ /**
2779
+ * Удаление комментария
2780
+ * Метод требует наличия [платного доступа для работодателя](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access).
2781
+ *
2782
+ * Удалить комментарий может только его автор
2783
+ *
2784
+ */
2785
+ export const deleteApplicantComment = (options) => {
2786
+ return (options.client ?? _heyApiClient).delete({
2787
+ security: [
2788
+ {
2789
+ scheme: 'bearer',
2790
+ type: 'http'
2791
+ }
2792
+ ],
2793
+ url: '/applicant_comments/{applicant_id}/{comment_id}',
2794
+ ...options
2795
+ });
2796
+ };
2797
+ /**
2798
+ * Обновление комментария
2799
+ * Метод требует наличия [платного доступа для работодателя](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access).
2800
+ *
2801
+ * Автор комментария может изменить его текст и тип доступа. Если параметр не передан, то его значение останется прежним
2802
+ *
2803
+ */
2804
+ export const updateApplicantComment = (options) => {
2805
+ return (options.client ?? _heyApiClient).put({
2806
+ ...urlSearchParamsBodySerializer,
2807
+ security: [
2808
+ {
2809
+ scheme: 'bearer',
2810
+ type: 'http'
2811
+ }
2812
+ ],
2813
+ url: '/applicant_comments/{applicant_id}/{comment_id}',
2814
+ ...options,
2815
+ headers: {
2816
+ 'Content-Type': 'application/x-www-form-urlencoded',
2817
+ ...options.headers
2818
+ }
2819
+ });
2820
+ };
2821
+ /**
2822
+ * Получение списка комментариев
2823
+ * Метод требует наличия [платного доступа для работодателя](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access).
2824
+ *
2825
+ * Список будет содержать комментарии текущего пользователя, а также комментарии других менеджеров компании, если они открыли доступ к ним при публикации
2826
+ *
2827
+ */
2828
+ export const getApplicantCommentsList = (options) => {
2829
+ return (options.client ?? _heyApiClient).get({
2830
+ security: [
2831
+ {
2832
+ scheme: 'bearer',
2833
+ type: 'http'
2834
+ }
2835
+ ],
2836
+ url: '/applicant_comments/{applicant_id}',
2837
+ ...options
2838
+ });
2839
+ };
2840
+ /**
2841
+ * Добавление комментария
2842
+ * Метод требует наличия [платного доступа для работодателя](#tag/Uslugi-rabotodatelya/operation/get-payable-api-method-access)
2843
+ */
2844
+ export const addApplicantComment = (options) => {
2845
+ return (options.client ?? _heyApiClient).post({
2846
+ ...urlSearchParamsBodySerializer,
2847
+ security: [
2848
+ {
2849
+ scheme: 'bearer',
2850
+ type: 'http'
2851
+ }
2852
+ ],
2853
+ url: '/applicant_comments/{applicant_id}',
2854
+ ...options,
2855
+ headers: {
2856
+ 'Content-Type': 'application/x-www-form-urlencoded',
2857
+ ...options.headers
2858
+ }
2859
+ });
2860
+ };
2861
+ /**
2862
+ * Изменение шаблона ответа соискателю
2863
+ * Изменение шаблона ответа для [переписки](https://github.com/hhru/api/blob/master/docs/employer_negotiations.md)
2864
+ *
2865
+ */
2866
+ export const putMailTemplatesItem = (options) => {
2867
+ return (options.client ?? _heyApiClient).put({
2868
+ security: [
2869
+ {
2870
+ scheme: 'bearer',
2871
+ type: 'http'
2872
+ }
2873
+ ],
2874
+ url: '/employers/{employer_id}/mail_templates/{template_id}',
2875
+ ...options,
2876
+ headers: {
2877
+ 'Content-Type': 'application/json',
2878
+ ...options.headers
2879
+ }
2880
+ });
2881
+ };
2882
+ /**
2883
+ * Список доступных шаблонов ответов соискателю
2884
+ * Возвращает список возможных значений шаблонов ответов для [переписки](https://github.com/hhru/api/blob/master/docs/employer_negotiations.md)
2885
+ *
2886
+ */
2887
+ export const getMailTemplates = (options) => {
2888
+ return (options.client ?? _heyApiClient).get({
2889
+ security: [
2890
+ {
2891
+ scheme: 'bearer',
2892
+ type: 'http'
2893
+ }
2894
+ ],
2895
+ url: '/employers/{employer_id}/mail_templates',
2896
+ ...options
2897
+ });
2898
+ };
2899
+ /**
2900
+ * Получение информации о статистике рекламных кампаний в Clickme
2901
+ * Получение информации о статистике рекламных кампаний в Clickme
2902
+ */
2903
+ export const getClickmeStatistics = (options) => {
2904
+ return (options.client ?? _heyApiClient).get({
2905
+ security: [
2906
+ {
2907
+ scheme: 'bearer',
2908
+ type: 'http'
2909
+ }
2910
+ ],
2911
+ url: '/clickme/statistics',
2912
+ ...options
2913
+ });
2914
+ };
2915
+ /**
2916
+ * Справочник стран
2917
+ * Возвращает подмножество регионов, являющихся странами
2918
+ */
2919
+ export const getCountries = (options) => {
2920
+ return (options.client ?? _heyApiClient).get({
2921
+ security: [
2922
+ {
2923
+ scheme: 'bearer',
2924
+ type: 'http'
2925
+ }
2926
+ ],
2927
+ url: '/areas/countries',
2928
+ ...options
2929
+ });
2930
+ };
2931
+ /**
2932
+ * Дерево всех регионов
2933
+ * Возвращает древовидный список всех регионов.
2934
+ *
2935
+ * Значения в справочнике могут поменяться в любой момент
2936
+ *
2937
+ */
2938
+ export const getAreas = (options) => {
2939
+ return (options.client ?? _heyApiClient).get({
2940
+ security: [
2941
+ {
2942
+ scheme: 'bearer',
2943
+ type: 'http'
2944
+ }
2945
+ ],
2946
+ url: '/areas',
2947
+ ...options
2948
+ });
2949
+ };
2950
+ /**
2951
+ * Справочник регионов, начиная с указанного
2952
+ * Возвращает древовидный список регионов, начиная с указанного.
2953
+ *
2954
+ * Значения в справочнике могут поменяться в любой момент
2955
+ *
2956
+ */
2957
+ export const getAreasFromSpecified = (options) => {
2958
+ return (options.client ?? _heyApiClient).get({
2959
+ security: [
2960
+ {
2961
+ scheme: 'bearer',
2962
+ type: 'http'
2963
+ }
2964
+ ],
2965
+ url: '/areas/{area_id}',
2966
+ ...options
2967
+ });
2968
+ };
2969
+ /**
2970
+ * Уровни компетенций
2971
+ * Возвращает список уровней компетенций
2972
+ */
2973
+ export const getSalaryEmployeeLevels = (options) => {
2974
+ return (options.client ?? _heyApiClient).get({
2975
+ security: [
2976
+ {
2977
+ scheme: 'bearer',
2978
+ type: 'http'
2979
+ }
2980
+ ],
2981
+ url: '/salary_statistics/dictionaries/employee_levels',
2982
+ ...options
2983
+ });
2984
+ };
2985
+ /**
2986
+ * Регионы и города
2987
+ * Возвращает список регионов, областей и городов
2988
+ */
2989
+ export const getSalarySalaryAreas = (options) => {
2990
+ return (options.client ?? _heyApiClient).get({
2991
+ security: [
2992
+ {
2993
+ scheme: 'bearer',
2994
+ type: 'http'
2995
+ }
2996
+ ],
2997
+ url: '/salary_statistics/dictionaries/salary_areas',
2998
+ ...options
2999
+ });
3000
+ };
3001
+ /**
3002
+ * Профобласти и специализации
3003
+ * Возвращает список профобластей и специализаций
3004
+ */
3005
+ export const getSalaryProfessionalAreas = (options) => {
3006
+ return (options.client ?? _heyApiClient).get({
3007
+ security: [
3008
+ {
3009
+ scheme: 'bearer',
3010
+ type: 'http'
3011
+ }
3012
+ ],
3013
+ url: '/salary_statistics/dictionaries/professional_areas',
3014
+ ...options
3015
+ });
3016
+ };
3017
+ /**
3018
+ * Отрасли и сферы деятельности
3019
+ * Возвращает двухуровневый список отраслей и сфер деятельности
3020
+ */
3021
+ export const getSalaryIndustries = (options) => {
3022
+ return (options.client ?? _heyApiClient).get({
3023
+ security: [
3024
+ {
3025
+ scheme: 'bearer',
3026
+ type: 'http'
3027
+ }
3028
+ ],
3029
+ url: '/salary_statistics/dictionaries/salary_industries',
3030
+ ...options
3031
+ });
3032
+ };
3033
+ /**
3034
+ * Поиск работодателей для добавления в список видимости
3035
+ * Возвращает результаты поиска работодателей
3036
+ */
3037
+ export const getResumeVisibilityEmployersList = (options) => {
3038
+ return (options.client ?? _heyApiClient).get({
3039
+ security: [
3040
+ {
3041
+ scheme: 'bearer',
3042
+ type: 'http'
3043
+ }
3044
+ ],
3045
+ url: '/resumes/{resume_id}/{list_type}/search',
3046
+ ...options
3047
+ });
3048
+ };
3049
+ /**
3050
+ * Очистка списка видимости
3051
+ */
3052
+ export const deleteResumeVisibilityList = (options) => {
3053
+ return (options.client ?? _heyApiClient).delete({
3054
+ security: [
3055
+ {
3056
+ scheme: 'bearer',
3057
+ type: 'http'
3058
+ }
3059
+ ],
3060
+ url: '/resumes/{resume_id}/{list_type}',
3061
+ ...options
3062
+ });
3063
+ };
3064
+ /**
3065
+ * Получение списка видимости резюме
3066
+ * Возвращает список работодателей, для которых резюме должно быть видимо или скрыто
3067
+ *
3068
+ */
3069
+ export const getResumeVisibilityList = (options) => {
3070
+ return (options.client ?? _heyApiClient).get({
3071
+ security: [
3072
+ {
3073
+ scheme: 'bearer',
3074
+ type: 'http'
3075
+ }
3076
+ ],
3077
+ url: '/resumes/{resume_id}/{list_type}',
3078
+ ...options
3079
+ });
3080
+ };
3081
+ /**
3082
+ * Добавление работодателей в список видимости
3083
+ * Добавляет указанных работодателей в список видимости указанного типа.
3084
+ *
3085
+ * За один запрос можно добавить не больше 100 компаний.
3086
+ *
3087
+ * Добавление в список идемпотентно, то есть добавление работодателей, уже присутствующих в списке, игнорируется и не приводит к дублированию записей.
3088
+ *
3089
+ * Можно добавить в список заблокированного работодателя
3090
+ *
3091
+ */
3092
+ export const addResumeVisibilityList = (options) => {
3093
+ return (options.client ?? _heyApiClient).post({
3094
+ security: [
3095
+ {
3096
+ scheme: 'bearer',
3097
+ type: 'http'
3098
+ }
3099
+ ],
3100
+ url: '/resumes/{resume_id}/{list_type}',
3101
+ ...options,
3102
+ headers: {
3103
+ 'Content-Type': 'application/json',
3104
+ ...options.headers
3105
+ }
3106
+ });
3107
+ };
3108
+ /**
3109
+ * Удаление работодателя из списка видимости
3110
+ * Удаление из списка идемпотентно, то есть удаление отсутствующих в списке или несуществующих работодателей игнорируется и не приводит к ошибкам.
3111
+ *
3112
+ * Можно удалить из списка заблокированного работодателя.
3113
+ *
3114
+ * За один запрос можно удалить не более 100 компаний
3115
+ *
3116
+ */
3117
+ export const deleteEmployerFromResumeVisibilityList = (options) => {
3118
+ return (options.client ?? _heyApiClient).delete({
3119
+ security: [
3120
+ {
3121
+ scheme: 'bearer',
3122
+ type: 'http'
3123
+ }
3124
+ ],
3125
+ url: '/resumes/{resume_id}/{list_type}/employer',
3126
+ ...options
3127
+ });
3128
+ };