NAV Navigation
Shell

IHM on Nirva software cloud v3.10.3

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

IHM on Nirva software cloud

Base URLs:

Authentication method

Authentication

Authentication to the service, then Authorize the token (green upper left button)

authenticate

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/authentication/authenticate \ -H 'Content-Type: application/json' \ -H 'Accept: application/json'

POST /authentication/authenticate

Authenticate user/password to get a token

Branding is detected from the authority part of the back-end server URL (host:port)

Body parameter

{ "type": "object", "properties": { "login": { "type": "string", "example": "admin" }, "password": { "type": "string", "example": "123" } }}

Parameters

NameInTypeRequiredDescription
withProfileDetailquerystringfalsetrue or false to get the services
loginbodystringfalsenone
passwordbodystringfalsenone

Enumerated Values

ParameterValue
withProfileDetailtrue
withProfileDetailfalse

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "authToken": { "type": "string", "example": "341DDE1C0699452B8E1A74C1B119D82D381DC84771A4065CB53157786B5D4D3B" }, "authTokenExpirationDate": { "type": "string", "example": "1519837961835" }, "user": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationDate": { "type": "integer", "format": "int64", "readOnly": true }, "profile": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "organizationalUnit": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "login or displayable name" } }, "description": "In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object" }, "name": { "type": "string" }, "roleName": { "type": "string", "description": "name of RoleTemplaate or [CUSTOM]" }, "permissions": { "type": "integer", "description": "Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)" }, "permissionsOnGroup": { "type": "integer", "description": "Permissions on Group (for Goup validator)" }, "permissionsOnOU": { "type": "integer", "description": "Permissions on OrganizationalUnit (bit 3 is ADMIN_USER, bit 4 is ADMIN_SERVICE, bit 16 is ADMIN_CHILDREN OrganizationalUnits, bit 29 is SUPER_ADMIN_VIEW, bit 30 is SUPER_ADMIN)" } }, "description": "field can be null id super admin" }, "login": { "type": "string" }, "password": { "type": "string", "format": "password" }, "lastPasswordUpdate": { "type": "integer", "format": "int64", "readOnly": true }, "allowAddresses": { "type": "string", "description": "Optional comma-separated list of allowed IP address matcher (Unique address, CIDR prefix notation or range) Ex. \"1.2.3.4, 2000:ABCD:789::1/56, 10.0.10.1-10.0.11.3\". If null, all source IP addresses allowed for this User ; sensitive data filtered out for non Super-Admin view" }, "title": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "emailAddress": { "type": "string", "format": "email" }, "phoneNumber": { "type": "string" }, "mobileNumber": { "type": "string" }, "locale": { "type": "string", "description": "fr-FR" }, "allowEMailNotifications": { "type": "boolean", "description": "allow generation of e-mail notifications for this User" }, "uipreferences": { "type": "object", "description": "Opaque JSON node used by Front-end GUI" }, "enable": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" }, "group": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "login or displayable name" } }, "description": "In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object" }, "passwordExpireDays": { "type": "integer", "description": "Number of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.", "readOnly": true }, "creationLink": { "type": "string", "description": "If not null, send a \"creation email\" to the User with this link to invite him to init his password. \"password\" parameter must be null (back-end will use a random password untill the created User trig the lost-password operation)", "writeOnly": true } } }, "organizationalUnit": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationdate": { "type": "integer", "format": "int64", "readOnly": true }, "accountIdentifier": { "type": "string", "description": "Only ASCII 0-9 A-Z a-z and -._~" }, "name": { "type": "string" }, "branding": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "login or displayable name" } }, "description": "In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object" }, "parent": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "login or displayable name" } }, "description": "In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object" }, "allowOUChildren": { "type": "boolean" }, "freezeDelayDays": { "type": "integer" }, "fileDelayDays": { "type": "integer" }, "dataDelayDays": { "type": "integer" }, "accountingCode": { "type": "string" }, "productionCode": { "type": "string" }, "partnerCode": { "type": "string" }, "billingType": { "type": "string" }, "defaultMailCountry": { "type": "string" }, "minPasswordEntropy": { "type": "integer", "description": "Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0", "format": "int32" }, "maxPasswordValidityDays": { "type": "integer", "description": "Maximum number of days between password change by User ; only checked if > 0", "format": "int32" }, "properties": { "type": "object", "properties": { "emailAddress": { "type": "string" }, "senderAddress": { "type": "object", "properties": { "addressLines": { "type": "string" }, "countryCode": { "type": "string" } }, "description": "PostalAddress: addressLines separated by \\n. countryCode with 2 chars" }, "returnAddress": { "type": "object", "properties": { "addressLines": { "type": "string" }, "countryCode": { "type": "string" } }, "description": "PostalAddress: addressLines separated by \\n. countryCode with 2 chars" }, "siret": { "type": "string" }, "controlledValues": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "elements": { "type": "array", "items": { "type": "object", "properties": { "value": { "type": "string", "description": "Technical value (must NOT be empty)" }, "label": { "type": "string", "description": "User-friendly label (must NOT be null), can be equal to value" } } } }, "allowFreeValue": { "type": "boolean", "description": "If true, user can enter a metadat value outside the elements list" } }, "description": "Can be used as ControlledValueMetadata in Service Metadata" } } } }, "enabled": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" } }, "description": "Note: parent parameter can be NULL if root OU" }, "services": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer" }, "type": { "type": "string", "enum": [ "SIMPLE_UNIQUE", "SIMPLE_MULTIPLE", "PREPROCESSING_UNIQUE", "PREPROCESSING", "ADVANCED" ] }, "name": { "type": "string" }, "organizationalUnit": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "login or displayable name" } }, "description": "In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object" }, "properties": { "type": "object", "properties": { "description": { "type": "string" }, "iconColor": { "type": "object", "properties": { "r": { "type": "integer" }, "g": { "type": "integer" }, "b": { "type": "integer" }, "a": { "type": "number", "format": "float" } }, "description": "Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0" }, "iconName": { "type": "string" }, "boxes": { "type": "array", "items": { "discriminator": { "propertyName": "@type", "mapping": { "box.PDF": "#/components/schemas/BoxDoc", "box.DATA_FILE": "#/components/schemas/BoxDataFile", "box.ARCHIVE": "#/components/schemas/BoxArchive" } }, "oneOf": [ { "allOf": [ { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "box.PDF", "box.DATA_FILE", "box.ARCHIVE" ] }, "name": { "type": "string" }, "label": { "type": "string" }, "hidden": { "type": "boolean", "description": "If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden" }, "minElements": { "type": "integer" }, "maxElements": { "type": "integer" } } }, { "required": [ "configuredFiles", "main", "metadatas", "parent", "reconcile" ], "type": "object", "properties": { "main": { "type": "boolean", "description": "true if MAIN ; false if ATTACHMENT" }, "parent": { "type": "object", "properties": { "boxName": { "type": "string", "description": "Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service" }, "fileMatcher": { "discriminator": { "propertyName": "@type", "mapping": { "exb.Boolean": "#/components/schemas/BooleanExpressionConstant", "exb.AND": "#/components/schemas/BooleanExpressionAndOr", "exb.OR": "#/components/schemas/BooleanExpressionAndOr", "exb.NOT": "#/components/schemas/BooleanExpressionNot", "exb.ContentEqual": "#/components/schemas/BooleanExpressionStrEqual", "exb.LessThan": "#/components/schemas/BooleanExpressionNumeric", "exb.LessThanOrEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.NumericEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.StrContains": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrStartsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrEndsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrMatches": "#/components/schemas/BooleanExpressionStrMatches" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith" ] } } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.StrMatches" ] }, "expr": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "regExpPattern": { "type": "string", "description": "valid Regular Expression to check the value against" }, "matchWhole": { "type": "boolean", "description": "if set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value." } } } ] } ] }, "rank": { "type": "integer", "description": "Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)" } }, "description": "Allow an AbstractInflatedBox (Doc or DataFile) to retrieve its files from a BoxArchive (Zip) ; 'fileMatcher' boolean expression can use ArchiveFileRelativePathnameValue \"exv.ArchiveFileRelativePathname\" to match a file from its relative pathname in Zip" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "persist": { "type": "boolean" }, "editable": { "type": "boolean" }, "content": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } }, "description": "The content is an expression to extract the metadata value. Constraints on the content are: References are the name of the metadatas. Only the metadatas of the current box or metadatas of MAIN boxes (if the current box is not a MAIN box) are allowed. The Box configuration in Expression must match the box in which it is configured. Example: if the box is a MAIN box, fromMain must be set to true. If the box is not a MAIN box, fromMain must be set to false and boxName to the value of this box." } }, "reconcile": { "required": [ "condition" ], "type": "object", "properties": { "condition": { "discriminator": { "propertyName": "@type", "mapping": { "exb.Boolean": "#/components/schemas/BooleanExpressionConstant", "exb.AND": "#/components/schemas/BooleanExpressionAndOr", "exb.OR": "#/components/schemas/BooleanExpressionAndOr", "exb.NOT": "#/components/schemas/BooleanExpressionNot", "exb.ContentEqual": "#/components/schemas/BooleanExpressionStrEqual", "exb.LessThan": "#/components/schemas/BooleanExpressionNumeric", "exb.LessThanOrEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.NumericEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.StrContains": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrStartsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrEndsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrMatches": "#/components/schemas/BooleanExpressionStrMatches" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith" ] } } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.StrMatches" ] }, "expr": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "regExpPattern": { "type": "string", "description": "valid Regular Expression to check the value against" }, "matchWhole": { "type": "boolean", "description": "if set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value." } } } ] } ] }, "minExpected": { "type": "integer", "description": "default 0. Cannot be negative." }, "maxExpected": { "type": "integer", "description": "default -1. Can only be strictly positive or -1." }, "minMatches": { "type": "integer", "description": "default 0. Cannot be negative." }, "maxMatches": { "type": "integer", "description": "default 1. Can only be strictly positive or -1." } } }, "configuredFiles": { "type": "array", "items": { "type": "object", "properties": { "serviceFileId": { "type": "string", "description": "UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)" }, "removable": { "type": "boolean", "description": "if false this ConfiguredFile is mandatory on Job creation" } } } } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "box.PDF" ] }, "splitConfig": { "discriminator": { "propertyName": "@type", "mapping": { "bsc.NONE": "#/components/schemas/BoxSplitConfigurationNone", "bsc.PAGE": "#/components/schemas/BoxSplitConfigurationPage", "bsc.PDF_AREA": "#/components/schemas/BoxSplitConfigurationPDFArea" } }, "oneOf": [ { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string", "enum": [ "bsc.NONE", "bsc.PAGE", "bsc.PDF_AREA" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string", "enum": [ "bsc.NONE", "bsc.PAGE", "bsc.PDF_AREA" ] } } }, { "required": [ "pages" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.PAGE" ] }, "pages": { "type": "integer" } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string", "enum": [ "bsc.NONE", "bsc.PAGE", "bsc.PDF_AREA" ] } } }, { "required": [ "area", "pages", "value" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.PDF_AREA" ] }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "value": { "type": "string" }, "pages": { "type": "integer" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] } ] }, "hasAddressPage": { "type": "boolean" }, "appositions": { "type": "array", "items": { "required": [ "@type", "background", "editable", "id", "serializedPageFilter", "targetType" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bap.Overlay", "bap.Image" ] }, "id": { "type": "string", "description": "Identifier of this Apposition (integer or UUID or null for creation of a new Apposition)" }, "targetType": { "type": "string", "enum": [ "ADDRESS_PAGE", "DOCUMENT", "COMPOSED_DOCUMENT" ] }, "serializedPageFilter": { "type": "string", "description": "Same as ServiceChannelOutputFileCompositionAppositionBase" }, "background": { "type": "boolean" }, "editable": { "type": "boolean" }, "serviceFileId": { "type": "string", "description": "optional, id of the ServiceFile in the list of ServiceFiles of the Service" } } } } } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "box.PDF", "box.DATA_FILE", "box.ARCHIVE" ] }, "name": { "type": "string" }, "label": { "type": "string" }, "hidden": { "type": "boolean", "description": "If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden" }, "minElements": { "type": "integer" }, "maxElements": { "type": "integer" } } }, { "required": [ "configuredFiles", "main", "metadatas", "parent", "reconcile" ], "type": "object", "properties": { "main": { "type": "boolean", "description": "true if MAIN ; false if ATTACHMENT" }, "parent": { "type": "object", "properties": { "boxName": { "type": "string", "description": "Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service" }, "fileMatcher": { "discriminator": { "propertyName": "@type", "mapping": { "exb.Boolean": "#/components/schemas/BooleanExpressionConstant", "exb.AND": "#/components/schemas/BooleanExpressionAndOr", "exb.OR": "#/components/schemas/BooleanExpressionAndOr", "exb.NOT": "#/components/schemas/BooleanExpressionNot", "exb.ContentEqual": "#/components/schemas/BooleanExpressionStrEqual", "exb.LessThan": "#/components/schemas/BooleanExpressionNumeric", "exb.LessThanOrEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.NumericEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.StrContains": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrStartsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrEndsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrMatches": "#/components/schemas/BooleanExpressionStrMatches" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith" ] } } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.StrMatches" ] }, "expr": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "regExpPattern": { "type": "string", "description": "valid Regular Expression to check the value against" }, "matchWhole": { "type": "boolean", "description": "if set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value." } } } ] } ] }, "rank": { "type": "integer", "description": "Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)" } }, "description": "Allow an AbstractInflatedBox (Doc or DataFile) to retrieve its files from a BoxArchive (Zip) ; 'fileMatcher' boolean expression can use ArchiveFileRelativePathnameValue \"exv.ArchiveFileRelativePathname\" to match a file from its relative pathname in Zip" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "persist": { "type": "boolean" }, "editable": { "type": "boolean" }, "content": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } }, "description": "The content is an expression to extract the metadata value. Constraints on the content are: References are the name of the metadatas. Only the metadatas of the current box or metadatas of MAIN boxes (if the current box is not a MAIN box) are allowed. The Box configuration in Expression must match the box in which it is configured. Example: if the box is a MAIN box, fromMain must be set to true. If the box is not a MAIN box, fromMain must be set to false and boxName to the value of this box." } }, "reconcile": { "required": [ "condition" ], "type": "object", "properties": { "condition": { "discriminator": { "propertyName": "@type", "mapping": { "exb.Boolean": "#/components/schemas/BooleanExpressionConstant", "exb.AND": "#/components/schemas/BooleanExpressionAndOr", "exb.OR": "#/components/schemas/BooleanExpressionAndOr", "exb.NOT": "#/components/schemas/BooleanExpressionNot", "exb.ContentEqual": "#/components/schemas/BooleanExpressionStrEqual", "exb.LessThan": "#/components/schemas/BooleanExpressionNumeric", "exb.LessThanOrEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.NumericEqual": "#/components/schemas/BooleanExpressionNumeric", "exb.StrContains": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrStartsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrEndsWith": "#/components/schemas/BooleanExpressionStrEqual", "exb.StrMatches": "#/components/schemas/BooleanExpressionStrMatches" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith" ] } } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] }, "expr1": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "expr2": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean", "exb.AND", "exb.OR", "exb.NOT", "exb.ContentEqual", "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith", "exb.StrMatches" ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.StrMatches" ] }, "expr": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "regExpPattern": { "type": "string", "description": "valid Regular Expression to check the value against" }, "matchWhole": { "type": "boolean", "description": "if set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value." } } } ] } ] }, "minExpected": { "type": "integer", "description": "default 0. Cannot be negative." }, "maxExpected": { "type": "integer", "description": "default -1. Can only be strictly positive or -1." }, "minMatches": { "type": "integer", "description": "default 0. Cannot be negative." }, "maxMatches": { "type": "integer", "description": "default 1. Can only be strictly positive or -1." } } }, "configuredFiles": { "type": "array", "items": { "type": "object", "properties": { "serviceFileId": { "type": "string", "description": "UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)" }, "removable": { "type": "boolean", "description": "if false this ConfiguredFile is mandatory on Job creation" } } } } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "boxDATA_FILE" ] }, "parserConfiguration": { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } } } } ] }, { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "box.PDF", "box.DATA_FILE", "box.ARCHIVE" ] }, "name": { "type": "string" }, "label": { "type": "string" }, "hidden": { "type": "boolean", "description": "If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden" }, "minElements": { "type": "integer" }, "maxElements": { "type": "integer" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "box.ARCHIVE" ] }, "encoding": { "type": "string", "description": "Encoding of file names within Zip archive (if null default is 'IBM437')" } } } ] } ] } }, "serviceMetadatas": { "type": "array", "description": "Optional list of ServiceMetadata (common to whole Job)", "items": { "discriminator": { "propertyName": "@type", "mapping": { "svm.ConstantMetadata": "#/components/schemas/ConstantMetadata", "svm.ControlledValue": "#/components/schemas/ControlledValueMetadata" } }, "oneOf": [ { "allOf": [ { "required": [ "@type", "name" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "svm.ConstantMetadata", "svm.ControlledValue" ] }, "name": { "type": "string" }, "editable": { "type": "boolean", "description": "if true, can be entered by User on Job creation" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "svm.ConstantMetadata" ] }, "mandatory": { "type": "boolean", "description": "If true, Job must be created with a non-empty value for this Metadata" }, "properties": { "type": "object", "description": "Opaque JSON node describing format, mask or RegEx validation for Front-end GUI" } } } ] }, { "allOf": [ { "required": [ "@type", "name" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "svm.ConstantMetadata", "svm.ControlledValue" ] }, "name": { "type": "string" }, "editable": { "type": "boolean", "description": "if true, can be entered by User on Job creation" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "svm.ControlledValue" ] }, "controlledValueName": { "type": "string", "description": "Name of a ControlledValue in the OrganizationalUnit associated with this Service" } } } ] } ] } }, "packRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "content": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "editableConfiguration": { "type": "boolean", "description": "Expression configuration can be redefined on Job creation" }, "editableValue": { "type": "boolean", "description": "Expression value can be edited after Pack/PackGroup creation (to modify eligibility)" } } } }, "channels": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "description": "Id of Channel entity (MUST be allowed in OU)", "format": "int64" }, "label": { "type": "string" }, "shipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "content": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PositionInBox" ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context." }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "expr": "[Circular]", "beginIndex": { "minimum": 0, "type": "integer", "description": "Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ..." }, "endIndex": { "minimum": -1, "type": "integer", "description": "Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1." } }, "description": "Extract a portion of the string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.CurrentDate" ] } }, "description": "Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed", "example": "dd MMM yyyy HH':'mm':'ss" }, "timeZone": { "type": "string", "description": "Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.", "example": "[\"UTC\",\"Europe/Paris\"]" }, "locale": { "type": "string", "description": "Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)", "example": "fr-FR" } }, "description": "Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)" }, { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "expr": "[Circular]", "pattern": { "type": "string", "description": "Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )" }, "timeZone": { "type": "string", "description": "TimeZone used to format the date." }, "locale": { "type": "string", "description": "Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used)" } }, "description": "Format a date (given as long epoch milli) into a human readable string" } ] }, "editableConfiguration": { "type": "boolean", "description": "Expression configuration can be redefined on Job creation" }, "editableValue": { "type": "boolean", "description": "Expression value can be edited after Pack/PackGroup creation (to modify eligibility)" } } } }, "outputFilesConfig": { "type": "object", "additionalProperties": { "type": "object", "properties": { "options": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "rank": { "type": "integer" }, "default": { "type": "boolean" } } } }, "composition": { "type": "object", "properties": { "operations": { "type": "array", "items": { "type": "object", "properties": { "boxIdentifier": { "type": "object", "properties": { "main": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } } }, "rotationDirection": { "type": "string", "enum": [ "LEFT", "RIGHT", "NONE" ] }, "margins": { "type": "object", "additionalProperties": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "right": { "minimum": 0, "type": "number", "format": "float" }, "bottom": { "minimum": 0, "type": "number", "format": "float" } }, "description": "MarginArea object" } }, "nbDuplicates": { "minimum": 0, "type": "integer", "format": "int64" }, "canStartOnBackSide": { "type": "boolean", "description": "true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)" }, "skipAddressPage": { "type": "boolean", "description": "true if the address page of the box should not be added to the composition (available only if the box has an address page)" }, "duplicateOnRegroup": { "type": "boolean", "description": "true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)" }, "addLastBackSide": { "type": "boolean", "description": "true to ensure that the last back side will be added when 2SIDE print mode is selected. This is mainly for background appositions to be visible on the final document. Prevents canStartOnBackSide for the next box composition. Always true when printOnSide is NOT ALL." }, "printOnSide": { "type": "string", "description": "On which side of the composed document will the chunk be printer. Default is ALL and defaults to ALL when print mode is NOT 2SIDE. Set to FRONT_SIDE to have them printed only on front side, a back side will be generated between each page. It allows background appositions on the back side. BACK_SIDE allows to have them printed on back sides only with front sides inserted before each page.", "enum": [ "ALL", "FRONT_SIDE", "BACK_SIDE" ] }, "appositions": { "type": "array", "items": { "discriminator": { "propertyName": "@type", "mapping": { "ofa.RECTANGLE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionBase", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText" } }, "oneOf": [ { "allOf": [ { "required": [ "@type", "area" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "pageFilter": { "type": "string", "description": "Page description. Can be a single page number, an interval (1:3), an open interval - includes a single excluded boundary (:3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) or keywords among 'all', 'odd' and 'even' for respective page description." }, "bgColor": { "type": "object", "properties": { "r": { "type": "integer" }, "g": { "type": "integer" }, "b": { "type": "integer" }, "a": { "type": "number", "format": "float" } }, "description": "Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0" } } } ] }, { "allOf": [ { "required": [ "@type", "area" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "pageFilter": { "type": "string", "description": "Page description. Can be a single page number, an interval (1:3), an open interval - includes a single excluded boundary (:3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) or keywords among 'all', 'odd' and 'even' for respective page description." }, "bgColor": { "type": "object", "properties": { "r": { "type": "integer" }, "g": { "type": "integer" }, "b": { "type": "integer" }, "a": { "type": "number", "format": "float" } }, "description": "Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] }, "contentEvaluator": { "type": "object", "discriminator": { "propertyName": "@type", "mapping": { "exv.Value": "#/components/schemas/ExpressionConstant", "exv.FileName": "#/components/schemas/ExpressionFileName", "exv.PdfMetadata": "#/components/schemas/ExpressionPdfMetadata", "exv.PdfText": "#/components/schemas/ExpressionPdfText", "exv.Reference": "#/components/schemas/ExpressionReference", "exv.Concat": "#/components/schemas/ExpressionConcat", "exv.Substring": "#/components/schemas/ExpressionSubstring", "exv.NumSheetsValue": "#/components/schemas/ExpressionNumSheets", "exv.StrClean": "#/components/schemas/ExpressionStrClean", "exv.StrNormalizeCase": "#/components/schemas/ExpressionStrNormalizeCase", "exv.StrReplace": "#/components/schemas/ExpressionStrReplace", "exv.PositionInBox": "#/components/schemas/PositionInBoxValue", "exv.CurrentDate": "#/components/schemas/CurrentDate", "exv.DateParse": "#/components/schemas/DateParse", "exv.DateFormat": "#/components/schemas/DateFormat" } }, "oneOf": [ { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces :\n * METADATA reference another Metadata\n * REQUIREMENT reference a Requirement\n * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context" }, { "description": "Part of the name of the underlying file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.FileName" ] }, "begin": { "type": "integer" }, "end": { "type": "integer" } } } ] }, { "description": "Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfText" ] }, "page": { "type": "integer", "description": "Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return \"\"." }, "area": { "type": "object", "properties": { "left": { "minimum": 0, "type": "number", "format": "float" }, "top": { "minimum": 0, "type": "number", "format": "float" }, "width": { "minimum": 0, "type": "number", "format": "float" }, "height": { "minimum": 0, "type": "number", "format": "float" } }, "description": "ZoneArea object" }, "extractionParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used." } } } ] }, { "description": "PDF metadata value from the underlying PDF file of the box", "allOf": [ { "type": "object", "properties": { "@type": { "type": "string" }, "fromMain": { "type": "boolean", "description": "If true, the target box is a MAIN box" }, "boxName": { "type": "string", "description": "Ignored if fromMain is true. Otherwise, indicates the name of the target box" } }, "description": "Properties common to all box files" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.PdfMetadata" ] }, "metadataName": { "type": "string", "description": "Name of the PDF metadata to extract" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Concat: concatenates all Expressions given in argument" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "expr": "[Circular]", "normalizeSpace": { "type": "boolean", "description": "Replaces all Unicode spaces with standard space character (\\u0020) then replace consecutive space characters by a single one." }, "removeDiacritics": { "type": "boolean", "description": "Replaces the accentuated letters with their un-accentuated version" }, "multiline": { "type": "boolean", "description": "Replaces every Unicode line terminator character to the standard linefeed character (\\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines." }, "trim": { "type": "boolean", "description": "Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string." } }, "description": "Cleans a string" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "expr": "[Circular]", "toUpper": { "type": "boolean", "description": "is set, the normalization will be to Upper Case, otherwise it will be to Lower Case" } }, "description": "Normalizes the case of the String" }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "expr": "[Circular]", "regExpPattern": { "type": "string", "description": "valid Regular Expression that the input string should match" }, "replacement": { "type": "string", "description": "The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '\\' is an escape character, so to have a real '$' sign in replacement, use '\\$'. Same for the escape character itself, use '\\\\'." }, "firstOnly": { "type": "boolean", "description": "If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches." } }, "description": "Normalizes the case of the String" }, { "description": "Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box.", "allO