diff --git a/lib/ItemCode.js b/lib/ItemCode.js index 356e475..c1a18d2 100644 --- a/lib/ItemCode.js +++ b/lib/ItemCode.js @@ -6,9 +6,13 @@ class ItemCode { constructor(order) { this.id = order.id; this.inn = order.inn; + if (order.group) this.group = order.group; if (order.key) this.key = order.key; if (order.callbackUrl) this.callbackUrl = order.callbackUrl; + if (order.meta) this.meta = order.meta; + if (order.ignoreItemCodeCheck) this.ignoreItemCodeCheck = order.ignoreItemCodeCheck; + this.content = { plannedStatus: order.plannedStatus, itemCode: order.itemCode, diff --git a/lib/errors.js b/lib/errors.js index fcbf7c2..19160bd 100644 --- a/lib/errors.js +++ b/lib/errors.js @@ -3,7 +3,7 @@ const ORANGE_API_ERRORS = { 401: 'Клиентский сертификат не прошел проверку', 409: 'Чек с данным идентификатором уже был создан в системе', 400: 'Некорректный запрос', - 503: 'Очередь документов переполнена, в ответе возвращается хидер Retry-After с таймаутом в секундах', + 503: 'Очередь документов переполнена, повторите попытку позже', }; class OrangeDataError extends Error { diff --git a/lib/validation/schemes.js b/lib/validation/schemes.js index ff97895..201de62 100644 --- a/lib/validation/schemes.js +++ b/lib/validation/schemes.js @@ -264,14 +264,22 @@ const correction12 = { }; const itemCode = { - plannedStatus: [required, integer, minValue(0), maxValue(256)], - itemCode: [required, maxLength(223)], - quantityMeasurementUnit: [integer, minValue(0), maxValue(255)], - quantity: [decimal(6)], - fractionalQuantity: [createValidator({ - numerator: [integer], - denominator: [integer], + id: [required, maxLength(64)], + inn: [required, inn], + group: [maxLength(32)], + key: [maxLength(32)], + content: [createValidator({ + plannedStatus: [required, integer, minValue(0), maxValue(256)], + itemCode: [required, maxLength(223)], + quantityMeasurementUnit: [integer, minValue(0), maxValue(255)], + quantity: [decimal(6)], + fractionalQuantity: [createValidator({ + numerator: [integer], + denominator: [integer], + })], })], + callbackUrl: [maxLength(1024)], + meta: [maxLength(128)], }; module.exports.serviceOptions = serviceOptions;