@purpleschool/rugpt-lib-common 0.0.102 → 0.0.104
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.
- package/build/errors/errors.d.ts +524 -0
- package/build/errors/errors.js +525 -0
- package/package.json +1 -1
package/build/errors/errors.d.ts
CHANGED
|
@@ -1,4 +1,489 @@
|
|
|
1
1
|
export declare const ERRORS: {
|
|
2
|
+
/** Ошибки каталога и проверки App Store; успешная проверка подписи ещё не означает начисление. */
|
|
3
|
+
APPLE_IAP: {
|
|
4
|
+
/** Персональный запрет новой тестовой оплаты; не отказывает в replay уже выданной покупки. */
|
|
5
|
+
SANDBOX_ACCOUNT_NOT_ALLOWED: {
|
|
6
|
+
code: string;
|
|
7
|
+
message: string;
|
|
8
|
+
httpCode: number;
|
|
9
|
+
};
|
|
10
|
+
SUBSCRIPTION_REFUND_NOT_APPLICABLE: {
|
|
11
|
+
code: string;
|
|
12
|
+
message: string;
|
|
13
|
+
httpCode: number;
|
|
14
|
+
};
|
|
15
|
+
REFUND_SUBSCRIPTION_ERROR: {
|
|
16
|
+
code: string;
|
|
17
|
+
message: string;
|
|
18
|
+
httpCode: number;
|
|
19
|
+
};
|
|
20
|
+
/** Полный refund применяется только к существующему личному пакету после сверки Apple. */
|
|
21
|
+
PRODUCT_REFUND_NOT_APPLICABLE: {
|
|
22
|
+
code: string;
|
|
23
|
+
message: string;
|
|
24
|
+
httpCode: number;
|
|
25
|
+
};
|
|
26
|
+
REFUND_PRODUCT_ERROR: {
|
|
27
|
+
code: string;
|
|
28
|
+
message: string;
|
|
29
|
+
httpCode: number;
|
|
30
|
+
};
|
|
31
|
+
/** Обычное истечение требует подтверждённого завершённого периода и уже учтённой оплаты. */
|
|
32
|
+
SUBSCRIPTION_EXPIRY_NOT_APPLICABLE: {
|
|
33
|
+
code: string;
|
|
34
|
+
message: string;
|
|
35
|
+
httpCode: number;
|
|
36
|
+
};
|
|
37
|
+
EXPIRE_SUBSCRIPTION_ERROR: {
|
|
38
|
+
code: string;
|
|
39
|
+
message: string;
|
|
40
|
+
httpCode: number;
|
|
41
|
+
};
|
|
42
|
+
/** Billing retry не подтверждает новую оплату и не даёт права применять grace-доступ. */
|
|
43
|
+
BILLING_RETRY_NOT_APPLICABLE: {
|
|
44
|
+
code: string;
|
|
45
|
+
message: string;
|
|
46
|
+
httpCode: number;
|
|
47
|
+
};
|
|
48
|
+
APPLY_BILLING_RETRY_ERROR: {
|
|
49
|
+
code: string;
|
|
50
|
+
message: string;
|
|
51
|
+
httpCode: number;
|
|
52
|
+
};
|
|
53
|
+
/** Настройку нельзя применить без уже учтённой действующей оплаты этой Apple-цепочки. */
|
|
54
|
+
RENEWAL_STATE_NOT_APPLICABLE: {
|
|
55
|
+
code: string;
|
|
56
|
+
message: string;
|
|
57
|
+
httpCode: number;
|
|
58
|
+
};
|
|
59
|
+
SYNC_RENEWAL_STATE_ERROR: {
|
|
60
|
+
code: string;
|
|
61
|
+
message: string;
|
|
62
|
+
httpCode: number;
|
|
63
|
+
};
|
|
64
|
+
NOTIFICATION_DEFERRED: {
|
|
65
|
+
code: string;
|
|
66
|
+
message: string;
|
|
67
|
+
httpCode: number;
|
|
68
|
+
};
|
|
69
|
+
NOTIFICATION_RETRYABLE: {
|
|
70
|
+
code: string;
|
|
71
|
+
message: string;
|
|
72
|
+
httpCode: number;
|
|
73
|
+
};
|
|
74
|
+
NOTIFICATION_CONFLICT: {
|
|
75
|
+
code: string;
|
|
76
|
+
message: string;
|
|
77
|
+
httpCode: number;
|
|
78
|
+
};
|
|
79
|
+
PROCESS_NOTIFICATION_ERROR: {
|
|
80
|
+
code: string;
|
|
81
|
+
message: string;
|
|
82
|
+
httpCode: number;
|
|
83
|
+
};
|
|
84
|
+
PERSIST_NOTIFICATION_ERROR: {
|
|
85
|
+
code: string;
|
|
86
|
+
message: string;
|
|
87
|
+
httpCode: number;
|
|
88
|
+
};
|
|
89
|
+
/** Для уведомления пока нет существующего неудалённого владельца с доказанной привязкой. */
|
|
90
|
+
NOTIFICATION_OWNER_UNRESOLVED: {
|
|
91
|
+
code: string;
|
|
92
|
+
message: string;
|
|
93
|
+
httpCode: number;
|
|
94
|
+
};
|
|
95
|
+
RESOLVE_NOTIFICATION_OWNER_ERROR: {
|
|
96
|
+
code: string;
|
|
97
|
+
message: string;
|
|
98
|
+
httpCode: number;
|
|
99
|
+
};
|
|
100
|
+
/** Отказ проверки подписи/формы уведомления; неподдержанный тип сам по себе не является этой ошибкой. */
|
|
101
|
+
INVALID_NOTIFICATION: {
|
|
102
|
+
code: string;
|
|
103
|
+
message: string;
|
|
104
|
+
httpCode: number;
|
|
105
|
+
};
|
|
106
|
+
VERIFY_NOTIFICATION_ERROR: {
|
|
107
|
+
code: string;
|
|
108
|
+
message: string;
|
|
109
|
+
httpCode: number;
|
|
110
|
+
};
|
|
111
|
+
SUBSCRIPTIONS_DISABLED: {
|
|
112
|
+
code: string;
|
|
113
|
+
message: string;
|
|
114
|
+
httpCode: number;
|
|
115
|
+
};
|
|
116
|
+
/** Проверенная покупка не подходит для первой выдачи текущего оплаченного периода. */
|
|
117
|
+
SUBSCRIPTION_NOT_APPLICABLE: {
|
|
118
|
+
code: string;
|
|
119
|
+
message: string;
|
|
120
|
+
httpCode: number;
|
|
121
|
+
};
|
|
122
|
+
SUBSCRIPTION_NOT_CONFIGURED: {
|
|
123
|
+
code: string;
|
|
124
|
+
message: string;
|
|
125
|
+
httpCode: number;
|
|
126
|
+
};
|
|
127
|
+
/** Чтение состояния не включено; сам verifier может работать без Server API credentials. */
|
|
128
|
+
SERVER_API_NOT_CONFIGURED: {
|
|
129
|
+
code: string;
|
|
130
|
+
message: string;
|
|
131
|
+
httpCode: number;
|
|
132
|
+
};
|
|
133
|
+
SERVER_API_UNAUTHORIZED: {
|
|
134
|
+
code: string;
|
|
135
|
+
message: string;
|
|
136
|
+
httpCode: number;
|
|
137
|
+
};
|
|
138
|
+
/** Включает отменённый по timeout запрос, ограничения частоты и временные ошибки Apple. */
|
|
139
|
+
SERVER_API_UNAVAILABLE: {
|
|
140
|
+
code: string;
|
|
141
|
+
message: string;
|
|
142
|
+
httpCode: number;
|
|
143
|
+
};
|
|
144
|
+
SUBSCRIPTION_NOT_FOUND: {
|
|
145
|
+
code: string;
|
|
146
|
+
message: string;
|
|
147
|
+
httpCode: number;
|
|
148
|
+
};
|
|
149
|
+
INVALID_SUBSCRIPTION_STATE: {
|
|
150
|
+
code: string;
|
|
151
|
+
message: string;
|
|
152
|
+
httpCode: number;
|
|
153
|
+
};
|
|
154
|
+
GET_SUBSCRIPTION_STATE_ERROR: {
|
|
155
|
+
code: string;
|
|
156
|
+
message: string;
|
|
157
|
+
httpCode: number;
|
|
158
|
+
};
|
|
159
|
+
INVALID_TRANSACTION_HISTORY: {
|
|
160
|
+
code: string;
|
|
161
|
+
message: string;
|
|
162
|
+
httpCode: number;
|
|
163
|
+
};
|
|
164
|
+
GET_TRANSACTION_HISTORY_ERROR: {
|
|
165
|
+
code: string;
|
|
166
|
+
message: string;
|
|
167
|
+
httpCode: number;
|
|
168
|
+
};
|
|
169
|
+
RECONCILIATION_INCOMPLETE: {
|
|
170
|
+
code: string;
|
|
171
|
+
message: string;
|
|
172
|
+
httpCode: number;
|
|
173
|
+
};
|
|
174
|
+
RECONCILE_SUBSCRIPTION_ERROR: {
|
|
175
|
+
code: string;
|
|
176
|
+
message: string;
|
|
177
|
+
httpCode: number;
|
|
178
|
+
};
|
|
179
|
+
INVALID_RENEWAL_INFO: {
|
|
180
|
+
code: string;
|
|
181
|
+
message: string;
|
|
182
|
+
httpCode: number;
|
|
183
|
+
};
|
|
184
|
+
VERIFY_RENEWAL_INFO_ERROR: {
|
|
185
|
+
code: string;
|
|
186
|
+
message: string;
|
|
187
|
+
httpCode: number;
|
|
188
|
+
};
|
|
189
|
+
/** Обработка ещё не начиналась: бюджет массива исчерпан либо проверка Apple временно недоступна. */
|
|
190
|
+
TRANSACTION_NOT_PROCESSED: {
|
|
191
|
+
code: string;
|
|
192
|
+
message: string;
|
|
193
|
+
httpCode: number;
|
|
194
|
+
};
|
|
195
|
+
/** Подпись настоящая, но покупка не связана с текущим аккаунтом ruGPT. */
|
|
196
|
+
ACCOUNT_MISMATCH: {
|
|
197
|
+
code: string;
|
|
198
|
+
message: string;
|
|
199
|
+
httpCode: number;
|
|
200
|
+
};
|
|
201
|
+
/** Проверенная покупка выходит за поддержанный сценарий текущего обработчика. */
|
|
202
|
+
UNSUPPORTED_PURCHASE: {
|
|
203
|
+
code: string;
|
|
204
|
+
message: string;
|
|
205
|
+
httpCode: number;
|
|
206
|
+
};
|
|
207
|
+
REVOKED_TRANSACTION: {
|
|
208
|
+
code: string;
|
|
209
|
+
message: string;
|
|
210
|
+
httpCode: number;
|
|
211
|
+
};
|
|
212
|
+
/** ID уже сохранён, но подтверждения именно этой выдачи нет; повторно начислять опасно. */
|
|
213
|
+
TRANSACTION_CONFLICT: {
|
|
214
|
+
code: string;
|
|
215
|
+
message: string;
|
|
216
|
+
httpCode: number;
|
|
217
|
+
};
|
|
218
|
+
/** Отсутствующие данные не подменяются нулевой ценой или рублями. */
|
|
219
|
+
MISSING_PRICE: {
|
|
220
|
+
code: string;
|
|
221
|
+
message: string;
|
|
222
|
+
httpCode: number;
|
|
223
|
+
};
|
|
224
|
+
PRODUCT_NOT_CONFIGURED: {
|
|
225
|
+
code: string;
|
|
226
|
+
message: string;
|
|
227
|
+
httpCode: number;
|
|
228
|
+
};
|
|
229
|
+
APPLY_TRANSACTION_ERROR: {
|
|
230
|
+
code: string;
|
|
231
|
+
message: string;
|
|
232
|
+
httpCode: number;
|
|
233
|
+
};
|
|
234
|
+
/** Серверный verifier выключен; не является отказом Apple в оплате. */
|
|
235
|
+
VERIFICATION_NOT_CONFIGURED: {
|
|
236
|
+
code: string;
|
|
237
|
+
message: string;
|
|
238
|
+
httpCode: number;
|
|
239
|
+
};
|
|
240
|
+
/** Неверная подпись/сертификаты либо неполные или неподдерживаемые данные подписанного payload. */
|
|
241
|
+
INVALID_TRANSACTION: {
|
|
242
|
+
code: string;
|
|
243
|
+
message: string;
|
|
244
|
+
httpCode: number;
|
|
245
|
+
};
|
|
246
|
+
/** bundleId покупки не совпал с нашим приложением; это не проверка владельца ruGPT. */
|
|
247
|
+
APP_MISMATCH: {
|
|
248
|
+
code: string;
|
|
249
|
+
message: string;
|
|
250
|
+
httpCode: number;
|
|
251
|
+
};
|
|
252
|
+
/** Среда покупки не совпала с явно выбранной сервером: Sandbox или Production. */
|
|
253
|
+
ENVIRONMENT_MISMATCH: {
|
|
254
|
+
code: string;
|
|
255
|
+
message: string;
|
|
256
|
+
httpCode: number;
|
|
257
|
+
};
|
|
258
|
+
/** Временный сбой проверки сертификатов; повтор допустим, неподлинность покупки не установлена. */
|
|
259
|
+
VERIFICATION_UNAVAILABLE: {
|
|
260
|
+
code: string;
|
|
261
|
+
message: string;
|
|
262
|
+
httpCode: number;
|
|
263
|
+
};
|
|
264
|
+
/** Неожиданный сбой адаптера; подробности SDK не должны попадать в ответ клиенту. */
|
|
265
|
+
VERIFY_TRANSACTION_ERROR: {
|
|
266
|
+
code: string;
|
|
267
|
+
message: string;
|
|
268
|
+
httpCode: number;
|
|
269
|
+
};
|
|
270
|
+
GET_PRODUCTS_ERROR: {
|
|
271
|
+
code: string;
|
|
272
|
+
message: string;
|
|
273
|
+
httpCode: number;
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
PUSH_CAMPAIGN: {
|
|
277
|
+
FIND_STATISTICS_ERROR: {
|
|
278
|
+
code: string;
|
|
279
|
+
message: string;
|
|
280
|
+
httpCode: number;
|
|
281
|
+
};
|
|
282
|
+
START_RUN_ERROR: {
|
|
283
|
+
code: string;
|
|
284
|
+
message: string;
|
|
285
|
+
httpCode: number;
|
|
286
|
+
};
|
|
287
|
+
RUN_ERROR: {
|
|
288
|
+
code: string;
|
|
289
|
+
message: string;
|
|
290
|
+
httpCode: number;
|
|
291
|
+
};
|
|
292
|
+
PROCESS_ERROR: {
|
|
293
|
+
code: string;
|
|
294
|
+
message: string;
|
|
295
|
+
httpCode: number;
|
|
296
|
+
};
|
|
297
|
+
READ_EXECUTION_ERROR: {
|
|
298
|
+
code: string;
|
|
299
|
+
message: string;
|
|
300
|
+
httpCode: number;
|
|
301
|
+
};
|
|
302
|
+
START_ERROR: {
|
|
303
|
+
code: string;
|
|
304
|
+
message: string;
|
|
305
|
+
httpCode: number;
|
|
306
|
+
};
|
|
307
|
+
CHECKPOINT_ERROR: {
|
|
308
|
+
code: string;
|
|
309
|
+
message: string;
|
|
310
|
+
httpCode: number;
|
|
311
|
+
};
|
|
312
|
+
COMPLETE_ERROR: {
|
|
313
|
+
code: string;
|
|
314
|
+
message: string;
|
|
315
|
+
httpCode: number;
|
|
316
|
+
};
|
|
317
|
+
CHECK_DELIVERY_ERROR: {
|
|
318
|
+
code: string;
|
|
319
|
+
message: string;
|
|
320
|
+
httpCode: number;
|
|
321
|
+
};
|
|
322
|
+
SEND_RECIPIENT_ERROR: {
|
|
323
|
+
code: string;
|
|
324
|
+
message: string;
|
|
325
|
+
httpCode: number;
|
|
326
|
+
};
|
|
327
|
+
NOT_SENDING: {
|
|
328
|
+
code: string;
|
|
329
|
+
message: string;
|
|
330
|
+
httpCode: number;
|
|
331
|
+
};
|
|
332
|
+
RECIPIENT_USER_NOT_FOUND: {
|
|
333
|
+
code: string;
|
|
334
|
+
message: string;
|
|
335
|
+
httpCode: number;
|
|
336
|
+
};
|
|
337
|
+
PREPARE_RECIPIENT_ERROR: {
|
|
338
|
+
code: string;
|
|
339
|
+
message: string;
|
|
340
|
+
httpCode: number;
|
|
341
|
+
};
|
|
342
|
+
CHECK_ELIGIBILITY_ERROR: {
|
|
343
|
+
code: string;
|
|
344
|
+
message: string;
|
|
345
|
+
httpCode: number;
|
|
346
|
+
};
|
|
347
|
+
CANNOT_SCHEDULE: {
|
|
348
|
+
code: string;
|
|
349
|
+
message: string;
|
|
350
|
+
httpCode: number;
|
|
351
|
+
};
|
|
352
|
+
INVALID_SCHEDULED_AT: {
|
|
353
|
+
code: string;
|
|
354
|
+
message: string;
|
|
355
|
+
httpCode: number;
|
|
356
|
+
};
|
|
357
|
+
CANNOT_CANCEL: {
|
|
358
|
+
code: string;
|
|
359
|
+
message: string;
|
|
360
|
+
httpCode: number;
|
|
361
|
+
};
|
|
362
|
+
SCHEDULE_ERROR: {
|
|
363
|
+
code: string;
|
|
364
|
+
message: string;
|
|
365
|
+
httpCode: number;
|
|
366
|
+
};
|
|
367
|
+
CANCEL_ERROR: {
|
|
368
|
+
code: string;
|
|
369
|
+
message: string;
|
|
370
|
+
httpCode: number;
|
|
371
|
+
};
|
|
372
|
+
SEND_TEST_ERROR: {
|
|
373
|
+
code: string;
|
|
374
|
+
message: string;
|
|
375
|
+
httpCode: number;
|
|
376
|
+
};
|
|
377
|
+
PREVIEW_AUDIENCE_ERROR: {
|
|
378
|
+
code: string;
|
|
379
|
+
message: string;
|
|
380
|
+
httpCode: number;
|
|
381
|
+
};
|
|
382
|
+
NOT_FOUND: {
|
|
383
|
+
code: string;
|
|
384
|
+
message: string;
|
|
385
|
+
httpCode: number;
|
|
386
|
+
};
|
|
387
|
+
NOT_EDITABLE: {
|
|
388
|
+
code: string;
|
|
389
|
+
message: string;
|
|
390
|
+
httpCode: number;
|
|
391
|
+
};
|
|
392
|
+
CREATE_ERROR: {
|
|
393
|
+
code: string;
|
|
394
|
+
message: string;
|
|
395
|
+
httpCode: number;
|
|
396
|
+
};
|
|
397
|
+
FIND_ERROR: {
|
|
398
|
+
code: string;
|
|
399
|
+
message: string;
|
|
400
|
+
httpCode: number;
|
|
401
|
+
};
|
|
402
|
+
FIND_MANY_ERROR: {
|
|
403
|
+
code: string;
|
|
404
|
+
message: string;
|
|
405
|
+
httpCode: number;
|
|
406
|
+
};
|
|
407
|
+
UPDATE_ERROR: {
|
|
408
|
+
code: string;
|
|
409
|
+
message: string;
|
|
410
|
+
httpCode: number;
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
PUSH_PROVIDER: {
|
|
414
|
+
GET_RECEIPTS_ERROR: {
|
|
415
|
+
code: string;
|
|
416
|
+
message: string;
|
|
417
|
+
httpCode: number;
|
|
418
|
+
};
|
|
419
|
+
SEND_ERROR: {
|
|
420
|
+
code: string;
|
|
421
|
+
message: string;
|
|
422
|
+
httpCode: number;
|
|
423
|
+
};
|
|
424
|
+
};
|
|
425
|
+
PUSH_MESSAGE: {
|
|
426
|
+
START_DAILY_REMINDERS_ERROR: {
|
|
427
|
+
code: string;
|
|
428
|
+
message: string;
|
|
429
|
+
httpCode: number;
|
|
430
|
+
};
|
|
431
|
+
RUN_DAILY_REMINDERS_ERROR: {
|
|
432
|
+
code: string;
|
|
433
|
+
message: string;
|
|
434
|
+
httpCode: number;
|
|
435
|
+
};
|
|
436
|
+
SEND_DAILY_REMINDER_ERROR: {
|
|
437
|
+
code: string;
|
|
438
|
+
message: string;
|
|
439
|
+
httpCode: number;
|
|
440
|
+
};
|
|
441
|
+
CHECK_DAILY_REMINDER_ERROR: {
|
|
442
|
+
code: string;
|
|
443
|
+
message: string;
|
|
444
|
+
httpCode: number;
|
|
445
|
+
};
|
|
446
|
+
PREPARE_DAILY_REMINDER_ERROR: {
|
|
447
|
+
code: string;
|
|
448
|
+
message: string;
|
|
449
|
+
httpCode: number;
|
|
450
|
+
};
|
|
451
|
+
SEND_TOOL_RESULT_ERROR: {
|
|
452
|
+
code: string;
|
|
453
|
+
message: string;
|
|
454
|
+
httpCode: number;
|
|
455
|
+
};
|
|
456
|
+
SEND_CHAT_ANSWER_ERROR: {
|
|
457
|
+
code: string;
|
|
458
|
+
message: string;
|
|
459
|
+
httpCode: number;
|
|
460
|
+
};
|
|
461
|
+
PREPARE_EVENT_ERROR: {
|
|
462
|
+
code: string;
|
|
463
|
+
message: string;
|
|
464
|
+
httpCode: number;
|
|
465
|
+
};
|
|
466
|
+
CHECK_RECEIPTS_ERROR: {
|
|
467
|
+
code: string;
|
|
468
|
+
message: string;
|
|
469
|
+
httpCode: number;
|
|
470
|
+
};
|
|
471
|
+
SEND_TEST_ERROR: {
|
|
472
|
+
code: string;
|
|
473
|
+
message: string;
|
|
474
|
+
httpCode: number;
|
|
475
|
+
};
|
|
476
|
+
NOT_FOUND: {
|
|
477
|
+
code: string;
|
|
478
|
+
message: string;
|
|
479
|
+
httpCode: number;
|
|
480
|
+
};
|
|
481
|
+
MARK_OPENED_ERROR: {
|
|
482
|
+
code: string;
|
|
483
|
+
message: string;
|
|
484
|
+
httpCode: number;
|
|
485
|
+
};
|
|
486
|
+
};
|
|
2
487
|
PARTNER_CODES: {
|
|
3
488
|
readonly ISSUE_REQUEST_CONFLICT: {
|
|
4
489
|
readonly code: "issue_request_conflict";
|
|
@@ -3149,6 +3634,11 @@ export declare const ERRORS: {
|
|
|
3149
3634
|
};
|
|
3150
3635
|
};
|
|
3151
3636
|
PAYMENT: {
|
|
3637
|
+
REFUND_NOT_SUPPORTED: {
|
|
3638
|
+
code: string;
|
|
3639
|
+
message: string;
|
|
3640
|
+
httpCode: number;
|
|
3641
|
+
};
|
|
3152
3642
|
CREATE_ERROR: {
|
|
3153
3643
|
code: string;
|
|
3154
3644
|
httpCode: number;
|
|
@@ -4067,6 +4557,16 @@ export declare const ERRORS: {
|
|
|
4067
4557
|
};
|
|
4068
4558
|
};
|
|
4069
4559
|
SUBSCRIPTION: {
|
|
4560
|
+
MANAGED_BY_APPLE: {
|
|
4561
|
+
code: string;
|
|
4562
|
+
message: string;
|
|
4563
|
+
httpCode: number;
|
|
4564
|
+
};
|
|
4565
|
+
ACTIVE_APPLE_SUBSCRIPTION: {
|
|
4566
|
+
code: string;
|
|
4567
|
+
message: string;
|
|
4568
|
+
httpCode: number;
|
|
4569
|
+
};
|
|
4070
4570
|
ALREADY_HAS: {
|
|
4071
4571
|
code: string;
|
|
4072
4572
|
httpCode: number;
|
|
@@ -7750,4 +8250,28 @@ export declare const ERRORS: {
|
|
|
7750
8250
|
httpCode: number;
|
|
7751
8251
|
};
|
|
7752
8252
|
};
|
|
8253
|
+
PUSH_DEVICE: {
|
|
8254
|
+
REGISTER_ERROR: {
|
|
8255
|
+
code: string;
|
|
8256
|
+
message: string;
|
|
8257
|
+
httpCode: number;
|
|
8258
|
+
};
|
|
8259
|
+
DELETE_ERROR: {
|
|
8260
|
+
code: string;
|
|
8261
|
+
message: string;
|
|
8262
|
+
httpCode: number;
|
|
8263
|
+
};
|
|
8264
|
+
};
|
|
8265
|
+
PUSH_SETTINGS: {
|
|
8266
|
+
FIND_ERROR: {
|
|
8267
|
+
code: string;
|
|
8268
|
+
message: string;
|
|
8269
|
+
httpCode: number;
|
|
8270
|
+
};
|
|
8271
|
+
UPDATE_ERROR: {
|
|
8272
|
+
code: string;
|
|
8273
|
+
message: string;
|
|
8274
|
+
httpCode: number;
|
|
8275
|
+
};
|
|
8276
|
+
};
|
|
7753
8277
|
};
|
package/build/errors/errors.js
CHANGED
|
@@ -2,6 +2,492 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ERRORS = void 0;
|
|
4
4
|
exports.ERRORS = {
|
|
5
|
+
/** Ошибки каталога и проверки App Store; успешная проверка подписи ещё не означает начисление. */
|
|
6
|
+
APPLE_IAP: {
|
|
7
|
+
/** Персональный запрет новой тестовой оплаты; не отказывает в replay уже выданной покупки. */
|
|
8
|
+
SANDBOX_ACCOUNT_NOT_ALLOWED: {
|
|
9
|
+
code: "APPLE_IAP.SANDBOX_ACCOUNT_NOT_ALLOWED",
|
|
10
|
+
message: "Тестовые покупки App Store недоступны для этого аккаунта",
|
|
11
|
+
httpCode: 403,
|
|
12
|
+
},
|
|
13
|
+
SUBSCRIPTION_REFUND_NOT_APPLICABLE: {
|
|
14
|
+
code: "APPLE_IAP.SUBSCRIPTION_REFUND_NOT_APPLICABLE",
|
|
15
|
+
message: "Состояние App Store пока не позволяет применить полный возврат подписки",
|
|
16
|
+
httpCode: 409,
|
|
17
|
+
},
|
|
18
|
+
REFUND_SUBSCRIPTION_ERROR: {
|
|
19
|
+
code: "APPLE_IAP.REFUND_SUBSCRIPTION_ERROR",
|
|
20
|
+
message: "Не удалось обработать возврат подписки App Store",
|
|
21
|
+
httpCode: 500,
|
|
22
|
+
},
|
|
23
|
+
/** Полный refund применяется только к существующему личному пакету после сверки Apple. */
|
|
24
|
+
PRODUCT_REFUND_NOT_APPLICABLE: {
|
|
25
|
+
code: "APPLE_IAP.PRODUCT_REFUND_NOT_APPLICABLE",
|
|
26
|
+
message: "Состояние App Store пока не позволяет применить полный возврат пакета звёзд",
|
|
27
|
+
httpCode: 409,
|
|
28
|
+
},
|
|
29
|
+
REFUND_PRODUCT_ERROR: {
|
|
30
|
+
code: "APPLE_IAP.REFUND_PRODUCT_ERROR",
|
|
31
|
+
message: "Не удалось обработать возврат пакета звёзд App Store",
|
|
32
|
+
httpCode: 500,
|
|
33
|
+
},
|
|
34
|
+
/** Обычное истечение требует подтверждённого завершённого периода и уже учтённой оплаты. */
|
|
35
|
+
SUBSCRIPTION_EXPIRY_NOT_APPLICABLE: {
|
|
36
|
+
code: "APPLE_IAP.SUBSCRIPTION_EXPIRY_NOT_APPLICABLE",
|
|
37
|
+
message: "Состояние App Store пока не позволяет завершить учтённый период подписки",
|
|
38
|
+
httpCode: 409,
|
|
39
|
+
},
|
|
40
|
+
EXPIRE_SUBSCRIPTION_ERROR: {
|
|
41
|
+
code: "APPLE_IAP.EXPIRE_SUBSCRIPTION_ERROR",
|
|
42
|
+
message: "Не удалось завершить истёкший период подписки App Store",
|
|
43
|
+
httpCode: 500,
|
|
44
|
+
},
|
|
45
|
+
/** Billing retry не подтверждает новую оплату и не даёт права применять grace-доступ. */
|
|
46
|
+
BILLING_RETRY_NOT_APPLICABLE: {
|
|
47
|
+
code: "APPLE_IAP.BILLING_RETRY_NOT_APPLICABLE",
|
|
48
|
+
message: "Состояние App Store пока не позволяет отметить неудачное продление подписки",
|
|
49
|
+
httpCode: 409,
|
|
50
|
+
},
|
|
51
|
+
APPLY_BILLING_RETRY_ERROR: {
|
|
52
|
+
code: "APPLE_IAP.APPLY_BILLING_RETRY_ERROR",
|
|
53
|
+
message: "Не удалось обработать неудачное продление подписки App Store",
|
|
54
|
+
httpCode: 500,
|
|
55
|
+
},
|
|
56
|
+
/** Настройку нельзя применить без уже учтённой действующей оплаты этой Apple-цепочки. */
|
|
57
|
+
RENEWAL_STATE_NOT_APPLICABLE: {
|
|
58
|
+
code: "APPLE_IAP.RENEWAL_STATE_NOT_APPLICABLE",
|
|
59
|
+
message: "Состояние App Store пока не позволяет обновить автопродление учтённой подписки",
|
|
60
|
+
httpCode: 409,
|
|
61
|
+
},
|
|
62
|
+
SYNC_RENEWAL_STATE_ERROR: {
|
|
63
|
+
code: "APPLE_IAP.SYNC_RENEWAL_STATE_ERROR",
|
|
64
|
+
message: "Не удалось обновить состояние автопродления подписки App Store",
|
|
65
|
+
httpCode: 500,
|
|
66
|
+
},
|
|
67
|
+
// Webhook D2/A: незавершённая доставка не подтверждается кодом 200.
|
|
68
|
+
NOTIFICATION_DEFERRED: {
|
|
69
|
+
code: "APPLE_IAP.NOTIFICATION_DEFERRED",
|
|
70
|
+
message: "Обработка уведомления Apple отложена до выполнения необходимых условий",
|
|
71
|
+
httpCode: 503,
|
|
72
|
+
},
|
|
73
|
+
NOTIFICATION_RETRYABLE: {
|
|
74
|
+
code: "APPLE_IAP.NOTIFICATION_RETRYABLE",
|
|
75
|
+
message: "Не удалось завершить обработку уведомления Apple, повторите доставку",
|
|
76
|
+
httpCode: 503,
|
|
77
|
+
},
|
|
78
|
+
NOTIFICATION_CONFLICT: {
|
|
79
|
+
code: "APPLE_IAP.NOTIFICATION_CONFLICT",
|
|
80
|
+
message: "Данные уведомления Apple противоречат сохранённым данным покупки или владельца",
|
|
81
|
+
httpCode: 409,
|
|
82
|
+
},
|
|
83
|
+
PROCESS_NOTIFICATION_ERROR: {
|
|
84
|
+
code: "APPLE_IAP.PROCESS_NOTIFICATION_ERROR",
|
|
85
|
+
message: "Не удалось обработать уведомление Apple",
|
|
86
|
+
httpCode: 500,
|
|
87
|
+
},
|
|
88
|
+
PERSIST_NOTIFICATION_ERROR: {
|
|
89
|
+
code: "APPLE_IAP.PERSIST_NOTIFICATION_ERROR",
|
|
90
|
+
message: "Не удалось сохранить результат доставки уведомления Apple",
|
|
91
|
+
httpCode: 503,
|
|
92
|
+
},
|
|
93
|
+
/** Для уведомления пока нет существующего неудалённого владельца с доказанной привязкой. */
|
|
94
|
+
NOTIFICATION_OWNER_UNRESOLVED: {
|
|
95
|
+
code: "APPLE_IAP.NOTIFICATION_OWNER_UNRESOLVED",
|
|
96
|
+
message: "Пока не удалось определить владельца уведомления App Store",
|
|
97
|
+
httpCode: 503,
|
|
98
|
+
},
|
|
99
|
+
RESOLVE_NOTIFICATION_OWNER_ERROR: {
|
|
100
|
+
code: "APPLE_IAP.RESOLVE_NOTIFICATION_OWNER_ERROR",
|
|
101
|
+
message: "Не удалось проверить владельца уведомления App Store",
|
|
102
|
+
httpCode: 500,
|
|
103
|
+
},
|
|
104
|
+
/** Отказ проверки подписи/формы уведомления; неподдержанный тип сам по себе не является этой ошибкой. */
|
|
105
|
+
INVALID_NOTIFICATION: {
|
|
106
|
+
code: "APPLE_IAP.INVALID_NOTIFICATION",
|
|
107
|
+
message: "Не удалось подтвердить уведомление App Store",
|
|
108
|
+
httpCode: 400,
|
|
109
|
+
},
|
|
110
|
+
VERIFY_NOTIFICATION_ERROR: {
|
|
111
|
+
code: "APPLE_IAP.VERIFY_NOTIFICATION_ERROR",
|
|
112
|
+
message: "Не удалось проверить уведомление App Store",
|
|
113
|
+
httpCode: 500,
|
|
114
|
+
},
|
|
115
|
+
SUBSCRIPTIONS_DISABLED: {
|
|
116
|
+
code: "APPLE_IAP.SUBSCRIPTIONS_DISABLED",
|
|
117
|
+
message: "Выдача подписок App Store временно недоступна",
|
|
118
|
+
httpCode: 503,
|
|
119
|
+
},
|
|
120
|
+
/** Проверенная покупка не подходит для первой выдачи текущего оплаченного периода. */
|
|
121
|
+
SUBSCRIPTION_NOT_APPLICABLE: {
|
|
122
|
+
code: "APPLE_IAP.SUBSCRIPTION_NOT_APPLICABLE",
|
|
123
|
+
message: "Покупка App Store не подтверждает доступный для выдачи оплаченный период подписки",
|
|
124
|
+
httpCode: 409,
|
|
125
|
+
},
|
|
126
|
+
SUBSCRIPTION_NOT_CONFIGURED: {
|
|
127
|
+
code: "APPLE_IAP.SUBSCRIPTION_NOT_CONFIGURED",
|
|
128
|
+
message: "Для подписки App Store не настроен тариф ruGPT",
|
|
129
|
+
httpCode: 503,
|
|
130
|
+
},
|
|
131
|
+
/** Чтение состояния не включено; сам verifier может работать без Server API credentials. */
|
|
132
|
+
SERVER_API_NOT_CONFIGURED: {
|
|
133
|
+
code: "APPLE_IAP.SERVER_API_NOT_CONFIGURED",
|
|
134
|
+
message: "Получение состояния подписок App Store не настроено",
|
|
135
|
+
httpCode: 503,
|
|
136
|
+
},
|
|
137
|
+
SERVER_API_UNAUTHORIZED: {
|
|
138
|
+
code: "APPLE_IAP.SERVER_API_UNAUTHORIZED",
|
|
139
|
+
message: "Не удалось авторизовать серверный запрос к App Store",
|
|
140
|
+
httpCode: 502,
|
|
141
|
+
},
|
|
142
|
+
/** Включает отменённый по timeout запрос, ограничения частоты и временные ошибки Apple. */
|
|
143
|
+
SERVER_API_UNAVAILABLE: {
|
|
144
|
+
code: "APPLE_IAP.SERVER_API_UNAVAILABLE",
|
|
145
|
+
message: "Состояние подписки App Store временно недоступно. Повторите попытку позже",
|
|
146
|
+
httpCode: 503,
|
|
147
|
+
},
|
|
148
|
+
SUBSCRIPTION_NOT_FOUND: {
|
|
149
|
+
code: "APPLE_IAP.SUBSCRIPTION_NOT_FOUND",
|
|
150
|
+
message: "Запрошенная подписка App Store не найдена",
|
|
151
|
+
httpCode: 404,
|
|
152
|
+
},
|
|
153
|
+
INVALID_SUBSCRIPTION_STATE: {
|
|
154
|
+
code: "APPLE_IAP.INVALID_SUBSCRIPTION_STATE",
|
|
155
|
+
message: "Не удалось подтвердить согласованное состояние подписки App Store",
|
|
156
|
+
httpCode: 502,
|
|
157
|
+
},
|
|
158
|
+
GET_SUBSCRIPTION_STATE_ERROR: {
|
|
159
|
+
code: "APPLE_IAP.GET_SUBSCRIPTION_STATE_ERROR",
|
|
160
|
+
message: "Не удалось получить состояние подписки App Store",
|
|
161
|
+
httpCode: 500,
|
|
162
|
+
},
|
|
163
|
+
INVALID_TRANSACTION_HISTORY: {
|
|
164
|
+
code: "APPLE_IAP.INVALID_TRANSACTION_HISTORY",
|
|
165
|
+
message: "Не удалось подтвердить полную и согласованную историю покупок App Store",
|
|
166
|
+
httpCode: 502,
|
|
167
|
+
},
|
|
168
|
+
GET_TRANSACTION_HISTORY_ERROR: {
|
|
169
|
+
code: "APPLE_IAP.GET_TRANSACTION_HISTORY_ERROR",
|
|
170
|
+
message: "Не удалось получить историю покупок App Store",
|
|
171
|
+
httpCode: 500,
|
|
172
|
+
},
|
|
173
|
+
RECONCILIATION_INCOMPLETE: {
|
|
174
|
+
code: "APPLE_IAP.RECONCILIATION_INCOMPLETE",
|
|
175
|
+
message: "Не удалось завершить сверку оплат подписки App Store",
|
|
176
|
+
httpCode: 503,
|
|
177
|
+
},
|
|
178
|
+
RECONCILE_SUBSCRIPTION_ERROR: {
|
|
179
|
+
code: "APPLE_IAP.RECONCILE_SUBSCRIPTION_ERROR",
|
|
180
|
+
message: "Не удалось восстановить оплату подписки App Store",
|
|
181
|
+
httpCode: 500,
|
|
182
|
+
},
|
|
183
|
+
INVALID_RENEWAL_INFO: {
|
|
184
|
+
code: "APPLE_IAP.INVALID_RENEWAL_INFO",
|
|
185
|
+
message: "Не удалось подтвердить сведения о продлении подписки App Store",
|
|
186
|
+
httpCode: 400,
|
|
187
|
+
},
|
|
188
|
+
VERIFY_RENEWAL_INFO_ERROR: {
|
|
189
|
+
code: "APPLE_IAP.VERIFY_RENEWAL_INFO_ERROR",
|
|
190
|
+
message: "Не удалось проверить сведения о продлении подписки App Store",
|
|
191
|
+
httpCode: 500,
|
|
192
|
+
},
|
|
193
|
+
/** Обработка ещё не начиналась: бюджет массива исчерпан либо проверка Apple временно недоступна. */
|
|
194
|
+
TRANSACTION_NOT_PROCESSED: {
|
|
195
|
+
code: "APPLE_IAP.TRANSACTION_NOT_PROCESSED",
|
|
196
|
+
message: "Покупка App Store пока не обработана. Повторите отправку позже",
|
|
197
|
+
httpCode: 503,
|
|
198
|
+
},
|
|
199
|
+
/** Подпись настоящая, но покупка не связана с текущим аккаунтом ruGPT. */
|
|
200
|
+
ACCOUNT_MISMATCH: {
|
|
201
|
+
code: "APPLE_IAP.ACCOUNT_MISMATCH",
|
|
202
|
+
message: "Покупка App Store относится к другому аккаунту или не содержит привязки к аккаунту",
|
|
203
|
+
httpCode: 403,
|
|
204
|
+
},
|
|
205
|
+
/** Проверенная покупка выходит за поддержанный сценарий текущего обработчика. */
|
|
206
|
+
UNSUPPORTED_PURCHASE: {
|
|
207
|
+
code: "APPLE_IAP.UNSUPPORTED_PURCHASE",
|
|
208
|
+
message: "Этот вид покупки App Store пока не поддерживается",
|
|
209
|
+
httpCode: 400,
|
|
210
|
+
},
|
|
211
|
+
REVOKED_TRANSACTION: {
|
|
212
|
+
code: "APPLE_IAP.REVOKED_TRANSACTION",
|
|
213
|
+
message: "Покупка App Store отозвана",
|
|
214
|
+
httpCode: 400,
|
|
215
|
+
},
|
|
216
|
+
/** ID уже сохранён, но подтверждения именно этой выдачи нет; повторно начислять опасно. */
|
|
217
|
+
TRANSACTION_CONFLICT: {
|
|
218
|
+
code: "APPLE_IAP.TRANSACTION_CONFLICT",
|
|
219
|
+
message: "Сохранённые данные покупки App Store требуют проверки",
|
|
220
|
+
httpCode: 409,
|
|
221
|
+
},
|
|
222
|
+
/** Отсутствующие данные не подменяются нулевой ценой или рублями. */
|
|
223
|
+
MISSING_PRICE: {
|
|
224
|
+
code: "APPLE_IAP.MISSING_PRICE",
|
|
225
|
+
message: "В покупке App Store отсутствуют сведения о цене или валюте",
|
|
226
|
+
httpCode: 400,
|
|
227
|
+
},
|
|
228
|
+
PRODUCT_NOT_CONFIGURED: {
|
|
229
|
+
code: "APPLE_IAP.PRODUCT_NOT_CONFIGURED",
|
|
230
|
+
message: "Для покупки App Store не настроен пакет ruGPT",
|
|
231
|
+
httpCode: 503,
|
|
232
|
+
},
|
|
233
|
+
APPLY_TRANSACTION_ERROR: {
|
|
234
|
+
code: "APPLE_IAP.APPLY_TRANSACTION_ERROR",
|
|
235
|
+
message: "Не удалось применить покупку App Store. Повторите попытку позже",
|
|
236
|
+
httpCode: 500,
|
|
237
|
+
},
|
|
238
|
+
/** Серверный verifier выключен; не является отказом Apple в оплате. */
|
|
239
|
+
VERIFICATION_NOT_CONFIGURED: {
|
|
240
|
+
code: "APPLE_IAP.VERIFICATION_NOT_CONFIGURED",
|
|
241
|
+
message: "Проверка покупок App Store не настроена",
|
|
242
|
+
httpCode: 503,
|
|
243
|
+
},
|
|
244
|
+
/** Неверная подпись/сертификаты либо неполные или неподдерживаемые данные подписанного payload. */
|
|
245
|
+
INVALID_TRANSACTION: {
|
|
246
|
+
code: "APPLE_IAP.INVALID_TRANSACTION",
|
|
247
|
+
message: "Не удалось подтвердить подлинность или данные покупки App Store",
|
|
248
|
+
httpCode: 400,
|
|
249
|
+
},
|
|
250
|
+
/** bundleId покупки не совпал с нашим приложением; это не проверка владельца ruGPT. */
|
|
251
|
+
APP_MISMATCH: {
|
|
252
|
+
code: "APPLE_IAP.APP_MISMATCH",
|
|
253
|
+
message: "Покупка App Store относится к другому приложению",
|
|
254
|
+
httpCode: 400,
|
|
255
|
+
},
|
|
256
|
+
/** Среда покупки не совпала с явно выбранной сервером: Sandbox или Production. */
|
|
257
|
+
ENVIRONMENT_MISMATCH: {
|
|
258
|
+
code: "APPLE_IAP.ENVIRONMENT_MISMATCH",
|
|
259
|
+
message: "Покупка App Store относится к другому окружению",
|
|
260
|
+
httpCode: 400,
|
|
261
|
+
},
|
|
262
|
+
/** Временный сбой проверки сертификатов; повтор допустим, неподлинность покупки не установлена. */
|
|
263
|
+
VERIFICATION_UNAVAILABLE: {
|
|
264
|
+
code: "APPLE_IAP.VERIFICATION_UNAVAILABLE",
|
|
265
|
+
message: "Проверка покупки App Store временно недоступна. Повторите попытку позже",
|
|
266
|
+
httpCode: 503,
|
|
267
|
+
},
|
|
268
|
+
/** Неожиданный сбой адаптера; подробности SDK не должны попадать в ответ клиенту. */
|
|
269
|
+
VERIFY_TRANSACTION_ERROR: {
|
|
270
|
+
code: "APPLE_IAP.VERIFY_TRANSACTION_ERROR",
|
|
271
|
+
message: "Не удалось проверить покупку App Store",
|
|
272
|
+
httpCode: 500,
|
|
273
|
+
},
|
|
274
|
+
GET_PRODUCTS_ERROR: {
|
|
275
|
+
code: "APPLE_IAP.GET_PRODUCTS_ERROR",
|
|
276
|
+
message: "Не удалось получить каталог покупок App Store",
|
|
277
|
+
httpCode: 500,
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
PUSH_CAMPAIGN: {
|
|
281
|
+
FIND_STATISTICS_ERROR: {
|
|
282
|
+
code: "PUSH_CAMPAIGN.FIND_STATISTICS_ERROR",
|
|
283
|
+
message: "Не удалось получить статистику push-кампаний",
|
|
284
|
+
httpCode: 500,
|
|
285
|
+
},
|
|
286
|
+
START_RUN_ERROR: {
|
|
287
|
+
code: "PUSH_CAMPAIGN.START_RUN_ERROR",
|
|
288
|
+
message: "Не удалось запустить обход push-кампаний",
|
|
289
|
+
httpCode: 500,
|
|
290
|
+
},
|
|
291
|
+
RUN_ERROR: {
|
|
292
|
+
code: "PUSH_CAMPAIGN.RUN_ERROR",
|
|
293
|
+
message: "Не удалось выполнить обход push-кампаний",
|
|
294
|
+
httpCode: 500,
|
|
295
|
+
},
|
|
296
|
+
PROCESS_ERROR: {
|
|
297
|
+
code: "PUSH_CAMPAIGN.PROCESS_ERROR",
|
|
298
|
+
message: "Не удалось обработать push-кампанию",
|
|
299
|
+
httpCode: 500,
|
|
300
|
+
},
|
|
301
|
+
READ_EXECUTION_ERROR: {
|
|
302
|
+
code: "PUSH_CAMPAIGN.READ_EXECUTION_ERROR",
|
|
303
|
+
message: "Не удалось прочитать очередь выполнения push-кампаний",
|
|
304
|
+
httpCode: 500,
|
|
305
|
+
},
|
|
306
|
+
START_ERROR: {
|
|
307
|
+
code: "PUSH_CAMPAIGN.START_ERROR",
|
|
308
|
+
message: "Не удалось начать выполнение push-кампании",
|
|
309
|
+
httpCode: 500,
|
|
310
|
+
},
|
|
311
|
+
CHECKPOINT_ERROR: {
|
|
312
|
+
code: "PUSH_CAMPAIGN.CHECKPOINT_ERROR",
|
|
313
|
+
message: "Не удалось сохранить позицию обхода push-кампании",
|
|
314
|
+
httpCode: 500,
|
|
315
|
+
},
|
|
316
|
+
COMPLETE_ERROR: {
|
|
317
|
+
code: "PUSH_CAMPAIGN.COMPLETE_ERROR",
|
|
318
|
+
message: "Не удалось завершить выполнение push-кампании",
|
|
319
|
+
httpCode: 500,
|
|
320
|
+
},
|
|
321
|
+
CHECK_DELIVERY_ERROR: {
|
|
322
|
+
code: "PUSH_CAMPAIGN.CHECK_DELIVERY_ERROR",
|
|
323
|
+
message: "Не удалось проверить готовые сообщения push-кампании перед отправкой",
|
|
324
|
+
httpCode: 500,
|
|
325
|
+
},
|
|
326
|
+
SEND_RECIPIENT_ERROR: {
|
|
327
|
+
code: "PUSH_CAMPAIGN.SEND_RECIPIENT_ERROR",
|
|
328
|
+
message: "Не удалось отправить уведомления получателю push-кампании",
|
|
329
|
+
httpCode: 500,
|
|
330
|
+
},
|
|
331
|
+
NOT_SENDING: {
|
|
332
|
+
code: "PUSH_CAMPAIGN.NOT_SENDING",
|
|
333
|
+
message: "Push-кампания не находится в процессе отправки",
|
|
334
|
+
httpCode: 409,
|
|
335
|
+
},
|
|
336
|
+
RECIPIENT_USER_NOT_FOUND: {
|
|
337
|
+
code: "PUSH_CAMPAIGN.RECIPIENT_USER_NOT_FOUND",
|
|
338
|
+
message: "Пользователь push-кампании не найден",
|
|
339
|
+
httpCode: 404,
|
|
340
|
+
},
|
|
341
|
+
PREPARE_RECIPIENT_ERROR: {
|
|
342
|
+
code: "PUSH_CAMPAIGN.PREPARE_RECIPIENT_ERROR",
|
|
343
|
+
message: "Не удалось подготовить получателя push-кампании",
|
|
344
|
+
httpCode: 500,
|
|
345
|
+
},
|
|
346
|
+
CHECK_ELIGIBILITY_ERROR: {
|
|
347
|
+
code: "PUSH_CAMPAIGN.CHECK_ELIGIBILITY_ERROR",
|
|
348
|
+
message: "Не удалось проверить условия отправки push-кампании",
|
|
349
|
+
httpCode: 500,
|
|
350
|
+
},
|
|
351
|
+
CANNOT_SCHEDULE: {
|
|
352
|
+
code: "PUSH_CAMPAIGN.CANNOT_SCHEDULE",
|
|
353
|
+
message: "Нельзя запланировать push-кампанию в её текущем состоянии",
|
|
354
|
+
httpCode: 409,
|
|
355
|
+
},
|
|
356
|
+
INVALID_SCHEDULED_AT: {
|
|
357
|
+
code: "PUSH_CAMPAIGN.INVALID_SCHEDULED_AT",
|
|
358
|
+
message: "Время отправки push-кампании не должно быть в прошлом",
|
|
359
|
+
httpCode: 400,
|
|
360
|
+
},
|
|
361
|
+
CANNOT_CANCEL: {
|
|
362
|
+
code: "PUSH_CAMPAIGN.CANNOT_CANCEL",
|
|
363
|
+
message: "Нельзя отменить завершённую push-кампанию",
|
|
364
|
+
httpCode: 409,
|
|
365
|
+
},
|
|
366
|
+
SCHEDULE_ERROR: {
|
|
367
|
+
code: "PUSH_CAMPAIGN.SCHEDULE_ERROR",
|
|
368
|
+
message: "Не удалось запланировать push-кампанию",
|
|
369
|
+
httpCode: 500,
|
|
370
|
+
},
|
|
371
|
+
CANCEL_ERROR: {
|
|
372
|
+
code: "PUSH_CAMPAIGN.CANCEL_ERROR",
|
|
373
|
+
message: "Не удалось отменить push-кампанию",
|
|
374
|
+
httpCode: 500,
|
|
375
|
+
},
|
|
376
|
+
SEND_TEST_ERROR: {
|
|
377
|
+
code: "PUSH_CAMPAIGN.SEND_TEST_ERROR",
|
|
378
|
+
message: "Не удалось отправить тест push-кампании",
|
|
379
|
+
httpCode: 500,
|
|
380
|
+
},
|
|
381
|
+
PREVIEW_AUDIENCE_ERROR: {
|
|
382
|
+
code: "PUSH_CAMPAIGN.PREVIEW_AUDIENCE_ERROR",
|
|
383
|
+
message: "Не удалось рассчитать аудиторию push-кампании",
|
|
384
|
+
httpCode: 500,
|
|
385
|
+
},
|
|
386
|
+
NOT_FOUND: {
|
|
387
|
+
code: "PUSH_CAMPAIGN.NOT_FOUND",
|
|
388
|
+
message: "Push-кампания не найдена",
|
|
389
|
+
httpCode: 404,
|
|
390
|
+
},
|
|
391
|
+
NOT_EDITABLE: {
|
|
392
|
+
code: "PUSH_CAMPAIGN.NOT_EDITABLE",
|
|
393
|
+
message: "Содержание push-кампании больше нельзя изменять",
|
|
394
|
+
httpCode: 409,
|
|
395
|
+
},
|
|
396
|
+
CREATE_ERROR: {
|
|
397
|
+
code: "PUSH_CAMPAIGN.CREATE_ERROR",
|
|
398
|
+
message: "Не удалось создать push-кампанию",
|
|
399
|
+
httpCode: 500,
|
|
400
|
+
},
|
|
401
|
+
FIND_ERROR: {
|
|
402
|
+
code: "PUSH_CAMPAIGN.FIND_ERROR",
|
|
403
|
+
message: "Не удалось получить push-кампанию",
|
|
404
|
+
httpCode: 500,
|
|
405
|
+
},
|
|
406
|
+
FIND_MANY_ERROR: {
|
|
407
|
+
code: "PUSH_CAMPAIGN.FIND_MANY_ERROR",
|
|
408
|
+
message: "Не удалось получить список push-кампаний",
|
|
409
|
+
httpCode: 500,
|
|
410
|
+
},
|
|
411
|
+
UPDATE_ERROR: {
|
|
412
|
+
code: "PUSH_CAMPAIGN.UPDATE_ERROR",
|
|
413
|
+
message: "Не удалось изменить push-кампанию",
|
|
414
|
+
httpCode: 500,
|
|
415
|
+
},
|
|
416
|
+
},
|
|
417
|
+
PUSH_PROVIDER: {
|
|
418
|
+
GET_RECEIPTS_ERROR: {
|
|
419
|
+
code: "PUSH_PROVIDER.GET_RECEIPTS_ERROR",
|
|
420
|
+
message: "Не удалось получить квитанции пуш-уведомлений",
|
|
421
|
+
httpCode: 500,
|
|
422
|
+
},
|
|
423
|
+
SEND_ERROR: {
|
|
424
|
+
code: "PUSH_PROVIDER.SEND_ERROR",
|
|
425
|
+
message: "Не удалось отправить пуш-уведомления",
|
|
426
|
+
httpCode: 500,
|
|
427
|
+
},
|
|
428
|
+
},
|
|
429
|
+
PUSH_MESSAGE: {
|
|
430
|
+
START_DAILY_REMINDERS_ERROR: {
|
|
431
|
+
code: "PUSH_MESSAGE.START_DAILY_REMINDERS_ERROR",
|
|
432
|
+
message: "Не удалось запустить обход напоминаний о сундуке дня",
|
|
433
|
+
httpCode: 500,
|
|
434
|
+
},
|
|
435
|
+
RUN_DAILY_REMINDERS_ERROR: {
|
|
436
|
+
code: "PUSH_MESSAGE.RUN_DAILY_REMINDERS_ERROR",
|
|
437
|
+
message: "Не удалось выполнить обход напоминаний о сундуке дня",
|
|
438
|
+
httpCode: 500,
|
|
439
|
+
},
|
|
440
|
+
SEND_DAILY_REMINDER_ERROR: {
|
|
441
|
+
code: "PUSH_MESSAGE.SEND_DAILY_REMINDER_ERROR",
|
|
442
|
+
message: "Не удалось отправить напоминание о сундуке дня",
|
|
443
|
+
httpCode: 500,
|
|
444
|
+
},
|
|
445
|
+
CHECK_DAILY_REMINDER_ERROR: {
|
|
446
|
+
code: "PUSH_MESSAGE.CHECK_DAILY_REMINDER_ERROR",
|
|
447
|
+
message: "Не удалось проверить условия напоминания о сундуке дня",
|
|
448
|
+
httpCode: 500,
|
|
449
|
+
},
|
|
450
|
+
PREPARE_DAILY_REMINDER_ERROR: {
|
|
451
|
+
code: "PUSH_MESSAGE.PREPARE_DAILY_REMINDER_ERROR",
|
|
452
|
+
message: "Не удалось подготовить напоминание о сундуке дня",
|
|
453
|
+
httpCode: 500,
|
|
454
|
+
},
|
|
455
|
+
SEND_TOOL_RESULT_ERROR: {
|
|
456
|
+
code: "PUSH_MESSAGE.SEND_TOOL_RESULT_ERROR",
|
|
457
|
+
message: "Не удалось отправить пуш-уведомления о результате инструмента",
|
|
458
|
+
httpCode: 500,
|
|
459
|
+
},
|
|
460
|
+
SEND_CHAT_ANSWER_ERROR: {
|
|
461
|
+
code: "PUSH_MESSAGE.SEND_CHAT_ANSWER_ERROR",
|
|
462
|
+
message: "Не удалось отправить пуш-уведомления о готовом ответе чата",
|
|
463
|
+
httpCode: 500,
|
|
464
|
+
},
|
|
465
|
+
PREPARE_EVENT_ERROR: {
|
|
466
|
+
code: "PUSH_MESSAGE.PREPARE_EVENT_ERROR",
|
|
467
|
+
message: "Не удалось подготовить пуш-уведомления о событии",
|
|
468
|
+
httpCode: 500,
|
|
469
|
+
},
|
|
470
|
+
CHECK_RECEIPTS_ERROR: {
|
|
471
|
+
code: "PUSH_MESSAGE.CHECK_RECEIPTS_ERROR",
|
|
472
|
+
message: "Не удалось проверить квитанции пуш-уведомлений",
|
|
473
|
+
httpCode: 500,
|
|
474
|
+
},
|
|
475
|
+
SEND_TEST_ERROR: {
|
|
476
|
+
code: "PUSH_MESSAGE.SEND_TEST_ERROR",
|
|
477
|
+
message: "Не удалось отправить тестовое пуш-уведомление",
|
|
478
|
+
httpCode: 500,
|
|
479
|
+
},
|
|
480
|
+
NOT_FOUND: {
|
|
481
|
+
code: "PUSH_MESSAGE.NOT_FOUND",
|
|
482
|
+
message: "Пуш-уведомление не найдено",
|
|
483
|
+
httpCode: 404,
|
|
484
|
+
},
|
|
485
|
+
MARK_OPENED_ERROR: {
|
|
486
|
+
code: "PUSH_MESSAGE.MARK_OPENED_ERROR",
|
|
487
|
+
message: "Не удалось отметить открытие пуш-уведомления",
|
|
488
|
+
httpCode: 500,
|
|
489
|
+
},
|
|
490
|
+
},
|
|
5
491
|
PARTNER_CODES: {
|
|
6
492
|
ISSUE_REQUEST_CONFLICT: {
|
|
7
493
|
code: "issue_request_conflict",
|
|
@@ -3152,6 +3638,11 @@ exports.ERRORS = {
|
|
|
3152
3638
|
},
|
|
3153
3639
|
},
|
|
3154
3640
|
PAYMENT: {
|
|
3641
|
+
REFUND_NOT_SUPPORTED: {
|
|
3642
|
+
code: "PAYMENT.REFUND_NOT_SUPPORTED",
|
|
3643
|
+
message: "Возврат этой покупки оформляется через App Store",
|
|
3644
|
+
httpCode: 409,
|
|
3645
|
+
},
|
|
3155
3646
|
CREATE_ERROR: {
|
|
3156
3647
|
code: "PAYMENT.CREATE_ERROR",
|
|
3157
3648
|
httpCode: 500,
|
|
@@ -4070,6 +4561,16 @@ exports.ERRORS = {
|
|
|
4070
4561
|
},
|
|
4071
4562
|
},
|
|
4072
4563
|
SUBSCRIPTION: {
|
|
4564
|
+
MANAGED_BY_APPLE: {
|
|
4565
|
+
code: "SUBSCRIPTION.MANAGED_BY_APPLE",
|
|
4566
|
+
message: "Управляйте этой подпиской в настройках подписок Apple",
|
|
4567
|
+
httpCode: 409,
|
|
4568
|
+
},
|
|
4569
|
+
ACTIVE_APPLE_SUBSCRIPTION: {
|
|
4570
|
+
code: "SUBSCRIPTION.ACTIVE_APPLE_SUBSCRIPTION",
|
|
4571
|
+
message: "Перед покупкой тарифа на сайте отключите автопродление подписки Apple",
|
|
4572
|
+
httpCode: 409,
|
|
4573
|
+
},
|
|
4073
4574
|
ALREADY_HAS: {
|
|
4074
4575
|
code: "SUBSCRIPTION.ALREADY_HAS",
|
|
4075
4576
|
httpCode: 409,
|
|
@@ -7753,4 +8254,28 @@ exports.ERRORS = {
|
|
|
7753
8254
|
httpCode: 500,
|
|
7754
8255
|
},
|
|
7755
8256
|
},
|
|
8257
|
+
PUSH_DEVICE: {
|
|
8258
|
+
REGISTER_ERROR: {
|
|
8259
|
+
code: "PUSH_DEVICE.REGISTER_ERROR",
|
|
8260
|
+
message: "Не удалось зарегистрировать устройство для пуш-уведомлений",
|
|
8261
|
+
httpCode: 500,
|
|
8262
|
+
},
|
|
8263
|
+
DELETE_ERROR: {
|
|
8264
|
+
code: "PUSH_DEVICE.DELETE_ERROR",
|
|
8265
|
+
message: "Не удалось удалить устройство для пуш-уведомлений",
|
|
8266
|
+
httpCode: 500,
|
|
8267
|
+
},
|
|
8268
|
+
},
|
|
8269
|
+
PUSH_SETTINGS: {
|
|
8270
|
+
FIND_ERROR: {
|
|
8271
|
+
code: "PUSH_SETTINGS.FIND_ERROR",
|
|
8272
|
+
message: "Не удалось получить настройки пуш-уведомлений",
|
|
8273
|
+
httpCode: 500,
|
|
8274
|
+
},
|
|
8275
|
+
UPDATE_ERROR: {
|
|
8276
|
+
code: "PUSH_SETTINGS.UPDATE_ERROR",
|
|
8277
|
+
message: "Не удалось обновить настройки пуш-уведомлений",
|
|
8278
|
+
httpCode: 500,
|
|
8279
|
+
},
|
|
8280
|
+
},
|
|
7756
8281
|
};
|