NAV Navigation
Shell

IHM on Nirva software cloud v4.5.0

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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } } }, "description": "organizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultAuthenticateResponsefalsenoneorganizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin
»» authTokenstringfalsenonenone
»» authTokenExpirationDatestringfalsenonenone
»» userUserfalsenonenone
»»» idinteger(int64)falsenonenone
»»» creationDateinteger(int64)falseread-onlynone
»»» profileProfilefalsenonefield can be null id super admin
»»»» idinteger(int64)falsenonenone
»»»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»»» idinteger(int64)falsenonenone
»»»»» namestringfalsenonelogin or displayable name
»»»» namestringfalsenonenone
»»»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
»»»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
»»»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
»»»» permissionsOnOUintegerfalsenonePermissions 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)
»»» loginstringfalsenonenone
»»» passwordstring(password)falsenonenone
»»» lastPasswordUpdateinteger(int64)falseread-onlynone
»»» allowAddressesstringfalsenoneOptional 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
»»» titlestringfalsenonenone
»»» firstNamestringfalsenonenone
»»» lastNamestringfalsenonenone
»»» emailAddressstring(email)falsenonenone
»»» phoneNumberstringfalsenonenone
»»» mobileNumberstringfalsenonenone
»»» localestringfalsenonefr-FR
»»» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
»»» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
»»» enablebooleanfalsenonenone
»»» accountExpiredbooleanfalsenonenone
»»» removedbooleanfalsenonenone
»»» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
»»» creationLinkstringfalsewrite-onlyIf 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)
»» organizationalUnitOrganizationalUnitfalsenoneNote: parent parameter can be NULL if root OU
»»» idinteger(int64)falsenonenone
»»» creationdateinteger(int64)falseread-onlynone
»»» accountIdentifierstringfalsenoneOnly ASCII 0-9 A-Z a-z and -._~
»»» namestringfalsenonenone
»»» brandingIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» parentIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» allowOUChildrenbooleanfalsenonenone
»»» freezeDelayDaysintegerfalsenonenone
»»» fileDelayDaysintegerfalsenonenone
»»» dataDelayDaysintegerfalsenonenone
»»» accountingCodestringfalsenonenone
»»» productionCodestringfalsenonenone
»»» partnerCodestringfalsenonenone
»»» billingTypestringfalsenonenone
»»» defaultMailCountrystringfalsenonenone
»»» minPasswordEntropyinteger(int32)falsenoneMinimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0
»»» maxPasswordValidityDaysinteger(int32)falsenoneMaximum number of days between password change by User ; only checked if > 0
»»» propertiesOrganizationalUnitPropertiesfalsenonenone
»»»» emailAddressstringfalsenonenone
»»»» senderAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»»» addressLinesstringfalsenonenone
»»»»» countryCodestringfalsenonenone
»»»» returnAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»» siretstringfalsenonenone
»»»» controlledValues[ControlledValue]falsenone[Can be used as ControlledValueMetadata in Service Metadata]
»»»»» namestringfalsenonenone
»»»»» elements[ElementValue]falsenonenone
»»»»»» valuestringfalsenoneTechnical value (must NOT be empty)
»»»»»» labelstringfalsenoneUser-friendly label (must NOT be null), can be equal to value
»»»»» allowFreeValuebooleanfalsenoneIf true, user can enter a metadat value outside the elements list
»»»» webHookURLstringfalsenoneURL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications.
»»» senderAccountbooleanfalsenoneTechnical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)
»»» enabledbooleanfalsenonenone
»»» accountExpiredbooleanfalsenonenone
»»» removedbooleanfalsenonenone
»» services[Service]falsenonenone
»»» idintegerfalsenonenone
»»» typestringfalsenonenone
»»» namestringfalsenonenone
»»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» propertiesServicePropertiesfalsenonenone
»»»» descriptionstringfalsenonenone
»»»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» rintegerfalsenonenone
»»»»» gintegerfalsenonenone
»»»»» bintegerfalsenonenone
»»»»» anumber(float)falsenonenone
»»»» iconNamestringfalsenonenone
»»»» boxes[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousAbstractBoxfalsenonenone
»»»»»»»» @typestringtruenonenone
»»»»»»»» namestringtruenonenone
»»»»»»»» labelstringfalsenonenone
»»»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
»»»»»»»» minElementsintegertruenonenone
»»»»»»»» maxElementsintegertruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousobjectfalsenonenone
»»»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
»»»»»»»» parentParentWrappertruenoneAllow 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
»»»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
»»»»»»»»» fileMatcheranyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
»»»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» valuebooleanfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expr1anyfalsenonenone
»»»»»»»»»»»» expr2anyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expranyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»» expr1Expressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» beginintegerfalsenonenone
»»»»»»»»»»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
»»»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»»» patternstringtruenonePattern 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
»»»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» expr2Expressionfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
»»»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
»»»»»»»» metadatas[BoxMetadata]truenone[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.]
»»»»»»»»» namestringfalsenonenone
»»»»»»»»» persistbooleanfalsenonenone
»»»»»»»»» editablebooleanfalsenonenone
»»»»»»»»» contentExpressionfalsenonenone
»»»»»»»» reconcileBoxReconciliationtruenonenone
»»»»»»»»» conditionanytruenonenone
»»»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
»»»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
»»»»»»»» configuredFiles[ConfiguredFile]truenonenone
»»»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
»»»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
»»»»»»» splitConfiganyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
»»»»»»»»»» editablebooleantruenonenone
»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»» pagesintegertruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»» valuestringtruenonenone
»»»»»»»»»» pagesintegertruenonenone
»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

continued

NameTypeRequiredRestrictionsDescription
»»»»»»» hasAddressPagebooleanfalsenonenone
»»»»»»» appositions[BoxAppositionFile]falsenonenone
»»»»»»»» @typestringtruenonenone
»»»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
»»»»»»»» targetTypestringtruenonenone
»»»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
»»»»»»»» backgroundbooleantruenonenone
»»»»»»»» editablebooleantruenonenone
»»»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» parserConfigurationParserConfigurationfalsenonenone
»»»»»»»» @typestringtruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousAbstractBoxfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

continued

NameTypeRequiredRestrictionsDescription
»»»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

oneOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousBaseServiceMetadatafalsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» namestringtruenonenone
»»»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
»»»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousBaseServiceMetadatafalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

continued

NameTypeRequiredRestrictionsDescription
»»»» jobNameExpressionExpressionfalsenonenone
»»»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
»»»» packRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»»» contentExpressionfalsenonenone
»»»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
»»»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
»»»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
»»»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
»»»»» labelstringfalsenonenone
»»»»» shipmentRequirementsobjectfalsenonenone
»»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»» outputFilesConfigobjectfalsenonenone
»»»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
»»»»»»» options[ServiceChannelOutputFileOption]falsenonenone
»»»»»»»» idinteger(int64)falsenonenone
»»»»»»»» rankintegerfalsenonenone
»»»»»»»» defaultbooleanfalsenonenone
»»»»»»» compositionobjectfalsenonenone
»»»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
One and only of the parameters boxIdentifier and pageSize must be set.
Can be either:
- Boxes based, in which case all elements of files related to the
recipient will be added. The parameter boxIdentifier is used to
match the Box.
- Blank pages, in which case a blank (white) page will be added.
The parameter pageSize indicates the format of the page to add. ]
»»»»»»»»» boxIdentifierobjectfalsenone

Composition of elements of the target Box.

pageSize cannot be set if boxIdentifier is set.

»»»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
»»»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
»»»»»»»»» serializedPageFilterstringfalsenone

Ignore when boxIdentifier is NOT set.

Page description, can be

  • a single page number

  • an interval (1:3)

  • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

  • keywords among 'odd' and 'even' for respective page description

It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

»»»»»»»»» pageSizestringfalsenone

Cannot be set when boxIdentifier is set.

Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

This parameter is the format of the page to add.

Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

»»»»»»»»» rotationDirectionstringfalsenonenone
»»»»»»»»» marginsobjectfalsenonenone
»»»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»» rightnumber(float)falsenonenone
»»»»»»»»»»» bottomnumber(float)falsenonenone
»»»»»»»»» nbDuplicatesinteger(int64)falsenonenone
»»»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
»»»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
»»»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
»»»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
»»»»»»»»» printOnSidestringfalsenoneOn 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.
»»»»»»»»» appositions[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
»»»»»»»»»»»» @typestringtruenonenone
»»»»»»»»»»»» pageFilterstringfalsenonePage 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.

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
»»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» fontNamestringfalsenonenone
»»»»»»»»»»»»» fontSizenumber(float)falsenonenone
»»»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
»»»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»»» rtlbooleanfalsenonenone
»»»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionWithContentfalsenonenone
»»»»»»»»»»»» contentEvaluatorExpressiontruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionWithContentfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» textanyfalsenonenone
»»»»»»»»»»»» qrCodeanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

continued

NameTypeRequiredRestrictionsDescription
»»»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
»»»»» namestringfalsenonenone
»»»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
»»»»»» namestringfalsenonenone
»»»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»»» additionalConditionanyfalsenonenone
»»»» sendingStrategyGroupingConfigurationfalsenonenone
»»»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
»»»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
»»» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
»»»» idstringfalsenonenone
»»»» originalFileNamestringfalsenonenone
»»»» fileSizeinteger(int64)falsenonenone
»»»» storedDateinteger(int64)falsenonenone
»»» removedbooleanfalsenonenone
»»» allowJobCreationbooleanfalsenonenone
»»» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
»»» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

Enumerated Values

PropertyValue
typeSIMPLE_UNIQUE
typeSIMPLE_MULTIPLE
typePREPROCESSING_UNIQUE
typePREPROCESSING
typeADVANCED
@typeexb.Boolean
@typeexb.AND
@typeexb.OR
@typeexb.NOT
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
@typeexb.ContentEqual
@typeexb.StrContains
@typeexb.StrStartsWith
@typeexb.StrEndsWith
@typeexb.LessThan
@typeexb.LessThanOrEqual
@typeexb.NumericEqual
@typeexb.StrMatches
@typebox.PDF
@typebsc.NONE
@typebsc.PAGE
@typebsc.PDF_AREA
@typebap.Overlay
@typebap.Image
targetTypeADDRESS_PAGE
targetTypeDOCUMENT
targetTypeCOMPOSED_DOCUMENT
@typebox.DATA_FILE
@typepar.CSV
@typepar.FixedWidth
@typepar.Seiitra
@typepar.JSON
@typebox.ARCHIVE
@typesvm.ConstantMetadata
@typesvm.ControlledValue
pageSizeA0
pageSizeA1
pageSizeA2
pageSizeA3
pageSizeA4
pageSizeA5
pageSizeA6
pageSizeSRA3
pageSizeA0-L
pageSizeA1-L
pageSizeA2-L
pageSizeA3-L
pageSizeA4-L
pageSizeA5-L
pageSizeA6-L
pageSizeLETTER
pageSizeLEGAL
rotationDirectionLEFT
rotationDirectionRIGHT
rotationDirectionNONE
printOnSideALL
printOnSideFRONT_SIDE
printOnSideBACK_SIDE
@typeofa.RECTANGLE
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP
lineBreakModeNEVER
lineBreakModeNORMAL
lineBreakModeALL_CHARS
lineBreakModeBREAK_WORD
@typeofa.TEXT
@typeofa.RS.QRCODE

checkAuthenticate

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/authentication/check \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /authentication/check

Check authenticate

Check if token still alive

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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } } }, "description": "organizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultAuthenticateResponsefalsenoneorganizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin
»» authTokenstringfalsenonenone
»» authTokenExpirationDatestringfalsenonenone
»» userUserfalsenonenone
»»» idinteger(int64)falsenonenone
»»» creationDateinteger(int64)falseread-onlynone
»»» profileProfilefalsenonefield can be null id super admin
»»»» idinteger(int64)falsenonenone
»»»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»»» idinteger(int64)falsenonenone
»»»»» namestringfalsenonelogin or displayable name
»»»» namestringfalsenonenone
»»»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
»»»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
»»»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
»»»» permissionsOnOUintegerfalsenonePermissions 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)
»»» loginstringfalsenonenone
»»» passwordstring(password)falsenonenone
»»» lastPasswordUpdateinteger(int64)falseread-onlynone
»»» allowAddressesstringfalsenoneOptional 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
»»» titlestringfalsenonenone
»»» firstNamestringfalsenonenone
»»» lastNamestringfalsenonenone
»»» emailAddressstring(email)falsenonenone
»»» phoneNumberstringfalsenonenone
»»» mobileNumberstringfalsenonenone
»»» localestringfalsenonefr-FR
»»» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
»»» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
»»» enablebooleanfalsenonenone
»»» accountExpiredbooleanfalsenonenone
»»» removedbooleanfalsenonenone
»»» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
»»» creationLinkstringfalsewrite-onlyIf 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)
»» organizationalUnitOrganizationalUnitfalsenoneNote: parent parameter can be NULL if root OU
»»» idinteger(int64)falsenonenone
»»» creationdateinteger(int64)falseread-onlynone
»»» accountIdentifierstringfalsenoneOnly ASCII 0-9 A-Z a-z and -._~
»»» namestringfalsenonenone
»»» brandingIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» parentIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» allowOUChildrenbooleanfalsenonenone
»»» freezeDelayDaysintegerfalsenonenone
»»» fileDelayDaysintegerfalsenonenone
»»» dataDelayDaysintegerfalsenonenone
»»» accountingCodestringfalsenonenone
»»» productionCodestringfalsenonenone
»»» partnerCodestringfalsenonenone
»»» billingTypestringfalsenonenone
»»» defaultMailCountrystringfalsenonenone
»»» minPasswordEntropyinteger(int32)falsenoneMinimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0
»»» maxPasswordValidityDaysinteger(int32)falsenoneMaximum number of days between password change by User ; only checked if > 0
»»» propertiesOrganizationalUnitPropertiesfalsenonenone
»»»» emailAddressstringfalsenonenone
»»»» senderAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»»» addressLinesstringfalsenonenone
»»»»» countryCodestringfalsenonenone
»»»» returnAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»» siretstringfalsenonenone
»»»» controlledValues[ControlledValue]falsenone[Can be used as ControlledValueMetadata in Service Metadata]
»»»»» namestringfalsenonenone
»»»»» elements[ElementValue]falsenonenone
»»»»»» valuestringfalsenoneTechnical value (must NOT be empty)
»»»»»» labelstringfalsenoneUser-friendly label (must NOT be null), can be equal to value
»»»»» allowFreeValuebooleanfalsenoneIf true, user can enter a metadat value outside the elements list
»»»» webHookURLstringfalsenoneURL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications.
»»» senderAccountbooleanfalsenoneTechnical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)
»»» enabledbooleanfalsenonenone
»»» accountExpiredbooleanfalsenonenone
»»» removedbooleanfalsenonenone
»» services[Service]falsenonenone
»»» idintegerfalsenonenone
»»» typestringfalsenonenone
»»» namestringfalsenonenone
»»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» propertiesServicePropertiesfalsenonenone
»»»» descriptionstringfalsenonenone
»»»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» rintegerfalsenonenone
»»»»» gintegerfalsenonenone
»»»»» bintegerfalsenonenone
»»»»» anumber(float)falsenonenone
»»»» iconNamestringfalsenonenone
»»»» boxes[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousAbstractBoxfalsenonenone
»»»»»»»» @typestringtruenonenone
»»»»»»»» namestringtruenonenone
»»»»»»»» labelstringfalsenonenone
»»»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
»»»»»»»» minElementsintegertruenonenone
»»»»»»»» maxElementsintegertruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousobjectfalsenonenone
»»»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
»»»»»»»» parentParentWrappertruenoneAllow 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
»»»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
»»»»»»»»» fileMatcheranyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
»»»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» valuebooleanfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expr1anyfalsenonenone
»»»»»»»»»»»» expr2anyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expranyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»» expr1Expressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» beginintegerfalsenonenone
»»»»»»»»»»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
»»»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»»» patternstringtruenonePattern 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
»»»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» expr2Expressionfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
»»»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
»»»»»»»» metadatas[BoxMetadata]truenone[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.]
»»»»»»»»» namestringfalsenonenone
»»»»»»»»» persistbooleanfalsenonenone
»»»»»»»»» editablebooleanfalsenonenone
»»»»»»»»» contentExpressionfalsenonenone
»»»»»»»» reconcileBoxReconciliationtruenonenone
»»»»»»»»» conditionanytruenonenone
»»»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
»»»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
»»»»»»»» configuredFiles[ConfiguredFile]truenonenone
»»»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
»»»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
»»»»»»» splitConfiganyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
»»»»»»»»»» editablebooleantruenonenone
»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»» pagesintegertruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»» valuestringtruenonenone
»»»»»»»»»» pagesintegertruenonenone
»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

continued

NameTypeRequiredRestrictionsDescription
»»»»»»» hasAddressPagebooleanfalsenonenone
»»»»»»» appositions[BoxAppositionFile]falsenonenone
»»»»»»»» @typestringtruenonenone
»»»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
»»»»»»»» targetTypestringtruenonenone
»»»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
»»»»»»»» backgroundbooleantruenonenone
»»»»»»»» editablebooleantruenonenone
»»»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» parserConfigurationParserConfigurationfalsenonenone
»»»»»»»» @typestringtruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousAbstractBoxfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

continued

NameTypeRequiredRestrictionsDescription
»»»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

oneOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousBaseServiceMetadatafalsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» namestringtruenonenone
»»»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
»»»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousBaseServiceMetadatafalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

continued

NameTypeRequiredRestrictionsDescription
»»»» jobNameExpressionExpressionfalsenonenone
»»»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
»»»» packRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»»» contentExpressionfalsenonenone
»»»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
»»»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
»»»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
»»»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
»»»»» labelstringfalsenonenone
»»»»» shipmentRequirementsobjectfalsenonenone
»»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»» outputFilesConfigobjectfalsenonenone
»»»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
»»»»»»» options[ServiceChannelOutputFileOption]falsenonenone
»»»»»»»» idinteger(int64)falsenonenone
»»»»»»»» rankintegerfalsenonenone
»»»»»»»» defaultbooleanfalsenonenone
»»»»»»» compositionobjectfalsenonenone
»»»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
One and only of the parameters boxIdentifier and pageSize must be set.
Can be either:
- Boxes based, in which case all elements of files related to the
recipient will be added. The parameter boxIdentifier is used to
match the Box.
- Blank pages, in which case a blank (white) page will be added.
The parameter pageSize indicates the format of the page to add. ]
»»»»»»»»» boxIdentifierobjectfalsenone

Composition of elements of the target Box.

pageSize cannot be set if boxIdentifier is set.

»»»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
»»»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
»»»»»»»»» serializedPageFilterstringfalsenone

Ignore when boxIdentifier is NOT set.

Page description, can be

  • a single page number

  • an interval (1:3)

  • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

  • keywords among 'odd' and 'even' for respective page description

It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

»»»»»»»»» pageSizestringfalsenone

Cannot be set when boxIdentifier is set.

Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

This parameter is the format of the page to add.

Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

»»»»»»»»» rotationDirectionstringfalsenonenone
»»»»»»»»» marginsobjectfalsenonenone
»»»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»» rightnumber(float)falsenonenone
»»»»»»»»»»» bottomnumber(float)falsenonenone
»»»»»»»»» nbDuplicatesinteger(int64)falsenonenone
»»»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
»»»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
»»»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
»»»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
»»»»»»»»» printOnSidestringfalsenoneOn 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.
»»»»»»»»» appositions[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
»»»»»»»»»»»» @typestringtruenonenone
»»»»»»»»»»»» pageFilterstringfalsenonePage 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.

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
»»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» fontNamestringfalsenonenone
»»»»»»»»»»»»» fontSizenumber(float)falsenonenone
»»»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
»»»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»»» rtlbooleanfalsenonenone
»»»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionWithContentfalsenonenone
»»»»»»»»»»»» contentEvaluatorExpressiontruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionWithContentfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» textanyfalsenonenone
»»»»»»»»»»»» qrCodeanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

continued

NameTypeRequiredRestrictionsDescription
»»»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
»»»»» namestringfalsenonenone
»»»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
»»»»»» namestringfalsenonenone
»»»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»»» additionalConditionanyfalsenonenone
»»»» sendingStrategyGroupingConfigurationfalsenonenone
»»»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
»»»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
»»» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
»»»» idstringfalsenonenone
»»»» originalFileNamestringfalsenonenone
»»»» fileSizeinteger(int64)falsenonenone
»»»» storedDateinteger(int64)falsenonenone
»»» removedbooleanfalsenonenone
»»» allowJobCreationbooleanfalsenonenone
»»» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
»»» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

Enumerated Values

PropertyValue
typeSIMPLE_UNIQUE
typeSIMPLE_MULTIPLE
typePREPROCESSING_UNIQUE
typePREPROCESSING
typeADVANCED
@typeexb.Boolean
@typeexb.AND
@typeexb.OR
@typeexb.NOT
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
@typeexb.ContentEqual
@typeexb.StrContains
@typeexb.StrStartsWith
@typeexb.StrEndsWith
@typeexb.LessThan
@typeexb.LessThanOrEqual
@typeexb.NumericEqual
@typeexb.StrMatches
@typebox.PDF
@typebsc.NONE
@typebsc.PAGE
@typebsc.PDF_AREA
@typebap.Overlay
@typebap.Image
targetTypeADDRESS_PAGE
targetTypeDOCUMENT
targetTypeCOMPOSED_DOCUMENT
@typebox.DATA_FILE
@typepar.CSV
@typepar.FixedWidth
@typepar.Seiitra
@typepar.JSON
@typebox.ARCHIVE
@typesvm.ConstantMetadata
@typesvm.ControlledValue
pageSizeA0
pageSizeA1
pageSizeA2
pageSizeA3
pageSizeA4
pageSizeA5
pageSizeA6
pageSizeSRA3
pageSizeA0-L
pageSizeA1-L
pageSizeA2-L
pageSizeA3-L
pageSizeA4-L
pageSizeA5-L
pageSizeA6-L
pageSizeLETTER
pageSizeLEGAL
rotationDirectionLEFT
rotationDirectionRIGHT
rotationDirectionNONE
printOnSideALL
printOnSideFRONT_SIDE
printOnSideBACK_SIDE
@typeofa.RECTANGLE
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP
lineBreakModeNEVER
lineBreakModeNORMAL
lineBreakModeALL_CHARS
lineBreakModeBREAK_WORD
@typeofa.TEXT
@typeofa.RS.QRCODE

logoutByToken

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/authentication/logout \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /authentication/logout

Logout

Destroy the token

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

triggerLostPassword

Code samples

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

POST /authentication/triggerLostPassword

Trigger lost password mechanism

Trigger lost password mechanism by sending a lostPasswordToken to given user e-mail Address

Body parameter

{ "type": "object", "properties": { "userEMailAddress": { "type": "string", "example": "test@example.com" } }}

Parameters

NameInTypeRequiredDescription
userEMailAddressbodystringfalsenone

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "description": "For security consideration, if the User / or e-mail address is not found, the operation always return SUCCESS. Only technical e-mail sending errors are reported", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenoneFor security consideration, if the User / or e-mail address is not found, the operation always return SUCCESS. Only technical e-mail sending errors are reported

changeLostPassword

Code samples

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

POST /authentication/changeLostPassword

Change a lost password

Change a lost password by means of the lostPasswordToken received by e-mail

Body parameter

{ "type": "object", "properties": { "userLogin": { "type": "string", "example": "myLogin" }, "lostPasswordToken": { "type": "string", "description": "Given by e-mail sent by triggerLostPassword operation" }, "newPassword": { "type": "string", "description": "new User password" } }}

Parameters

NameInTypeRequiredDescription
userLoginbodystringfalsenone
lostPasswordTokenbodystringfalseGiven by e-mail sent by triggerLostPassword operation
newPasswordbodystringfalsenew User password

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "description": "Or \\\"Invalid login / lostPasswordToken or session timed out\\\" error", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenoneOr "Invalid login / lostPasswordToken or session timed out" error

checkPassword

Code samples

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

POST /authentication/checkPassword

Check Password strength (entropy)

Check Password strength (score, entropy)

Body parameter

{ "type": "object", "properties": { "password": { "type": "string", "example": "User password to check" } }}

Parameters

NameInTypeRequiredDescription
passwordbodystringfalsenone

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "score": { "type": "integer", "description": "Zxcvbn score (0 risky password ; 4 very strong password)" }, "entropyBits": { "type": "number", "description": "Number of entropy bits log2(zxcvbn guesses)", "format": "double" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» scoreintegerfalsenoneZxcvbn score (0 risky password ; 4 very strong password)
»» entropyBitsnumber(double)falsenoneNumber of entropy bits log2(zxcvbn guesses)

Branding

Manage the brandings

getMyBranding

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/brandings/my \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /brandings/my

Get a branding for simple_user

Get the branding for a simple user, superadmin do not have a branding. If the client is not logged yet, the Branding is detected from the authority part of the back-end server URL (host:port)

Parameters

NameInTypeRequiredDescription
applicationURLquerystringfalseInformations on the branding

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "applicationName": { "type": "string", "description": "Displayed commercial name of the application" }, "virtualHost": { "type": "string", "description": "virtual.host.name:port ; cannot be null" }, "properties": { "type": "object", "description": "Opaque JSON node containing css or other Front-end data for this Branding" }, "backgroundImageURL": { "type": "string" }, "logoImageURL": { "type": "string" }, "authenticationRealm": { "type": "string", "description": "Should be LocalDatabase for authenetication with PODX internal database" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultBrandingfalsenonenone
»» idinteger(int64)falsenonenone
»» namestringfalsenonenone
»» applicationNamestringfalsenoneDisplayed commercial name of the application
»» virtualHoststringfalsenonevirtual.host.name:port ; cannot be null
»» propertiesobjectfalsenoneOpaque JSON node containing css or other Front-end data for this Branding
»» backgroundImageURLstringfalsenonenone
»» logoImageURLstringfalsenonenone
»» authenticationRealmstringfalsenoneShould be LocalDatabase for authenetication with PODX internal database

Options

Manage Channel Options

getOptionTypes

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/options/type \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /options/type

Get OptionTypes

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[OptionType]falsenonenone
»» idinteger(int64)falsenonenone
»» namestringfalsenonenone
»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition

createOptionType

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/options/type \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /options/type

Create a new OptionType

Body parameter

{ "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } }}

Parameters

NameInTypeRequiredDescription
bodybodyOptionTypetrueOptionType object

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultOptionTypefalsenonenone
»» idinteger(int64)falsenonenone
»» namestringfalsenonenone
»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition

deleteOptionType

Code samples

# You can also use wgetcurl -X DELETE mycloud.nirva-software.com/options/type/{optionTypeId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

DELETE /options/type/{optionTypeId}

Delete OptionType

Super-Admin operation

Parameters

NameInTypeRequiredDescription
optionTypeIdpathinteger(int64)trueId of the OptionType to delete

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

getOptions

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/options \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /options

Get Options

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } }, "description": "Map of type.id -> array of Options" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenoneMap of type.id -> array of Options
»» additionalProperties[Option]falsenonenone
»»» idinteger(int64)falsenonenone
»»» optionTypeOptionTypefalsenonenone
»»»» idinteger(int64)falsenonenone
»»»» namestringfalsenonenone
»»»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition
»»» valuestringfalsenonenone
»»» rankintegerfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»»» defaultbooleanfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»»» propertiesOptionPropertiesfalsenonenone
»»»» selectableConditionobjectfalsenoneBooleanExpression with ShipmentContext computing getTotalNumSheets

createOption

Code samples

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

POST /options

Create Option

Body parameter

{ "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } }}

Parameters

NameInTypeRequiredDescription
bodybodyOptiontrueOption object

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultOptionfalsenonenone
»» idinteger(int64)falsenonenone
»» optionTypeOptionTypefalsenonenone
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonenone
»»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition
»» valuestringfalsenonenone
»» rankintegerfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»» defaultbooleanfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»» propertiesOptionPropertiesfalsenonenone
»»» selectableConditionobjectfalsenoneBooleanExpression with ShipmentContext computing getTotalNumSheets

deleteOption

Code samples

# You can also use wgetcurl -X DELETE mycloud.nirva-software.com/options/{optionId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

DELETE /options/{optionId}

Delete option

Super-Admin operation

Parameters

NameInTypeRequiredDescription
optionIdpathinteger(int64)trueOption id to delete

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

Delivery

Manage the deliveries

getDelivery

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/{deliveryId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/{deliveryId}

Get Delivery

Get a Delivery by its id

Parameters

NameInTypeRequiredDescription
deliveryIdpathinteger(int64)trueDelivery Id

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "externalId": { "type": "string" }, "name": { "type": "string" }, "creationDate": { "type": "integer", "format": "int64" }, "postDate": { "type": "integer", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "deliveryCommandId": { "type": "integer", "format": "int64" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "fallbackFromDelivery": { "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" }, "serviceChannelLabel": { "type": "string" }, "channel": { "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" }, "shipments": { "type": "array", "description": "optional", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "shipmentCount": { "type": "integer", "description": "Number of shipments computed even if shipments are not fetched" }, "lateShipmentCount": { "type": "integer", "description": "Number of \"late\" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() \"/deliveries/late\" operation" } }, "description": "Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultDeliveryfalsenoneDelivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback
»» idinteger(int64)falsenonenone
»» nuidstringfalsenonenone
»» externalIdstringfalsenonenone
»» namestringfalsenonenone
»» creationDateinteger(int64)falsenonenone
»» postDateinteger(int64)falsenonenone
»» statestringfalsenoneDeliveryState enum
»» lastModifiedStateinteger(int64)falsenonenone
»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» deliveryCommandIdinteger(int64)falsenonenone
»» deliveryCommandCreationDateinteger(int64)falsenonenone
»» fallbackFromDeliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» serviceChannelLabelstringfalsenonenone
»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» shipments[Shipment]falsenoneoptional
»»» idinteger(int64)falsenonenone
»»» externalIdstringfalsenonenone
»»» statusintegerfalsenonenone
»»» lastModifiedStateinteger(int64)falsenonenone
»»» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
»»» userAcknowledgmentUserAcknowledgmentfalsenonenone
»»»» messagestringfalsenoneOptional user provided info
»»» packGroupIdinteger(int64)falsenonenone
»»» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» deliveryExternalIdstringfalsenonenone
»»» deliveryCreationDateinteger(int64)falsenonenone
»»» deliveryPostDateinteger(int64)falsenonenone
»»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» deliveryCommandCreationDateinteger(int64)falsenonenone
»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» metadatas[Metadata]falsenonenone
»»»» namestringfalsenonenone
»»»» metadataKindstringfalsenonenone
»»»» metadataTypestringfalsenonenone
»»»» valuestringfalsenonenone
»»»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
»»»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
»»»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
»»» outputFiles[OutputFile]falsenonenone
»»»» idinteger(int64)falsenonenone
»»»» nuidstringfalsenonenone
»»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»»» fileSizeinteger(int64)falsenonenone
»»»» pageCountintegerfalsenonenone
»»»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
»»»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
»»»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
»»»» outputFileOptionIds[integer]falsenonenone
»» shipmentCountintegerfalsenoneNumber of shipments computed even if shipments are not fetched
»» lateShipmentCountintegerfalsenoneNumber of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation

Enumerated Values

PropertyValue
metadataKindREQUIREMENT
metadataKindMETADATA
metadataKindTRACKING
metadataTypeSHORT_VALUE
metadataTypeLONG_TEXT
metadataTypePOSTAL_ADDRESS
metadataTypeSTORAGE_REFERENCE

getJobDeliveries, getDeliveryCommandDeliveries, getDeliveries(externalId)

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries

Get Deliveries

Filter parameter can be Id of the Job, Id of the DeliveryCommand or Delivery externalId

Parameters

NameInTypeRequiredDescription
jobIdqueryinteger(int64)falseId of the Job
deliveryCommandIdqueryinteger(int64)falseId of the DeliveryCommand
externalIdquerystringfalseDelivery externalId

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "externalId": { "type": "string" }, "name": { "type": "string" }, "creationDate": { "type": "integer", "format": "int64" }, "postDate": { "type": "integer", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "deliveryCommandId": { "type": "integer", "format": "int64" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "fallbackFromDelivery": { "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" }, "serviceChannelLabel": { "type": "string" }, "channel": { "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" }, "shipments": { "type": "array", "description": "optional", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "shipmentCount": { "type": "integer", "description": "Number of shipments computed even if shipments are not fetched" }, "lateShipmentCount": { "type": "integer", "description": "Number of \"late\" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() \"/deliveries/late\" operation" } }, "description": "Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Delivery]falsenone[Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback]
»» idinteger(int64)falsenonenone
»» nuidstringfalsenonenone
»» externalIdstringfalsenonenone
»» namestringfalsenonenone
»» creationDateinteger(int64)falsenonenone
»» postDateinteger(int64)falsenonenone
»» statestringfalsenoneDeliveryState enum
»» lastModifiedStateinteger(int64)falsenonenone
»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» deliveryCommandIdinteger(int64)falsenonenone
»» deliveryCommandCreationDateinteger(int64)falsenonenone
»» fallbackFromDeliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» serviceChannelLabelstringfalsenonenone
»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» shipments[Shipment]falsenoneoptional
»»» idinteger(int64)falsenonenone
»»» externalIdstringfalsenonenone
»»» statusintegerfalsenonenone
»»» lastModifiedStateinteger(int64)falsenonenone
»»» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
»»» userAcknowledgmentUserAcknowledgmentfalsenonenone
»»»» messagestringfalsenoneOptional user provided info
»»» packGroupIdinteger(int64)falsenonenone
»»» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» deliveryExternalIdstringfalsenonenone
»»» deliveryCreationDateinteger(int64)falsenonenone
»»» deliveryPostDateinteger(int64)falsenonenone
»»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» deliveryCommandCreationDateinteger(int64)falsenonenone
»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» metadatas[Metadata]falsenonenone
»»»» namestringfalsenonenone
»»»» metadataKindstringfalsenonenone
»»»» metadataTypestringfalsenonenone
»»»» valuestringfalsenonenone
»»»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
»»»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
»»»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
»»» outputFiles[OutputFile]falsenonenone
»»»» idinteger(int64)falsenonenone
»»»» nuidstringfalsenonenone
»»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»»» fileSizeinteger(int64)falsenonenone
»»»» pageCountintegerfalsenonenone
»»»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
»»»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
»»»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
»»»» outputFileOptionIds[integer]falsenonenone
»» shipmentCountintegerfalsenoneNumber of shipments computed even if shipments are not fetched
»» lateShipmentCountintegerfalsenoneNumber of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation

Enumerated Values

PropertyValue
metadataKindREQUIREMENT
metadataKindMETADATA
metadataKindTRACKING
metadataTypeSHORT_VALUE
metadataTypeLONG_TEXT
metadataTypePOSTAL_ADDRESS
metadataTypeSTORAGE_REFERENCE

checkOptions

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/checkOptions \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/checkOptions

Return all selectable Options from given PackGroup Ids and fixed (recomputeTrigger) Options

Body parameter

{ "type": "object", "properties": { "jobId": { "type": "integer", "format": "int64" }, "packGroupIds": { "type": "array", "description": "Either a Job Id or an array of PackGroup Ids", "items": { "type": "integer", "format": "int64" } }, "serviceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" }, "expectedPostDate": { "type": "integer", "description": "Optional postDate as UTC epoch milli (should be at start of day of logged User local time converted to UTC Instant). If NOT present compute `As Soon As Possible` postDate", "format": "int64" }, "expectedProofsPerServiceChannelLabel": { "type": "integer", "description": "Only used for computeProof() operation must be > 0" } }, "description": "Delivery Creation parameter"}

Parameters

NameInTypeRequiredDescription
bodybodyDeliveryCreationtrueArray (Set) of PackGroup Ids and Options Map

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "selectableOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "description": "List (Set) of Option ids", "items": { "type": "integer", "format": "int64" } } } } }, "description": "Map of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id" }, "compositionErrors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Map of PackGroup Id -> array of ServiceChannel.label" }, "postDatePerServiceChannelLabels": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map of ServiceChannel.label -> post date (UTC epoch milli)" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKMap of Options per PackGroup IdsInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultCheckOptionsResultfalsenonenone
»» selectableOptionsSelectableOptionsfalsenoneMap of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id
»»» additionalPropertiesobjectfalsenonenone
»»»» additionalPropertiesobjectfalsenonenone
»»»»» additionalPropertiesobjectfalsenonenone
»»»»»» additionalProperties[integer]falsenoneList (Set) of Option ids
»» compositionErrorsCompositionErrorsfalsenoneMap of PackGroup Id -> array of ServiceChannel.label
»»» additionalProperties[string]falsenonenone
»» postDatePerServiceChannelLabelsPostDatePerServiceChannelLabelsfalsenoneMap of ServiceChannel.label -> post date (UTC epoch milli)
»»» additionalPropertiesinteger(int64)falsenonenone

computeProof

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/proof \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/proof

Compute temporary proof of virtual Deliveries / Shipments

Body parameter

{ "type": "object", "properties": { "jobId": { "type": "integer", "format": "int64" }, "packGroupIds": { "type": "array", "description": "Either a Job Id or an array of PackGroup Ids", "items": { "type": "integer", "format": "int64" } }, "serviceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" }, "expectedPostDate": { "type": "integer", "description": "Optional postDate as UTC epoch milli (should be at start of day of logged User local time converted to UTC Instant). If NOT present compute `As Soon As Possible` postDate", "format": "int64" }, "expectedProofsPerServiceChannelLabel": { "type": "integer", "description": "Only used for computeProof() operation must be > 0" } }, "description": "Delivery Creation parameter"}

Parameters

NameInTypeRequiredDescription
bodybodyDeliveryCreationtrueArray (Set) of PackGroup Ids and Options Map

Example responses

200 Response

{ "type": "object", "properties": { "result": { "properties": { "tempFile": { "type": "object", "properties": { "fileId": { "type": "string" }, "originFileName": { "type": "string" }, "storedDate": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" } } }, "proofElements": { "type": "array", "items": { "type": "object", "properties": { "packGroupId": { "type": "integer", "description": "Id of PackGroup", "format": "int64" }, "serviceChannelLabel": { "type": "string", "description": "label of ServiceChannel" }, "outputFileDefinitionName": { "type": "integer", "description": "Name of OutputFileDefinition of Channel", "format": "int64" }, "mainOutputFile": { "type": "boolean", "description": "If true, this Proof element is the MAIN OutputFile of the virtual Shipment" }, "startIndex": { "type": "string", "description": "Start page of this Proof element within the concatenated proof file (first page is 1)" } }, "description": "a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple" } } }, "description": "return of computeProof() operation ; tempFile is the concatenated pdf file of Proof elements temporarily stored in logged user Session" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonereturn of computeProof() operation ; tempFile is the concatenated pdf file of Proof elements temporarily stored in logged user Session
»» tempFileTempFilefalsenonenone
»»» fileIdstringfalsenonenone
»»» originFileNamestringfalsenonenone
»»» storedDatestringfalsenonenone
»»» fileSizeinteger(int64)falsenonenone
»»» pageCountintegerfalsenonenone
»» proofElements[ProofElement]falsenone[a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple]
»»» packGroupIdinteger(int64)falsenoneId of PackGroup
»»» serviceChannelLabelstringfalsenonelabel of ServiceChannel
»»» outputFileDefinitionNameinteger(int64)falsenoneName of OutputFileDefinition of Channel
»»» mainOutputFilebooleanfalsenoneIf true, this Proof element is the MAIN OutputFile of the virtual Shipment
»»» startIndexstringfalsenoneStart page of this Proof element within the concatenated proof file (first page is 1)

getJobDeliveryCommands

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/commands?type=integer&format=int64 \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/commands

Get Job meta DeliveryCommand

Parameters

NameInTypeRequiredDescription
jobIdqueryinteger(int64)trueId of the Job

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationDate": { "type": "integer", "format": "int64" }, "expectedPostDate": { "type": "integer", "description": "Can be null if ASAP", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum (same as Delivery entity)" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "validationReason": { "type": "string" }, "job": { "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" }, "jobFrozen": { "type": "boolean", "description": "true if parent Job is \"frozen\"" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "service": { "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" }, "displayBilling": { "type": "boolean", "description": "Optional property" }, "properties": { "type": "object", "properties": { "jobId": { "type": "integer", "description": "Can be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations", "format": "int64" }, "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "givenServiceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" } } } }, "description": "meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job." } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[DeliveryCommand]falsenone[meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.]
»» idinteger(int64)falsenonenone
»» creationDateinteger(int64)falsenonenone
»» expectedPostDateinteger(int64)falsenoneCan be null if ASAP
»» statestringfalsenoneDeliveryState enum (same as Delivery entity)
»» lastModifiedStateinteger(int64)falsenonenone
»» validationReasonstringfalsenonenone
»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» jobFrozenbooleanfalsenonetrue if parent Job is "frozen"
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» displayBillingbooleanfalsenoneOptional property
»» propertiesDeliveryCommandPropertiesfalsenonenone
»»» jobIdinteger(int64)falsenoneCan be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations
»»» packGroupIds[integer]falsenonenone
»»» givenServiceChannelOptionsobjectfalsenoneMap of ServiceChannel.label -> OutputFile.name -> array of Option Id
»»»» additionalPropertiesobjectfalsenonenone
»»»»» additionalProperties[integer]falsenonenone

createDeliveryCommand

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/commands \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/commands

Create DeliveryCommand

Create DeliveryCommand. If logged User has VALIDATE_ORDER permission on packGroup.job.owner User, DeliveryCommand is in VALIDATED State and Deliveries are created. If logged User has NO VALIDATE_ORDER permission, DeliveryCommand is in AWAIT_VALIDATION state. (A 'validator' must call validate or reject operation)

Body parameter

{ "type": "object", "properties": { "jobId": { "type": "integer", "format": "int64" }, "packGroupIds": { "type": "array", "description": "Either a Job Id or an array of PackGroup Ids", "items": { "type": "integer", "format": "int64" } }, "serviceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" }, "expectedPostDate": { "type": "integer", "description": "Optional postDate as UTC epoch milli (should be at start of day of logged User local time converted to UTC Instant). If NOT present compute `As Soon As Possible` postDate", "format": "int64" }, "expectedProofsPerServiceChannelLabel": { "type": "integer", "description": "Only used for computeProof() operation must be > 0" } }, "description": "Delivery Creation parameter"}

Parameters

NameInTypeRequiredDescription
bodybodyDeliveryCreationtrueArray (Set) of PackGroup Ids and Options Map

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationDate": { "type": "integer", "format": "int64" }, "expectedPostDate": { "type": "integer", "description": "Can be null if ASAP", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum (same as Delivery entity)" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "validationReason": { "type": "string" }, "job": { "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" }, "jobFrozen": { "type": "boolean", "description": "true if parent Job is \"frozen\"" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "service": { "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" }, "displayBilling": { "type": "boolean", "description": "Optional property" }, "properties": { "type": "object", "properties": { "jobId": { "type": "integer", "description": "Can be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations", "format": "int64" }, "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "givenServiceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" } } } }, "description": "meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job." } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultDeliveryCommandfalsenonemeta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.
»» idinteger(int64)falsenonenone
»» creationDateinteger(int64)falsenonenone
»» expectedPostDateinteger(int64)falsenoneCan be null if ASAP
»» statestringfalsenoneDeliveryState enum (same as Delivery entity)
»» lastModifiedStateinteger(int64)falsenonenone
»» validationReasonstringfalsenonenone
»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» jobFrozenbooleanfalsenonetrue if parent Job is "frozen"
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» displayBillingbooleanfalsenoneOptional property
»» propertiesDeliveryCommandPropertiesfalsenonenone
»»» jobIdinteger(int64)falsenoneCan be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations
»»» packGroupIds[integer]falsenonenone
»»» givenServiceChannelOptionsobjectfalsenoneMap of ServiceChannel.label -> OutputFile.name -> array of Option Id
»»»» additionalPropertiesobjectfalsenonenone
»»»»» additionalProperties[integer]falsenonenone

getDeliveryCommandList

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/commands/list \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/commands/list

Get meta DeliveryCommands

Retrieve Delivery list within date range from all kind of user (SuperAdmin, OU Admin, Group, simple User/Owner)

Parameters

NameInTypeRequiredDescription
targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs
fromDatequerystringfalseFrom date (yyyy-mm-dd)
toDatequerystringfalseTo date (yyyy-mm-dd)
maxResultsqueryintegerfalseLimit the count of latest returned entities (default is BackEnd maximum)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationDate": { "type": "integer", "format": "int64" }, "expectedPostDate": { "type": "integer", "description": "Can be null if ASAP", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum (same as Delivery entity)" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "validationReason": { "type": "string" }, "job": { "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" }, "jobFrozen": { "type": "boolean", "description": "true if parent Job is \"frozen\"" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "service": { "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" }, "displayBilling": { "type": "boolean", "description": "Optional property" }, "properties": { "type": "object", "properties": { "jobId": { "type": "integer", "description": "Can be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations", "format": "int64" }, "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "givenServiceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" } } } }, "description": "meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job." } }, "maxResult": { "type": "boolean", "description": "true if array may be truncated" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» array[DeliveryCommand]falsenone[meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.]
»»» idinteger(int64)falsenonenone
»»» creationDateinteger(int64)falsenonenone
»»» expectedPostDateinteger(int64)falsenoneCan be null if ASAP
»»» statestringfalsenoneDeliveryState enum (same as Delivery entity)
»»» lastModifiedStateinteger(int64)falsenonenone
»»» validationReasonstringfalsenonenone
»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» idinteger(int64)falsenonenone
»»»» namestringfalsenonelogin or displayable name
»»» jobFrozenbooleanfalsenonetrue if parent Job is "frozen"
»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» displayBillingbooleanfalsenoneOptional property
»»» propertiesDeliveryCommandPropertiesfalsenonenone
»»»» jobIdinteger(int64)falsenoneCan be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations
»»»» packGroupIds[integer]falsenonenone
»»»» givenServiceChannelOptionsobjectfalsenoneMap of ServiceChannel.label -> OutputFile.name -> array of Option Id
»»»»» additionalPropertiesobjectfalsenonenone
»»»»»» additionalProperties[integer]falsenonenone
»» maxResultbooleanfalsenonetrue if array may be truncated

getDeliveryCommand

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/commands/{deliveryCommandId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/commands/{deliveryCommandId}

Get DeliveryCommand by Id

Parameters

NameInTypeRequiredDescription
deliveryCommandIdpathinteger(int64)trueId of the DeliveryCommand to retrieve

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationDate": { "type": "integer", "format": "int64" }, "expectedPostDate": { "type": "integer", "description": "Can be null if ASAP", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum (same as Delivery entity)" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "validationReason": { "type": "string" }, "job": { "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" }, "jobFrozen": { "type": "boolean", "description": "true if parent Job is \"frozen\"" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "service": { "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" }, "displayBilling": { "type": "boolean", "description": "Optional property" }, "properties": { "type": "object", "properties": { "jobId": { "type": "integer", "description": "Can be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations", "format": "int64" }, "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "givenServiceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" } } } }, "description": "meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job." } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[DeliveryCommand]falsenone[meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.]
»» idinteger(int64)falsenonenone
»» creationDateinteger(int64)falsenonenone
»» expectedPostDateinteger(int64)falsenoneCan be null if ASAP
»» statestringfalsenoneDeliveryState enum (same as Delivery entity)
»» lastModifiedStateinteger(int64)falsenonenone
»» validationReasonstringfalsenonenone
»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» jobFrozenbooleanfalsenonetrue if parent Job is "frozen"
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» displayBillingbooleanfalsenoneOptional property
»» propertiesDeliveryCommandPropertiesfalsenonenone
»»» jobIdinteger(int64)falsenoneCan be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations
»»» packGroupIds[integer]falsenonenone
»»» givenServiceChannelOptionsobjectfalsenoneMap of ServiceChannel.label -> OutputFile.name -> array of Option Id
»»»» additionalPropertiesobjectfalsenonenone
»»»»» additionalProperties[integer]falsenonenone

getDeliveryCommandRevisions

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/commands/{deliveryCommandId}/revisions \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/commands/{deliveryCommandId}/revisions

Get DeliveryCommand revisions

Parameters

NameInTypeRequiredDescription
deliveryCommandIdpathinteger(int64)trueId of the DeliveryCommand to retrieve revisions from

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "DeliveryCommand Id", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState" }, "freed": { "type": "boolean" } } } ] } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[allOf]falsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»» anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events
»»» revisioninteger(int64)truenoneRevision Primary Key (global for all entities)
»»» timestampinteger(int64)truenoneEpoch millis
»»» clientAddressstringfalsenoneIP address of front-end client if any
»»» loggedUserIdinteger(int64)falsenonenone
»»» loggedUserLoginstringfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone
»»» idinteger(int64)falsenoneDeliveryCommand Id
»»» statestringfalsenoneDeliveryState
»»» freedbooleanfalsenonenone

validateDeliveryCommand

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/commands/{deliveryCommandId}/validate \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/commands/{deliveryCommandId}/validate

Validate a DeliveryCommand

Validate a DeliveryCommand, logged User must have VALIDATE_ORDER permission on deliveryCommand.job.owner User ; if validation succeeds, deliveries are created

Body parameter

{ "type": "object", "properties": { "validationReason": { "type": "string", "description": "Message reason of validation / rejection or cancel operations" } }, "description": "Delivery Validation parameter"}

Parameters

NameInTypeRequiredDescription
deliveryCommandIdpathinteger(int64)trueId of the DeliveryCommand
bodybodyDeliveryCommandValidationfalseOptional validationReason

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

rejectDeliveryCommand

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/commands/{deliveryCommandId}/reject \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/commands/{deliveryCommandId}/reject

Reject a DeliveryCommand

Reject a DeliveryCommand, logged User must have VALIDATE_ORDER permission on deliveryCommand.job.owner User

Body parameter

{ "type": "object", "properties": { "validationReason": { "type": "string", "description": "Message reason of validation / rejection or cancel operations" } }, "description": "Delivery Validation parameter"}

Parameters

NameInTypeRequiredDescription
deliveryCommandIdpathinteger(int64)trueId of the DeliveryCommand
bodybodyDeliveryCommandValidationfalseOptional reject Reason

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

freeDeliveryCommand

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/commands/{deliveryCommandId}/free \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/commands/{deliveryCommandId}/free

Free a DeliveryCommand

Free a DeliveryCommand (REJECTED or in DELIVERY_CREATION_ERROR) by releasing its PackGroups. Job is revalidated (PackGroup eligibility recomputed). Logged User must have CREATE_ORDER permission on deliveryCommand.job.owner User

Parameters

NameInTypeRequiredDescription
deliveryCommandIdpathinteger(int64)trueId of the DeliveryCommand

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

cancelDeliveryCommand

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/deliveries/commands/{deliveryCommandId}/cancel \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /deliveries/commands/{deliveryCommandId}/cancel

Cancel a DeliveryCommand

Body parameter

{ "type": "object", "properties": { "validationReason": { "type": "string", "description": "Message reason of validation / rejection or cancel operations" } }, "description": "Delivery Validation parameter"}

Parameters

NameInTypeRequiredDescription
deliveryCommandIdpathinteger(int64)trueId of the DeliveryCommand
bodybodyDeliveryCommandValidationfalseOptional cancel Reason

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

getDeliveryRevisions

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/{deliveryId}/revisions \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/{deliveryId}/revisions

Get Delivery revisions

Parameters

NameInTypeRequiredDescription
deliveryIdpathinteger(int64)trueId of the Delivery to retrieve revisions from

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "Delivery Id", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState" } } } ] } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[allOf]falsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»» anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events
»»» revisioninteger(int64)truenoneRevision Primary Key (global for all entities)
»»» timestampinteger(int64)truenoneEpoch millis
»»» clientAddressstringfalsenoneIP address of front-end client if any
»»» loggedUserIdinteger(int64)falsenonenone
»»» loggedUserLoginstringfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone
»»» idinteger(int64)falsenoneDelivery Id
»»» statestringfalsenoneDeliveryState

exportDeliveryTrackings

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/{deliveryId}/exportTrackings \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/{deliveryId}/exportTrackings

Export Delivery Tracking files

Parameters

NameInTypeRequiredDescription
deliveryIdpathinteger(int64)trueId of the Delivery to export

Example responses

200 Response

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredstring

getDeliveriesList

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/list \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/list

Get Deliveries

Retrieve Delivery list within date range from all kind of user (SuperAdmin, OU Admin, Group, simple User/Owner). In each Delivery, "shipments" array is NOT filled by this list operation.

Parameters

NameInTypeRequiredDescription
targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs
fromDatequerystringfalseFrom date (yyyy-mm-dd)
toDatequerystringfalseTo date (yyyy-mm-dd)
maxResultsqueryintegerfalseLimit the count of latest returned entities (default is BackEnd maximum)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "externalId": { "type": "string" }, "name": { "type": "string" }, "creationDate": { "type": "integer", "format": "int64" }, "postDate": { "type": "integer", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "deliveryCommandId": { "type": "integer", "format": "int64" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "fallbackFromDelivery": { "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" }, "serviceChannelLabel": { "type": "string" }, "channel": { "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" }, "shipments": { "type": "array", "description": "optional", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "shipmentCount": { "type": "integer", "description": "Number of shipments computed even if shipments are not fetched" }, "lateShipmentCount": { "type": "integer", "description": "Number of \"late\" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() \"/deliveries/late\" operation" } }, "description": "Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback" } }, "maxResult": { "type": "boolean", "description": "true if array may be truncated" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» array[Delivery]falsenone[Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback]
»»» idinteger(int64)falsenonenone
»»» nuidstringfalsenonenone
»»» externalIdstringfalsenonenone
»»» namestringfalsenonenone
»»» creationDateinteger(int64)falsenonenone
»»» postDateinteger(int64)falsenonenone
»»» statestringfalsenoneDeliveryState enum
»»» lastModifiedStateinteger(int64)falsenonenone
»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» idinteger(int64)falsenonenone
»»»» namestringfalsenonelogin or displayable name
»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» deliveryCommandIdinteger(int64)falsenonenone
»»» deliveryCommandCreationDateinteger(int64)falsenonenone
»»» fallbackFromDeliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» serviceChannelLabelstringfalsenonenone
»»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» shipments[Shipment]falsenoneoptional
»»»» idinteger(int64)falsenonenone
»»»» externalIdstringfalsenonenone
»»»» statusintegerfalsenonenone
»»»» lastModifiedStateinteger(int64)falsenonenone
»»»» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
»»»» userAcknowledgmentUserAcknowledgmentfalsenonenone
»»»»» messagestringfalsenoneOptional user provided info
»»»» packGroupIdinteger(int64)falsenonenone
»»»» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» deliveryExternalIdstringfalsenonenone
»»»» deliveryCreationDateinteger(int64)falsenonenone
»»»» deliveryPostDateinteger(int64)falsenonenone
»»»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» deliveryCommandCreationDateinteger(int64)falsenonenone
»»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» metadatas[Metadata]falsenonenone
»»»»» namestringfalsenonenone
»»»»» metadataKindstringfalsenonenone
»»»»» metadataTypestringfalsenonenone
»»»»» valuestringfalsenonenone
»»»»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
»»»»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
»»»»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
»»»» outputFiles[OutputFile]falsenonenone
»»»»» idinteger(int64)falsenonenone
»»»»» nuidstringfalsenonenone
»»»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»»»» fileSizeinteger(int64)falsenonenone
»»»»» pageCountintegerfalsenonenone
»»»»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
»»»»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
»»»»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
»»»»» outputFileOptionIds[integer]falsenonenone
»»» shipmentCountintegerfalsenoneNumber of shipments computed even if shipments are not fetched
»»» lateShipmentCountintegerfalsenoneNumber of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation
»» maxResultbooleanfalsenonetrue if array may be truncated

Enumerated Values

PropertyValue
metadataKindREQUIREMENT
metadataKindMETADATA
metadataKindTRACKING
metadataTypeSHORT_VALUE
metadataTypeLONG_TEXT
metadataTypePOSTAL_ADDRESS
metadataTypeSTORAGE_REFERENCE

getDeliveryCounters

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/counters \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/counters

Get Delivery counters per DeliveryState

Parameters

NameInTypeRequiredDescription
targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs
fromDatequerystringfalseFrom date (yyyy-mm-dd)
toDatequerystringfalseTo date (yyyy-mm-dd)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultDeliveryCountersfalsenonenone
»» deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesinteger(int64)falsenonenone
»» deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesinteger(int64)falsenonenone

getDeliveryWithLateShipmentsCount

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/late/count \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/late/count

Get number of Deliveries with "late" Shipments

Parameters

NameInTypeRequiredDescription
latePostDatequerystringfalseFrom date (yyyy-mm-dd) ; default is today @ T00:00:00 UTC
lateStatusqueryintegerfalseCheck Shipment.status < lateStatus ; must be > 0 ; default is 600 (Posted)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "integer" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultintegerfalsenonenone

getDeliveryWithLateShipmentsList

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/deliveries/late \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /deliveries/late

Get list of Deliveries with "late" Shipments, including lateShipmentCount field

Parameters

NameInTypeRequiredDescription
latePostDatequerystringfalseFrom date (yyyy-mm-dd) ; default is today @ T00:00:00 UTC
lateStatusqueryintegerfalseCheck Shipment.status < lateStatus ; must be > 0 ; default is 600 (Posted)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "externalId": { "type": "string" }, "name": { "type": "string" }, "creationDate": { "type": "integer", "format": "int64" }, "postDate": { "type": "integer", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "deliveryCommandId": { "type": "integer", "format": "int64" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "fallbackFromDelivery": { "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" }, "serviceChannelLabel": { "type": "string" }, "channel": { "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" }, "shipments": { "type": "array", "description": "optional", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "shipmentCount": { "type": "integer", "description": "Number of shipments computed even if shipments are not fetched" }, "lateShipmentCount": { "type": "integer", "description": "Number of \"late\" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() \"/deliveries/late\" operation" } }, "description": "Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback" } }, "maxResult": { "type": "boolean", "description": "true if array may be truncated" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» array[Delivery]falsenone[Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback]
»»» idinteger(int64)falsenonenone
»»» nuidstringfalsenonenone
»»» externalIdstringfalsenonenone
»»» namestringfalsenonenone
»»» creationDateinteger(int64)falsenonenone
»»» postDateinteger(int64)falsenonenone
»»» statestringfalsenoneDeliveryState enum
»»» lastModifiedStateinteger(int64)falsenonenone
»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» idinteger(int64)falsenonenone
»»»» namestringfalsenonelogin or displayable name
»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» deliveryCommandIdinteger(int64)falsenonenone
»»» deliveryCommandCreationDateinteger(int64)falsenonenone
»»» fallbackFromDeliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» serviceChannelLabelstringfalsenonenone
»»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» shipments[Shipment]falsenoneoptional
»»»» idinteger(int64)falsenonenone
»»»» externalIdstringfalsenonenone
»»»» statusintegerfalsenonenone
»»»» lastModifiedStateinteger(int64)falsenonenone
»»»» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
»»»» userAcknowledgmentUserAcknowledgmentfalsenonenone
»»»»» messagestringfalsenoneOptional user provided info
»»»» packGroupIdinteger(int64)falsenonenone
»»»» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» deliveryExternalIdstringfalsenonenone
»»»» deliveryCreationDateinteger(int64)falsenonenone
»»»» deliveryPostDateinteger(int64)falsenonenone
»»»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» deliveryCommandCreationDateinteger(int64)falsenonenone
»»»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» metadatas[Metadata]falsenonenone
»»»»» namestringfalsenonenone
»»»»» metadataKindstringfalsenonenone
»»»»» metadataTypestringfalsenonenone
»»»»» valuestringfalsenonenone
»»»»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
»»»»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
»»»»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
»»»» outputFiles[OutputFile]falsenonenone
»»»»» idinteger(int64)falsenonenone
»»»»» nuidstringfalsenonenone
»»»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»»»» fileSizeinteger(int64)falsenonenone
»»»»» pageCountintegerfalsenonenone
»»»»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
»»»»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
»»»»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
»»»»» outputFileOptionIds[integer]falsenonenone
»»» shipmentCountintegerfalsenoneNumber of shipments computed even if shipments are not fetched
»»» lateShipmentCountintegerfalsenoneNumber of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation
»» maxResultbooleanfalsenonetrue if array may be truncated

Enumerated Values

PropertyValue
metadataKindREQUIREMENT
metadataKindMETADATA
metadataKindTRACKING
metadataTypeSHORT_VALUE
metadataTypeLONG_TEXT
metadataTypePOSTAL_ADDRESS
metadataTypeSTORAGE_REFERENCE

PackGroup

Reject, validate packGroups

getPackGroupRevisions

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/packGroups/{packGroupId}/revisions \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /packGroups/{packGroupId}/revisions

Retrieve revisions of a PackGroup

Parameters

NameInTypeRequiredDescription
packGroupIdpathinteger(int64)trueId of PackGroup to retrieve revisions from

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "PackGroup Id", "format": "int64" }, "state": { "type": "string", "description": "PackGroupState" }, "additionalEvent": { "type": "string", "description": "Possible values EDITED_nnn" } } } ] } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[allOf]falsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»» anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events
»»» revisioninteger(int64)truenoneRevision Primary Key (global for all entities)
»»» timestampinteger(int64)truenoneEpoch millis
»»» clientAddressstringfalsenoneIP address of front-end client if any
»»» loggedUserIdinteger(int64)falsenonenone
»»» loggedUserLoginstringfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»» anonymousobjectfalsenonenone
»»» idinteger(int64)falsenonePackGroup Id
»»» statestringfalsenonePackGroupState
»»» additionalEventstringfalsenonePossible values EDITED_nnn

reject

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/packGroups/reject \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /packGroups/reject

Reject a list of PackGroups

Pack groups must be in the same Job and in state CREATED or NOT_ELIGIBLE

Body parameter

{ "type": "object", "properties": { "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "JSON array of PackGroup Ids to reject"}

Parameters

NameInTypeRequiredDescription
bodybodyPackGroupIdsParameterfalsenone

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "integer", "description": "Ids of rejected PackGroups", "format": "int64" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggerInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[integer]falsenonenone

editPackRequirements

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/packGroups/{packGroupId}/edit \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /packGroups/{packGroupId}/edit

Edit a PackGroup raw requirements

Edit the raw Requirements of the first Pack of the given PackGroup. Calling this API will overwrite all Pack and Shipment 'scope' raw Requirements. Can also un-reject a PackGroup if it becomes eligible

Body parameter

{ "type": "object", "properties": { "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } }, "description": "Pack 'scope' Requirements requirementName -> value" }, "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "description": "Shipment 'scope' Requirements ServiceChannel.label -> requirementName -> value" } }}

Parameters

NameInTypeRequiredDescription
packGroupIdpathinteger(int64)trueId of PackGroup to edit (edit Requirements of the "first" Pack of given PackGroup)
bodybodyPackRequirementsDTOfalsenone

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "state": { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ] }, "fallbackState": { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ] }, "packs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "chunks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "startIndex": { "type": "integer" }, "pageCount": { "type": "integer" }, "properties": { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of extracted Metadata for orphan Chunk (including transient Metadata)" } } }, "inputFile": { "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": { "metadataValues": { "type": "object", "description": "Map of peristed Metadata for this Pack" }, "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "eligibility": { "type": "object", "additionalProperties": { "type": "object", "properties": { "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "validatedShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }, "eligibile": { "type": "boolean" }, "errorMessage": { "type": "string", "description": "Optional error message about this ServiceChannel non-eligibility" } } } }, "eligibleSendingStrategyGroups": { "type": "array", "description": "If not null, list of eligible StrategyGroup names", "items": { "type": "string" } }, "falseSendingStrategyGroups": { "type": "array", "description": "If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match", "items": { "type": "string" } } } } } } } }, "description": "fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultPackGroupfalsenonefallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR
»» idinteger(int64)falsenonenone
»» statePackGroupStatefalsenonenone
»» fallbackStatePackGroupStatefalsenonenone
»» packs[Pack]falsenonenone
»»» idinteger(int64)falsenonenone
»»» chunks[Chunk]falsenonenone
»»»» idinteger(int64)falsenonenone
»»»» startIndexintegerfalsenonenone
»»»» pageCountintegerfalsenonenone
»»»» propertiesobjectfalsenonenone
»»»»» metadataValuesobjectfalsenoneMap of extracted Metadata for orphan Chunk (including transient Metadata)
»»»» inputFileIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»»» idinteger(int64)falsenonenone
»»»»» namestringfalsenonelogin or displayable name
»»» propertiesPackPropertiesfalsenonenone
»»»» metadataValuesobjectfalsenoneMap of peristed Metadata for this Pack
»»»» rawPackRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementValuefalsenonenone
»»»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»»»» valuestringfalsenonenone
»»»»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»»»»» propertiesobjectfalsenoneFor raw Requirement, property key "PODX_forceValidation", persist false, value "true" can be used to "force" the validation fo an Address Requirement at Pack or Shipment "scope" if there is a "force" validation method defined in the Channel
»»»»»»» additionalPropertiesobjectfalsenonenone
»»»»»»»» persistbooleanfalsenonenone
»»»»»»»» valuestringfalsenonenone
»»»» eligibilityobjectfalsenonenone
»»»»» additionalPropertiesServiceChannelEligibilityfalsenonenone
»»»»»» rawShipmentRequirementsobjectfalsenonenone
»»»»»»» additionalPropertiesRequirementValuefalsenonenone
»»»»»» validatedShipmentRequirementsobjectfalsenonenone
»»»»»»» additionalPropertiesValidatedRequirementValuefalsenonenone
»»»»»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»»»»»» valuestringfalsenoneString value of the element
»»»»»»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»»»»»»» propertiesobjectfalsenoneAdditional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)
»»»»»»»»» additionalPropertiesobjectfalsenonenone
»»»»»»»»»» persistbooleanfalsenonenone
»»»»»»»»»» valuestringfalsenonenone
»»»»»»»» statusintegerfalsenonestatus values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)
»»»»»»»» validbooleanfalsenonevalid if (status == 0)
»»»»»»»» errorMessagestringfalsenoneOptional
»»»»»» eligibilebooleanfalsenonenone
»»»»»» errorMessagestringfalsenoneOptional error message about this ServiceChannel non-eligibility
»»»» eligibleSendingStrategyGroups[string]falsenoneIf not null, list of eligible StrategyGroup names
»»»» falseSendingStrategyGroups[string]falsenoneIf not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match

Enumerated Values

PropertyValue
stateCREATED
stateREJECTED
stateSHIPMENT_IN_CREATION
stateSHIPMENT_ASSOCIATED
stateSHIPMENT_CREATION_ERROR
stateNOT_ELIGIBLE
fallbackStateCREATED
fallbackStateREJECTED
fallbackStateSHIPMENT_IN_CREATION
fallbackStateSHIPMENT_ASSOCIATED
fallbackStateSHIPMENT_CREATION_ERROR
fallbackStateNOT_ELIGIBLE
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
status0
status100
status150
status200
status300

getPackGroupThumbnails

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/packGroups/thumbnails?type=string \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /packGroups/thumbnails

Get thumbnails of PackGroups

Parameters

NameInTypeRequiredDescription
packGroupIdsquerystringtrueIds of PackGroup as a list

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "example": "{\"packGroupId\":\"data:image/jpeg;base64,QmFzZTY...\",...}", "items": { "type": "string" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[string]falsenonenone

getPackGroupRawFile

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/packGroups/{packGroupId}/rawFile \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

GET /packGroups/{packGroupId}/rawFile

Retrieve raw Pdf file of a PackGroup

Retrieve raw Ped file of a PackGroup (simple concatenation of all Chunks of the Packs of the requested PackGroup) WITHOUT any composition

Parameters

NameInTypeRequiredDescription
packGroupIdpathinteger(int64)trueId of PackGroup to retrieve

Example responses

200 Response

Responses

StatusMeaningDescriptionSchema
200OKoctet-stream of requested Pdf filestring

Group

Manage the groups

getGroups

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/groups?type=integer&format=int64 \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /groups

Get Group

Parameters

NameInTypeRequiredDescription
ouIdqueryinteger(int64)trueouId to filter the group search

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "organizationalUnitId": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Group]falsenonenone
»» idinteger(int64)falsenonenone
»» organizationalUnitIdinteger(int64)falsenonenone
»» namestringfalsenonenone

saveOrUpdateGroup

Code samples

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

POST /groups

Save or update Group

Body parameter

{ "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "organizationalUnitId": { "type": "integer", "format": "int64" }, "name": { "type": "string" } }}

Parameters

NameInTypeRequiredDescription
bodybodyGrouptrueOption objects

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "organizationalUnitId": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultGroupfalsenonenone
»» idinteger(int64)falsenonenone
»» organizationalUnitIdinteger(int64)falsenonenone
»» namestringfalsenonenone

deleteGroup

Code samples

# You can also use wgetcurl -X DELETE mycloud.nirva-software.com/groups/{groupId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

DELETE /groups/{groupId}

Delete a group

Group must NOT be associated with any User

Parameters

NameInTypeRequiredDescription
groupIdpathinteger(int64)trueId of Group to delete

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "description": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenoneSUCCESS

Job

Manage the jobs

getJobsWithInputFiles

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs

Get jobs

Get Jobs WITHOUT cancelled Jobs but fetching InputFile entities ; If NO given targetOwnerId, use currently logged User ; If fromDate is null, default range is last 31 days until today (approximately one month)

Parameters

NameInTypeRequiredDescription
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs
fromDatequerystringfalseFrom date (yyyy-mm-dd)
toDatequerystringfalseTo date (yyyy-mm-dd)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "submittedDate": { "type": "string" }, "autoCreateDeliveryCommand": { "type": "boolean", "description": "if true, try to create DeliveryCommand if all Job PackGroups are eligible" }, "validatedJobMetadatas": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Validated Job / Service Metadata" }, "orphanChunkIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "state": { "type": "string" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "errorMessage": { "type": "string" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "displayBilling": { "type": "boolean" }, "service": { "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" }, "thumbnailPurged": { "type": "boolean", "description": "If true, the thumbnail of the Job has been purged (invalid storage reference)" }, "inputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "fileRelativePathname": { "type": "string", "description": "Only valid if file comes from a BoxArchive (Zip)" }, "originFileName": { "type": "string" }, "boxName": { "type": "string" }, "boxType": { "type": "string", "enum": [ "PDF", "DATA_FILE", "ARCHIVE" ] }, "appositionId": { "type": "string", "description": "Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object" }, "indexInBox": { "type": "integer" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "filesize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "inputFile object, storedDate is epoch millis" } }, "packGroupCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer" }, "packGroupCountPerFallbackStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback" }, "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[JobResult]falsenonenone
»» idinteger(int64)falsenonenone
»» namestringfalsenonenone
»» submittedDatestringfalsenonenone
»» autoCreateDeliveryCommandbooleanfalsenoneif true, try to create DeliveryCommand if all Job PackGroups are eligible
»» validatedJobMetadatasobjectfalsenoneValidated Job / Service Metadata
»»» additionalPropertiesstringfalsenonenone
»» orphanChunkIds[integer]falsenonenone
»» statestringfalsenonenone
»» invalidatedbooleanfalsenonenone
»» frozenbooleanfalsenonenone
»» errorMessagestringfalsenonenone
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» displayBillingbooleanfalsenonenone
»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» thumbnailPurgedbooleanfalsenoneIf true, the thumbnail of the Job has been purged (invalid storage reference)
»» inputFiles[InputFile]falsenone[inputFile object, storedDate is epoch millis]
»»» idinteger(int64)falsenonenone
»»» fileRelativePathnamestringfalsenoneOnly valid if file comes from a BoxArchive (Zip)
»»» originFileNamestringfalsenonenone
»»» boxNamestringfalsenonenone
»»» boxTypestringfalsenonenone
»»» appositionIdstringfalsenoneOptional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object
»»» indexInBoxintegerfalsenonenone
»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»» filesizeinteger(int64)falsenonenone
»»» storedDateinteger(int64)falsenonenone
»» packGroupCountPerStatesobjectfalsenoneMap PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer
»»» additionalPropertiesintegerfalsenonenone
»» packGroupCountPerFallbackStatesobjectfalsenoneMap PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback
»»» additionalPropertiesintegerfalsenonenone
»» deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesintegerfalsenonenone
»» deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesintegerfalsenonenone

Enumerated Values

PropertyValue
boxTypePDF
boxTypeDATA_FILE
boxTypeARCHIVE

createJob

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs \ -H 'Content-Type: multipart/form-data' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs

Create Job

Submitted files and file references are passed as "multipart/form-data" ; see https://confluence.nirva-software.com/display/PODXDOC/Job+REST+API for part name conventions

Body parameter

type: objectproperties: parameters: type: object properties: jobName: type: string description: User-specified Job.name (if not given, will use MAIN file name) targetOwnerId: type: integer description: Optional ; allow to create a Job on behalf of a target Owner different from current logged User format: int64 serviceId: type: integer format: int64 splitConfiguration: type: object additionalProperties: discriminator: propertyName: "@type" mapping: bsc.NONE: "#/components/schemas/BoxSplitConfigurationNone" bsc.PAGE: "#/components/schemas/BoxSplitConfigurationPage" bsc.PDF_AREA: "#/components/schemas/BoxSplitConfigurationPDFArea" oneOf: - allOf: - &a1 required: - "@type" - editable type: object properties: editable: type: boolean "@type": type: string - type: object properties: "@type": type: string enum: - bsc.NONE - allOf: - *a1 - required: - pages type: object properties: "@type": type: string enum: - bsc.PAGE pages: type: integer - allOf: - *a1 - required: - area - pages - value type: object properties: "@type": type: string enum: - bsc.PDF_AREA area: &a3 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: &a4 type: object additionalProperties: type: string description: Parameters for the extraction. Depends on the library used. packRequirements: type: object additionalProperties: &a5 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.Coalesce: "#/components/schemas/ExpressionCoalesce" 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" exv.JobFileNameValue: "#/components/schemas/JobFileNameValue" 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 allowed, depending on context : * METADATA reference another Metadata * REQUIREMENT reference a Requirement * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID * For OUTPUT_FILE allowed reference names are : NUID enum: - METADATA - REQUIREMENT - ORGANIZATIONAL_UNIT - OUTPUT_FILE identifier: type: string description: Identifier of the element description: Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata - description: Part of the name of the underlying file of the box allOf: - &a2 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: - *a2 - 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: *a3 extractionParameters: *a4 - description: PDF metadata value from the underlying PDF file of the box allOf: - *a2 - 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: *a5 description: "Concat: concatenates all Expressions given in argument" - type: object properties: "@type": type: string enum: - exv.Coalesce operands: type: array items: *a5 description: "Coalesce: retrieve the first non-empty evaluation of its operands" - type: object properties: "@type": type: string enum: - exv.StrClean expr: *a5 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: *a5 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: *a5 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: - *a2 - 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: *a5 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: *a5 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: *a5 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: - exv.JobFileNameValue boxName: type: string description: Name of the Box (must exist in the Service) indexInBox: type: integer description: Index of file in the Box. 1 (default) is first file. -1 is last file. keepExtension: type: boolean description: If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. description: Name of a file in a box. Can be used in JobNameExpression on Job creation. description: Map ("Pack" scope) {requirementName -> Expression} shipmentRequirements: type: object additionalProperties: type: object additionalProperties: *a5 description: Map ("Shipment" scope) {serviceChannelLabel -> requirementName -> Expression} rawJobMetadatas: type: object additionalProperties: type: string description: Service / Job Metadata (constant String values) autoCreateDeliveryCommand: type: boolean description: if true, try to create DeliveryCommand if all Job PackGroups are eligible file__file_MAIN_0: type: string description: Name of the part is file____. format: binary file__file_ACH_0: type: string format: binary session__file_MAIN_0: type: string description: As an alternative, can also be a file in session. In that case, the content is the id of the file, and the parameter (part) name is session____. format: stringdescription: "'parameters' is JSON object JobCreationParameter"

Parameters

NameInTypeRequiredDescription
parametersbodyJobCreationParameterfalsenone
» jobNamebodystringfalseUser-specified Job.name (if not given, will use MAIN file name)
» targetOwnerIdbodyinteger(int64)falseOptional ; allow to create a Job on behalf of a target Owner different from current logged User
» serviceIdbodyinteger(int64)falsenone
» splitConfigurationbodyobjectfalsenone
»» additionalPropertiesbodyanyfalsenone
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyBoxSplitConfigurationBasicfalsenone
»»»»» editablebodybooleantruenone
»»»»» @typebodystringtruenone
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyBoxSplitConfigurationBasicfalsenone
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» pagesbodyintegertruenone
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyBoxSplitConfigurationBasicfalsenone
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» areabodyZoneAreatrueZoneArea object
»»»»»» leftbodynumber(float)falsenone
»»»»»» topbodynumber(float)falsenone
»»»»»» widthbodynumber(float)falsenone
»»»»»» heightbodynumber(float)falsenone
»»»»» valuebodystringtruenone
»»»»» pagesbodyintegertruenone
»»»»» extractionParametersbodyExtractionParametersfalseParameters for the extraction. Depends on the library used.
»»»»»» additionalPropertiesbodystringfalsenone
» packRequirementsbodyobjectfalseMap ("Pack" scope) {requirementName -> Expression}
»» additionalPropertiesbodyExpressionfalsenone
»»» anonymousbodyExpressionConstantfalsePre-defined text value
»»»» @typebodystringfalsenone
»»»» valuebodystringfalsenone
»»» anonymousbodyExpressionReferencefalseReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»» @typebodystringfalsenone
»»»» namespacebodyReferenceNamespacefalsenamespaces allowed, depending on context :
»»»» identifierbodystringfalseIdentifier of the element
»»» anonymousbodyanyfalsePart of the name of the underlying file of the box
»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»»» @typebodystringfalsenone
»»»»» fromMainbodybooleanfalseIf true, the target box is a MAIN box
»»»»» boxNamebodystringfalseIgnored if fromMain is true. Otherwise, indicates the name of the target box
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» beginbodyintegerfalsenone
»»»»» endbodyintegerfalsenone
»»» anonymousbodyanyfalseText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract
»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» pagebodyintegerfalsePage 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 "".
»»»»» areabodyZoneAreafalseZoneArea object
»»»»» extractionParametersbodyExtractionParametersfalseParameters for the extraction. Depends on the library used.
»»» anonymousbodyanyfalsePDF metadata value from the underlying PDF file of the box
»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» metadataNamebodystringfalseName of the PDF metadata to extract
»»» anonymousbodyExpressionConcatfalseConcat: concatenates all Expressions given in argument
»»»» @typebodystringfalsenone
»»»» operandsbody[oneOf]falsenone
»»» anonymousbodyExpressionCoalescefalseCoalesce: retrieve the first non-empty evaluation of its operands
»»»» @typebodystringfalsenone
»»»» operandsbody[oneOf]falsenone
»»» anonymousbodyExpressionStrCleanfalseCleans a string
»»»» @typebodystringfalsenone
»»»» exprbodyExpressionfalsenone
»»»» normalizeSpacebodybooleanfalseReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»» removeDiacriticsbodybooleanfalseReplaces the accentuated letters with their un-accentuated version
»»»» multilinebodybooleanfalseReplaces 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.
»»»» trimbodybooleanfalseRemoves 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.
»»» anonymousbodyExpressionStrNormalizeCasefalseNormalizes the case of the String
»»»» @typebodystringfalsenone
»»»» exprbodyExpressionfalsenone
»»»» toUpperbodybooleanfalseis set, the normalization will be to Upper Case, otherwise it will be to Lower Case
»»» anonymousbodyExpressionStrReplacefalseNormalizes the case of the String
»»»» @typebodystringfalsenone
»»»» exprbodyExpressionfalsenone
»»»» regExpPatternbodystringfalsevalid Regular Expression that the input string should match
»»»» replacementbodystringfalseThe 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 '\'.
»»»» firstOnlybodybooleanfalseIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.
»»» anonymousbodyanyfalseAbsolute 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.
»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»» anonymousbodyExpressionNumSheetsfalseReturns the number of sheets. Only used in Channel Options Condition context.
»»»» @typebodystringfalsenone
»»» anonymousbodyExpressionSubstringfalseExtract a portion of the string
»»»» @typebodystringfalsenone
»»»» exprbodyExpressionfalsenone
»»»» beginIndexbodyintegerfalseIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»» endIndexbodyintegerfalseIndex 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.
»»» anonymousbodyCurrentDatefalseRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»» @typebodystringfalsenone
»»» anonymousbodyDateParsefalseParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»» @typebodystringfalsenone
»»»» exprbodyExpressiontruenone
»»»» patternbodystringtruePattern 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
»»»» timeZonebodystringtrueDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»» localebodystringfalseLocale 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)
»»» anonymousbodyDateFormatfalseFormat a date (given as long epoch milli) into a human readable string
»»»» @typebodystringfalsenone
»»»» exprbodyExpressiontruenone
»»»» patternbodystringtruePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»» timeZonebodystringtrueTimeZone used to format the date.
»»»» localebodystringfalseLocale 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)
»»» anonymousbodyJobFileNameValuefalseName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»» @typebodystringfalsenone
»»»» boxNamebodystringfalseName of the Box (must exist in the Service)
»»»» indexInBoxbodyintegerfalseIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»» keepExtensionbodybooleanfalseIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.
»»» anonymousbodyanyfalsenone
» shipmentRequirementsbodyobjectfalseMap ("Shipment" scope) {serviceChannelLabel -> requirementName -> Expression}
»» additionalPropertiesbodyobjectfalsenone
»»» additionalPropertiesbodyExpressionfalsenone
» rawJobMetadatasbodyobjectfalseService / Job Metadata (constant String values)
»» additionalPropertiesbodystringfalsenone
» autoCreateDeliveryCommandbodybooleanfalseif true, try to create DeliveryCommand if all Job PackGroups are eligible
file__file_MAIN_0bodystring(binary)falseName of the part is file____.
file__file_ACH_0bodystring(binary)falsenone
session__file_MAIN_0bodystring(string)falseAs an alternative, can also be a file in session. In that case, the content is the id of the file, and the parameter (part) name is session____.

Detailed descriptions

»»»» namespace: namespaces allowed, depending on context :

Enumerated Values

ParameterValue
»»»»» @typebsc.NONE
»»»»» @typebsc.PAGE
»»»»» @typebsc.PDF_AREA
»»»» @typeexv.Value
»»»» @typeexv.Reference
»»»» namespaceMETADATA
»»»» namespaceREQUIREMENT
»»»» namespaceORGANIZATIONAL_UNIT
»»»» namespaceOUTPUT_FILE
»»»»» @typeexv.FileName
»»»»» @typeexv.PdfText
»»»»» @typeexv.PdfMetadata
»»»» @typeexv.Concat
»»»» @typeexv.Coalesce
»»»» @typeexv.StrClean
»»»» @typeexv.StrNormalizeCase
»»»» @typeexv.StrReplace
»»»»» @typeexv.PositionInBox
»»»» @typeexv.NumSheetsValue
»»»» @typeexv.Substring
»»»» @typeexv.CurrentDate
»»»» @typeexv.DateParse
»»»» @typeexv.DateFormat
»»»» @typeexv.JobFileNameValue

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "submittedDate": { "type": "string" }, "autoCreateDeliveryCommand": { "type": "boolean", "description": "if true, try to create DeliveryCommand if all Job PackGroups are eligible" }, "validatedJobMetadatas": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Validated Job / Service Metadata" }, "orphanChunkIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "state": { "type": "string" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "errorMessage": { "type": "string" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "displayBilling": { "type": "boolean" }, "service": { "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" }, "thumbnailPurged": { "type": "boolean", "description": "If true, the thumbnail of the Job has been purged (invalid storage reference)" }, "inputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "fileRelativePathname": { "type": "string", "description": "Only valid if file comes from a BoxArchive (Zip)" }, "originFileName": { "type": "string" }, "boxName": { "type": "string" }, "boxType": { "type": "string", "enum": [ "PDF", "DATA_FILE", "ARCHIVE" ] }, "appositionId": { "type": "string", "description": "Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object" }, "indexInBox": { "type": "integer" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "filesize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "inputFile object, storedDate is epoch millis" } }, "packGroupCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer" }, "packGroupCountPerFallbackStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback" }, "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultJobResultfalsenonenone
»» idinteger(int64)falsenonenone
»» namestringfalsenonenone
»» submittedDatestringfalsenonenone
»» autoCreateDeliveryCommandbooleanfalsenoneif true, try to create DeliveryCommand if all Job PackGroups are eligible
»» validatedJobMetadatasobjectfalsenoneValidated Job / Service Metadata
»»» additionalPropertiesstringfalsenonenone
»» orphanChunkIds[integer]falsenonenone
»» statestringfalsenonenone
»» invalidatedbooleanfalsenonenone
»» frozenbooleanfalsenonenone
»» errorMessagestringfalsenonenone
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» displayBillingbooleanfalsenonenone
»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» thumbnailPurgedbooleanfalsenoneIf true, the thumbnail of the Job has been purged (invalid storage reference)
»» inputFiles[InputFile]falsenone[inputFile object, storedDate is epoch millis]
»»» idinteger(int64)falsenonenone
»»» fileRelativePathnamestringfalsenoneOnly valid if file comes from a BoxArchive (Zip)
»»» originFileNamestringfalsenonenone
»»» boxNamestringfalsenonenone
»»» boxTypestringfalsenonenone
»»» appositionIdstringfalsenoneOptional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object
»»» indexInBoxintegerfalsenonenone
»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»» filesizeinteger(int64)falsenonenone
»»» storedDateinteger(int64)falsenonenone
»» packGroupCountPerStatesobjectfalsenoneMap PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer
»»» additionalPropertiesintegerfalsenonenone
»» packGroupCountPerFallbackStatesobjectfalsenoneMap PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback
»»» additionalPropertiesintegerfalsenonenone
»» deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesintegerfalsenonenone
»» deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesintegerfalsenonenone

Enumerated Values

PropertyValue
boxTypePDF
boxTypeDATA_FILE
boxTypeARCHIVE

getJobList

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/list \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/list

Get jobs

Retrieve Job list within date range from all kind of user (SuperAdmin, OU Admin, Group, simple User/Owner) WITHOUT cancelled Jobs and WITHOUT InputFiles ; default dateRange is current Day

Parameters

NameInTypeRequiredDescription
targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs
fromDatequerystringfalseFrom date (yyyy-mm-dd)
toDatequerystringfalseTo date (yyyy-mm-dd)
maxResultsqueryintegerfalseLimit the count of latest returned entities (default is BackEnd maximum)
pendingquerybooleanfalseIf true, only return "pending Jobs" as counted by "pendingJobCount" by "/jobs/counters" operation

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "submittedDate": { "type": "string" }, "autoCreateDeliveryCommand": { "type": "boolean", "description": "if true, try to create DeliveryCommand if all Job PackGroups are eligible" }, "validatedJobMetadatas": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Validated Job / Service Metadata" }, "orphanChunkIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "state": { "type": "string" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "errorMessage": { "type": "string" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "displayBilling": { "type": "boolean" }, "service": { "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" }, "thumbnailPurged": { "type": "boolean", "description": "If true, the thumbnail of the Job has been purged (invalid storage reference)" }, "inputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "fileRelativePathname": { "type": "string", "description": "Only valid if file comes from a BoxArchive (Zip)" }, "originFileName": { "type": "string" }, "boxName": { "type": "string" }, "boxType": { "type": "string", "enum": [ "PDF", "DATA_FILE", "ARCHIVE" ] }, "appositionId": { "type": "string", "description": "Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object" }, "indexInBox": { "type": "integer" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "filesize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "inputFile object, storedDate is epoch millis" } }, "packGroupCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer" }, "packGroupCountPerFallbackStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback" }, "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } } } }, "maxResult": { "type": "boolean", "description": "true if array may be truncated" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» array[JobResult]falsenonenone
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonenone
»»» submittedDatestringfalsenonenone
»»» autoCreateDeliveryCommandbooleanfalsenoneif true, try to create DeliveryCommand if all Job PackGroups are eligible
»»» validatedJobMetadatasobjectfalsenoneValidated Job / Service Metadata
»»»» additionalPropertiesstringfalsenonenone
»»» orphanChunkIds[integer]falsenonenone
»»» statestringfalsenonenone
»»» invalidatedbooleanfalsenonenone
»»» frozenbooleanfalsenonenone
»»» errorMessagestringfalsenonenone
»»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»» idinteger(int64)falsenonenone
»»»» namestringfalsenonelogin or displayable name
»»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» displayBillingbooleanfalsenonenone
»»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» thumbnailPurgedbooleanfalsenoneIf true, the thumbnail of the Job has been purged (invalid storage reference)
»»» inputFiles[InputFile]falsenone[inputFile object, storedDate is epoch millis]
»»»» idinteger(int64)falsenonenone
»»»» fileRelativePathnamestringfalsenoneOnly valid if file comes from a BoxArchive (Zip)
»»»» originFileNamestringfalsenonenone
»»»» boxNamestringfalsenonenone
»»»» boxTypestringfalsenonenone
»»»» appositionIdstringfalsenoneOptional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object
»»»» indexInBoxintegerfalsenonenone
»»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»»» filesizeinteger(int64)falsenonenone
»»»» storedDateinteger(int64)falsenonenone
»»» packGroupCountPerStatesobjectfalsenoneMap PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer
»»»» additionalPropertiesintegerfalsenonenone
»»» packGroupCountPerFallbackStatesobjectfalsenoneMap PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback
»»»» additionalPropertiesintegerfalsenonenone
»»» deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
»»»» additionalPropertiesintegerfalsenonenone
»»» deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
»»»» additionalPropertiesintegerfalsenonenone
»» maxResultbooleanfalsenonetrue if array may be truncated

Enumerated Values

PropertyValue
boxTypePDF
boxTypeDATA_FILE
boxTypeARCHIVE

getJobCounters

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/counters \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/counters

Get Job counters per JobState

Parameters

NameInTypeRequiredDescription
targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs
fromDatequerystringfalseFrom date (yyyy-mm-dd)
toDatequerystringfalseTo date (yyyy-mm-dd)

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "jobCountPerStates": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map Job.state -> count ; Job.state is string representation of JobState Enum ; count is positive int64" }, "pendingJobCount": { "type": "integer", "description": "Jobs which are NOT in Error (ie in PACK_GROUPS_CREATED State), NOT frozen and have unassigned PackGoups (can be used to create DeliveyCommand / Deliveries)", "format": "int64" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultJobCountersfalsenonenone
»» jobCountPerStatesobjectfalsenoneMap Job.state -> count ; Job.state is string representation of JobState Enum ; count is positive int64
»»» additionalPropertiesinteger(int64)falsenonenone
»» pendingJobCountinteger(int64)falsenoneJobs which are NOT in Error (ie in PACK_GROUPS_CREATED State), NOT frozen and have unassigned PackGoups (can be used to create DeliveyCommand / Deliveries)

getJob

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/{jobId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/{jobId}

Get job

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job to retrieve

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "submittedDate": { "type": "string" }, "autoCreateDeliveryCommand": { "type": "boolean", "description": "if true, try to create DeliveryCommand if all Job PackGroups are eligible" }, "validatedJobMetadatas": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Validated Job / Service Metadata" }, "orphanChunkIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "state": { "type": "string" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "errorMessage": { "type": "string" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "displayBilling": { "type": "boolean" }, "service": { "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" }, "thumbnailPurged": { "type": "boolean", "description": "If true, the thumbnail of the Job has been purged (invalid storage reference)" }, "inputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "fileRelativePathname": { "type": "string", "description": "Only valid if file comes from a BoxArchive (Zip)" }, "originFileName": { "type": "string" }, "boxName": { "type": "string" }, "boxType": { "type": "string", "enum": [ "PDF", "DATA_FILE", "ARCHIVE" ] }, "appositionId": { "type": "string", "description": "Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object" }, "indexInBox": { "type": "integer" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "filesize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "inputFile object, storedDate is epoch millis" } }, "packGroupCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer" }, "packGroupCountPerFallbackStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback" }, "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultJobResultfalsenonenone
»» idinteger(int64)falsenonenone
»» namestringfalsenonenone
»» submittedDatestringfalsenonenone
»» autoCreateDeliveryCommandbooleanfalsenoneif true, try to create DeliveryCommand if all Job PackGroups are eligible
»» validatedJobMetadatasobjectfalsenoneValidated Job / Service Metadata
»»» additionalPropertiesstringfalsenonenone
»» orphanChunkIds[integer]falsenonenone
»» statestringfalsenonenone
»» invalidatedbooleanfalsenonenone
»» frozenbooleanfalsenonenone
»» errorMessagestringfalsenonenone
»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» displayBillingbooleanfalsenonenone
»» serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» thumbnailPurgedbooleanfalsenoneIf true, the thumbnail of the Job has been purged (invalid storage reference)
»» inputFiles[InputFile]falsenone[inputFile object, storedDate is epoch millis]
»»» idinteger(int64)falsenonenone
»»» fileRelativePathnamestringfalsenoneOnly valid if file comes from a BoxArchive (Zip)
»»» originFileNamestringfalsenonenone
»»» boxNamestringfalsenonenone
»»» boxTypestringfalsenonenone
»»» appositionIdstringfalsenoneOptional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object
»»» indexInBoxintegerfalsenonenone
»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
»»» filesizeinteger(int64)falsenonenone
»»» storedDateinteger(int64)falsenonenone
»» packGroupCountPerStatesobjectfalsenoneMap PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer
»»» additionalPropertiesintegerfalsenonenone
»» packGroupCountPerFallbackStatesobjectfalsenoneMap PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback
»»» additionalPropertiesintegerfalsenonenone
»» deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesintegerfalsenonenone
»» deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
»»» additionalPropertiesintegerfalsenonenone

Enumerated Values

PropertyValue
boxTypePDF
boxTypeDATA_FILE
boxTypeARCHIVE

getJobRevisions

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/{jobId}/revisions \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/{jobId}/revisions

Get Job revisions

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job to retrieve revisions from

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "Job Id", "format": "int64" }, "state": { "type": "string", "description": "JobState" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "purgeState": { "type": "integer", "description": "Bit field of purge state 2^0 FILES_PURGED, 2^1 INPUT_FILES_ARCHIVED, 2^2 OUTPUT_FILES_ARCHIVED, 2^3 TRACKING_FILES_ARCHIVED" } } } ] } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» array[allOf]falsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»» anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events
»»»» revisioninteger(int64)truenoneRevision Primary Key (global for all entities)
»»»» timestampinteger(int64)truenoneEpoch millis
»»»» clientAddressstringfalsenoneIP address of front-end client if any
»»»» loggedUserIdinteger(int64)falsenonenone
»»»» loggedUserLoginstringfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»» anonymousobjectfalsenonenone
»»»» idinteger(int64)falsenoneJob Id
»»»» statestringfalsenoneJobState
»»»» invalidatedbooleanfalsenonenone
»»»» frozenbooleanfalsenonenone
»»»» purgeStateintegerfalsenoneBit field of purge state 2^0 FILES_PURGED, 2^1 INPUT_FILES_ARCHIVED, 2^2 OUTPUT_FILES_ARCHIVED, 2^3 TRACKING_FILES_ARCHIVED

cancelJob

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs/{jobId}/cancel \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs/{jobId}/cancel

Cancel job

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

freezeJob

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs/{jobId}/freeze \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs/{jobId}/freeze

Freeze job

Explicitly set Job into FROZEN state

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

Revalidate a Job (recompute PackGroup eligibility)

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs/{jobId}/revalidate \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs/{jobId}/revalidate

Revalidate a Job

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "integer", "description": "Number of PackGroups revalidated (for which eligibility has been recomputed)", "example": 1 } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultintegerfalsenoneNumber of PackGroups revalidated (for which eligibility has been recomputed)

getJobThumbnails

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/thumbnails?type=string \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/thumbnails

Get thumbnails of a job

Parameters

NameInTypeRequiredDescription
jobIdsquerystringtrueIds of the Jobs as a list

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "example": "{\"jobId\":\"data:image/jpeg;base64,QmFzZTY...\",...}", "items": { "type": "string" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[string]falsenonenone

getInputFile

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/inputFile/{inputFileId} \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/inputFile/{inputFileId}

Get InputFile of a job

Parameters

NameInTypeRequiredDescription
inputFileIdpathinteger(int64)trueId of the inputFile

Example responses

200 Response

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredstring

getJobPackGroups

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/{jobId}/packGroups \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/{jobId}/packGroups

Get PackGroups of a job

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "state": { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ] }, "fallbackState": { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ] }, "packs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "chunks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "startIndex": { "type": "integer" }, "pageCount": { "type": "integer" }, "properties": { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of extracted Metadata for orphan Chunk (including transient Metadata)" } } }, "inputFile": { "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": { "metadataValues": { "type": "object", "description": "Map of peristed Metadata for this Pack" }, "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "eligibility": { "type": "object", "additionalProperties": { "type": "object", "properties": { "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "validatedShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }, "eligibile": { "type": "boolean" }, "errorMessage": { "type": "string", "description": "Optional error message about this ServiceChannel non-eligibility" } } } }, "eligibleSendingStrategyGroups": { "type": "array", "description": "If not null, list of eligible StrategyGroup names", "items": { "type": "string" } }, "falseSendingStrategyGroups": { "type": "array", "description": "If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match", "items": { "type": "string" } } } } } } } }, "description": "fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[PackGroup]falsenone[fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR]
»» idinteger(int64)falsenonenone
»» statePackGroupStatefalsenonenone
»» fallbackStatePackGroupStatefalsenonenone
»» packs[Pack]falsenonenone
»»» idinteger(int64)falsenonenone
»»» chunks[Chunk]falsenonenone
»»»» idinteger(int64)falsenonenone
»»»» startIndexintegerfalsenonenone
»»»» pageCountintegerfalsenonenone
»»»» propertiesobjectfalsenonenone
»»»»» metadataValuesobjectfalsenoneMap of extracted Metadata for orphan Chunk (including transient Metadata)
»»»» inputFileIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»»»» idinteger(int64)falsenonenone
»»»»» namestringfalsenonelogin or displayable name
»»» propertiesPackPropertiesfalsenonenone
»»»» metadataValuesobjectfalsenoneMap of peristed Metadata for this Pack
»»»» rawPackRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementValuefalsenonenone
»»»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»»»» valuestringfalsenonenone
»»»»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»»»»» propertiesobjectfalsenoneFor raw Requirement, property key "PODX_forceValidation", persist false, value "true" can be used to "force" the validation fo an Address Requirement at Pack or Shipment "scope" if there is a "force" validation method defined in the Channel
»»»»»»» additionalPropertiesobjectfalsenonenone
»»»»»»»» persistbooleanfalsenonenone
»»»»»»»» valuestringfalsenonenone
»»»» eligibilityobjectfalsenonenone
»»»»» additionalPropertiesServiceChannelEligibilityfalsenonenone
»»»»»» rawShipmentRequirementsobjectfalsenonenone
»»»»»»» additionalPropertiesRequirementValuefalsenonenone
»»»»»» validatedShipmentRequirementsobjectfalsenonenone
»»»»»»» additionalPropertiesValidatedRequirementValuefalsenonenone
»»»»»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»»»»»» valuestringfalsenoneString value of the element
»»»»»»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»»»»»»» propertiesobjectfalsenoneAdditional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)
»»»»»»»»» additionalPropertiesobjectfalsenonenone
»»»»»»»»»» persistbooleanfalsenonenone
»»»»»»»»»» valuestringfalsenonenone
»»»»»»»» statusintegerfalsenonestatus values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)
»»»»»»»» validbooleanfalsenonevalid if (status == 0)
»»»»»»»» errorMessagestringfalsenoneOptional
»»»»»» eligibilebooleanfalsenonenone
»»»»»» errorMessagestringfalsenoneOptional error message about this ServiceChannel non-eligibility
»»»» eligibleSendingStrategyGroups[string]falsenoneIf not null, list of eligible StrategyGroup names
»»»» falseSendingStrategyGroups[string]falsenoneIf not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match

Enumerated Values

PropertyValue
stateCREATED
stateREJECTED
stateSHIPMENT_IN_CREATION
stateSHIPMENT_ASSOCIATED
stateSHIPMENT_CREATION_ERROR
stateNOT_ELIGIBLE
fallbackStateCREATED
fallbackStateREJECTED
fallbackStateSHIPMENT_IN_CREATION
fallbackStateSHIPMENT_ASSOCIATED
fallbackStateSHIPMENT_CREATION_ERROR
fallbackStateNOT_ELIGIBLE
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
status0
status100
status150
status200
status300

getJobOrphanChunks

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/jobs/{jobId}/orphanChunks \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /jobs/{jobId}/orphanChunks

Get orphan Chunks of a job

Parameters

NameInTypeRequiredDescription
jobIdpathinteger(int64)trueId of the Job

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "description": "Can be empty if this Job has NO orphan Chunk", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "startIndex": { "type": "integer" }, "pageCount": { "type": "integer" }, "properties": { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of extracted Metadata for orphan Chunk (including transient Metadata)" } } }, "inputFile": { "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" } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Chunk]falsenoneCan be empty if this Job has NO orphan Chunk
»» idinteger(int64)falsenonenone
»» startIndexintegerfalsenonenone
»» pageCountintegerfalsenonenone
»» propertiesobjectfalsenonenone
»»» metadataValuesobjectfalsenoneMap of extracted Metadata for orphan Chunk (including transient Metadata)
»» inputFileIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name

simpleComputeRequirements

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs/simple/computeRequirements?type=integer&format=int64 \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs/simple/computeRequirements

Compute requirements

Parameters

NameInTypeRequiredDescription
serviceIdqueryinteger(int64)trueId of the Service
targetOwnerIdqueryinteger(int64)falseId of target Owner/User of Jobs

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "additionalProperties": { "type": "object", "properties": { "rawValue": { "type": "string", "description": "String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)" }, "detectedCountryCode": { "type": "string", "description": "For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code" }, "useDefaultCountry": { "type": "boolean", "description": "For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry" }, "validatedRequirementValue": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultobjectfalsenonenone
»» additionalPropertiesValidatedRequirementWrapperfalsenonenone
»»» rawValuestringfalsenoneString value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)
»»» detectedCountryCodestringfalsenoneFor POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code
»»» useDefaultCountrybooleanfalsenoneFor POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry
»»» validatedRequirementValueValidatedRequirementValuefalsenonenone
»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»» valuestringfalsenoneString value of the element
»»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»»» propertiesobjectfalsenoneAdditional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)
»»»»» additionalPropertiesobjectfalsenonenone
»»»»»» persistbooleanfalsenonenone
»»»»»» valuestringfalsenonenone
»»»» statusintegerfalsenonestatus values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)
»»»» validbooleanfalsenonevalid if (status == 0)
»»»» errorMessagestringfalsenoneOptional

Enumerated Values

PropertyValue
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
status0
status100
status150
status200
status300

simpleCheckRequirementValue

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs/simple/checkRequirementValue \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs/simple/checkRequirementValue

Simple check the value of a requirement

The check parameter must specify the service id, the requirement name and the requirement value

Body parameter

{ "type": "object", "properties": { "serviceId": { "type": "integer", "format": "int64" }, "targetOwnerId": { "type": "integer", "description": "Optional, Id of target Owner/User of Jobs", "format": "int64" }, "requirementName": { "type": "string" }, "requirementValue": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }}

Parameters

NameInTypeRequiredDescription
serviceIdbodyinteger(int64)falsenone
targetOwnerIdbodyinteger(int64)falseOptional, Id of target Owner/User of Jobs
requirementNamebodystringfalsenone
requirementValuebodyRequirementValuefalsenone
» typebodyRequirementTypefalseAll types except HTML are limitted to 512 UTF-16 chars
» valuebodystringfalsenone
» countryCodebodystringfalseISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
» propertiesbodyobjectfalseFor raw Requirement, property key "PODX_forceValidation", persist false, value "true" can be used to "force" the validation fo an Address Requirement at Pack or Shipment "scope" if there is a "force" validation method defined in the Channel
»» additionalPropertiesbodyobjectfalsenone
»»» persistbodybooleanfalsenone
»»» valuebodystringfalsenone

Enumerated Values

ParameterValue
» typePOSTAL_ADDRESS
» typeTEXT
» typeMULTILINE
» typeHTML
» typePHONE

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "rawValue": { "type": "string", "description": "String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)" }, "detectedCountryCode": { "type": "string", "description": "For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code" }, "useDefaultCountry": { "type": "boolean", "description": "For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry" }, "validatedRequirementValue": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultValidatedRequirementWrapperfalsenonenone
»» rawValuestringfalsenoneString value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)
»» detectedCountryCodestringfalsenoneFor POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code
»» useDefaultCountrybooleanfalsenoneFor POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry
»» validatedRequirementValueValidatedRequirementValuefalsenonenone
»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»» valuestringfalsenoneString value of the element
»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»» propertiesobjectfalsenoneAdditional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)
»»»» additionalPropertiesobjectfalsenonenone
»»»»» persistbooleanfalsenonenone
»»»»» valuestringfalsenonenone
»»» statusintegerfalsenonestatus values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)
»»» validbooleanfalsenonevalid if (status == 0)
»»» errorMessagestringfalsenoneOptional

Enumerated Values

PropertyValue
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
status0
status100
status150
status200
status300

simpleExtractAndCheckArea

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/jobs/simple/extractAndCheckArea \ -H 'Content-Type: multipart/form-data' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /jobs/simple/extractAndCheckArea

Simple check requirements

Parameters object is defined with serviceId, requirementName and an area(Zonearea)

Body parameter

required: - submittedFiletype: objectproperties: submittedFile: type: string description: file to upload format: binary parameters: type: object properties: serviceId: type: integer format: int64 targetOwnerId: type: integer description: Optional, Id of target Owner/User of Jobs format: int64 requirementName: type: string 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: "'parameters' is JSON object"

Parameters

NameInTypeRequiredDescription
submittedFilebodystring(binary)truefile to upload
parametersbodyobjectfalsenone
» serviceIdbodyinteger(int64)falsenone
» targetOwnerIdbodyinteger(int64)falseOptional, Id of target Owner/User of Jobs
» requirementNamebodystringfalsenone
» areabodyZoneAreafalseZoneArea object
»» leftbodynumber(float)falsenone
»» topbodynumber(float)falsenone
»» widthbodynumber(float)falsenone
»» heightbodynumber(float)falsenone
» extractionParametersbodyExtractionParametersfalseParameters for the extraction. Depends on the library used.
»» additionalPropertiesbodystringfalsenone

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "object", "properties": { "rawValue": { "type": "string", "description": "String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)" }, "detectedCountryCode": { "type": "string", "description": "For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code" }, "useDefaultCountry": { "type": "boolean", "description": "For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry" }, "validatedRequirementValue": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultValidatedRequirementWrapperfalsenonenone
»» rawValuestringfalsenoneString value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)
»» detectedCountryCodestringfalsenoneFor POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code
»» useDefaultCountrybooleanfalsenoneFor POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry
»» validatedRequirementValueValidatedRequirementValuefalsenonenone
»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»» valuestringfalsenoneString value of the element
»»» countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
»»» propertiesobjectfalsenoneAdditional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)
»»»» additionalPropertiesobjectfalsenonenone
»»»»» persistbooleanfalsenonenone
»»»»» valuestringfalsenonenone
»»» statusintegerfalsenonestatus values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)
»»» validbooleanfalsenonevalid if (status == 0)
»»» errorMessagestringfalsenoneOptional

Enumerated Values

PropertyValue
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
status0
status100
status150
status200
status300

OrganizationalUnit

Manage the organizational units

getOrganizationalUnits

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/ou \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /ou

Get organizationalUnit

Parameters

NameInTypeRequiredDescription
includeRemovedquerybooleanfalseFor SuperAdmin, allos to retrive logically removed OUs

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "enabled": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" } }, "description": "Note: parent parameter can be NULL if root OU" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[OrganizationalUnit]falsenone[Note: parent parameter can be NULL if root OU]
»» idinteger(int64)falsenonenone
»» creationdateinteger(int64)falseread-onlynone
»» accountIdentifierstringfalsenoneOnly ASCII 0-9 A-Z a-z and -._~
»» namestringfalsenonenone
»» brandingIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» parentIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» allowOUChildrenbooleanfalsenonenone
»» freezeDelayDaysintegerfalsenonenone
»» fileDelayDaysintegerfalsenonenone
»» dataDelayDaysintegerfalsenonenone
»» accountingCodestringfalsenonenone
»» productionCodestringfalsenonenone
»» partnerCodestringfalsenonenone
»» billingTypestringfalsenonenone
»» defaultMailCountrystringfalsenonenone
»» minPasswordEntropyinteger(int32)falsenoneMinimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0
»» maxPasswordValidityDaysinteger(int32)falsenoneMaximum number of days between password change by User ; only checked if > 0
»» propertiesOrganizationalUnitPropertiesfalsenonenone
»»» emailAddressstringfalsenonenone
»»» senderAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»» addressLinesstringfalsenonenone
»»»» countryCodestringfalsenonenone
»»» returnAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»» siretstringfalsenonenone
»»» controlledValues[ControlledValue]falsenone[Can be used as ControlledValueMetadata in Service Metadata]
»»»» namestringfalsenonenone
»»»» elements[ElementValue]falsenonenone
»»»»» valuestringfalsenoneTechnical value (must NOT be empty)
»»»»» labelstringfalsenoneUser-friendly label (must NOT be null), can be equal to value
»»»» allowFreeValuebooleanfalsenoneIf true, user can enter a metadat value outside the elements list
»»» webHookURLstringfalsenoneURL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications.
»» senderAccountbooleanfalsenoneTechnical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)
»» enabledbooleanfalsenonenone
»» accountExpiredbooleanfalsenonenone
»» removedbooleanfalsenonenone

saveOrUpdateOrganizationalUnit

Code samples

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

POST /ou

Save or update organizationalUnit

Body parameter

{ "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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "enabled": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" } }, "description": "Note: parent parameter can be NULL if root OU"}

Parameters

NameInTypeRequiredDescription
bodybodyOrganizationalUnittrueOption objects

Example responses

200 Response

{ "type": "object", "properties": { "result": { "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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "enabled": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" } }, "description": "Note: parent parameter can be NULL if root OU" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultOrganizationalUnitfalsenoneNote: parent parameter can be NULL if root OU
»» idinteger(int64)falsenonenone
»» creationdateinteger(int64)falseread-onlynone
»» accountIdentifierstringfalsenoneOnly ASCII 0-9 A-Z a-z and -._~
»» namestringfalsenonenone
»» brandingIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» parentIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» allowOUChildrenbooleanfalsenonenone
»» freezeDelayDaysintegerfalsenonenone
»» fileDelayDaysintegerfalsenonenone
»» dataDelayDaysintegerfalsenonenone
»» accountingCodestringfalsenonenone
»» productionCodestringfalsenonenone
»» partnerCodestringfalsenonenone
»» billingTypestringfalsenonenone
»» defaultMailCountrystringfalsenonenone
»» minPasswordEntropyinteger(int32)falsenoneMinimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0
»» maxPasswordValidityDaysinteger(int32)falsenoneMaximum number of days between password change by User ; only checked if > 0
»» propertiesOrganizationalUnitPropertiesfalsenonenone
»»» emailAddressstringfalsenonenone
»»» senderAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»» addressLinesstringfalsenonenone
»»»» countryCodestringfalsenonenone
»»» returnAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»» siretstringfalsenonenone
»»» controlledValues[ControlledValue]falsenone[Can be used as ControlledValueMetadata in Service Metadata]
»»»» namestringfalsenonenone
»»»» elements[ElementValue]falsenonenone
»»»»» valuestringfalsenoneTechnical value (must NOT be empty)
»»»»» labelstringfalsenoneUser-friendly label (must NOT be null), can be equal to value
»»»» allowFreeValuebooleanfalsenoneIf true, user can enter a metadat value outside the elements list
»»» webHookURLstringfalsenoneURL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications.
»» senderAccountbooleanfalsenoneTechnical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)
»» enabledbooleanfalsenonenone
»» accountExpiredbooleanfalsenonenone
»» removedbooleanfalsenonenone

getOrganizationalUnit

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/ou/{ouId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /ou/{ouId}

Get organizationalUnit

Parameters

NameInTypeRequiredDescription
ouIdpathinteger(int64)trueId of OU to return

Example responses

200 Response

{ "type": "object", "properties": { "result": { "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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "enabled": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" } }, "description": "Note: parent parameter can be NULL if root OU" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultOrganizationalUnitfalsenoneNote: parent parameter can be NULL if root OU
»» idinteger(int64)falsenonenone
»» creationdateinteger(int64)falseread-onlynone
»» accountIdentifierstringfalsenoneOnly ASCII 0-9 A-Z a-z and -._~
»» namestringfalsenonenone
»» brandingIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» parentIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» allowOUChildrenbooleanfalsenonenone
»» freezeDelayDaysintegerfalsenonenone
»» fileDelayDaysintegerfalsenonenone
»» dataDelayDaysintegerfalsenonenone
»» accountingCodestringfalsenonenone
»» productionCodestringfalsenonenone
»» partnerCodestringfalsenonenone
»» billingTypestringfalsenonenone
»» defaultMailCountrystringfalsenonenone
»» minPasswordEntropyinteger(int32)falsenoneMinimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0
»» maxPasswordValidityDaysinteger(int32)falsenoneMaximum number of days between password change by User ; only checked if > 0
»» propertiesOrganizationalUnitPropertiesfalsenonenone
»»» emailAddressstringfalsenonenone
»»» senderAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»»» addressLinesstringfalsenonenone
»»»» countryCodestringfalsenonenone
»»» returnAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
»»» siretstringfalsenonenone
»»» controlledValues[ControlledValue]falsenone[Can be used as ControlledValueMetadata in Service Metadata]
»»»» namestringfalsenonenone
»»»» elements[ElementValue]falsenonenone
»»»»» valuestringfalsenoneTechnical value (must NOT be empty)
»»»»» labelstringfalsenoneUser-friendly label (must NOT be null), can be equal to value
»»»» allowFreeValuebooleanfalsenoneIf true, user can enter a metadat value outside the elements list
»»» webHookURLstringfalsenoneURL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications.
»» senderAccountbooleanfalsenoneTechnical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)
»» enabledbooleanfalsenonenone
»» accountExpiredbooleanfalsenonenone
»» removedbooleanfalsenonenone

removeOrganizationalUnit

Code samples

# You can also use wgetcurl -X DELETE mycloud.nirva-software.com/ou/{ouId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

DELETE /ou/{ouId}

Remove (logicaly) OrganizationalUnit

Logically remove an OrganizationalUnit (Super-Admin operation). OU must NOT have children. OU must not have non-removed User (or use force parameter). Removed OrganizationalUnit will be effectively deleted from Database by Purge Task when all removed Users have been deleted.

Parameters

NameInTypeRequiredDescription
ouIdpathinteger(int64)trueId of OU to remove
forcequerybooleanfalseId of OU to remove

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

getOrganizationalUnitChannels

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/ou/{ouId}/channels \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /ou/{ouId}/channels

Get getOrganizationalUnitChannels

Parameters

NameInTypeRequiredDescription
ouIdpathinteger(int64)trueId of OU

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "channelType": { "type": "string", "enum": [ "MAIL", "REGISTERED", "EMAIL", "REGISTERED_EMAIL", "LOCAL_PRINT", "SAFE_EMAIL", "PACKING", "SMS" ] }, "name": { "type": "string" }, "providerName": { "type": "string" }, "workingDays": { "type": "string", "description": "Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)" }, "maxFutureDays": { "type": "integer", "description": "Maximum number of days for future \"post date\" (must be >= 0)" }, "cutoffTime": { "type": "string", "description": "hh:mm:ss (optional minutes and seconds) in provider TimeZone" }, "timeZone": { "type": "string", "description": "Provider TimeZone to compute workinDay and cutoffTime for \"post date\"" }, "additionalProductionDays": { "type": "string", "description": "Add some days (in addition to the \"cuttof\" day) to product the Documents of this Channel (default is 0 day)" }, "externalOutputTrigger": { "type": "boolean", "description": "If true output of this Channel is trigged by an external-output-token" }, "resetExternalOutputToken": { "type": "boolean", "description": "If true back-end application regenerate a random external-output-token", "writeOnly": true }, "externalOutputToken": { "type": "string", "description": "Token used to exteranlly trigger output on this Channel" }, "enabled": { "type": "boolean" }, "fallbackOnStatuses": { "type": "string", "description": "list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450" }, "properties": { "type": "object", "properties": { "requirements": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "name": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "validation": { "type": "string", "description": "Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)" }, "validationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the validator" }, "forceValidation": { "type": "string", "description": "Name of the validation method used when \"forcing\" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement" }, "forceValidationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the \"force\" validator" } }, "description": "Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression" } }, "trackingURLs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of URL templates to retrieve external tracking info. Key is name of Tracking" }, "trackingProperties": { "type": "object", "additionalProperties": { "type": "object" }, "description": "Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application." } } }, "outputFileDefinitions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "must be unique within a Channel" }, "mainOutputFile": { "type": "boolean", "description": "Configuration of the MAIN output file of the Shipment" }, "properties": { "type": "object", "properties": { "preserveIntegrity": { "type": "boolean", "description": "if true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)" }, "technicalAreas": { "type": "array", "items": { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area" } }, "forceAddressPage": { "type": "boolean" } } }, "outputFileOptions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } } } } } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Channel]falsenonenone
»» idinteger(int64)falsenonenone
»» channelTypestringfalsenonenone
»» namestringfalsenonenone
»» providerNamestringfalsenonenone
»» workingDaysstringfalsenoneComma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)
»» maxFutureDaysintegerfalsenoneMaximum number of days for future "post date" (must be >= 0)
»» cutoffTimestringfalsenonehh:mm:ss (optional minutes and seconds) in provider TimeZone
»» timeZonestringfalsenoneProvider TimeZone to compute workinDay and cutoffTime for "post date"
»» additionalProductionDaysstringfalsenoneAdd some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day)
»» externalOutputTriggerbooleanfalsenoneIf true output of this Channel is trigged by an external-output-token
»» resetExternalOutputTokenbooleanfalsewrite-onlyIf true back-end application regenerate a random external-output-token
»» externalOutputTokenstringfalsenoneToken used to exteranlly trigger output on this Channel
»» enabledbooleanfalsenonenone
»» fallbackOnStatusesstringfalsenonelist of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450
»» propertiesChannelPropertiesfalsenonenone
»»» requirements[Requirement]falsenone[Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression]
»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»» namestringfalsenonenone
»»»» contentExpressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»» @typestringfalsenonenone
»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»» @typestringfalsenonenone
»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»» @typestringfalsenonenone
»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» beginintegerfalsenonenone
»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»» topnumber(float)falsenonenone
»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»» heightnumber(float)falsenonenone
»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»» @typestringfalsenonenone
»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»» @typestringfalsenonenone
»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressiontruenonenone
»»»»»» patternstringtruenonePattern 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
»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressiontruenonenone
»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»» @typestringfalsenonenone
»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»» validationstringfalsenoneName of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)
»»»» validationParametersobjectfalsenoneMap String -> String of parameters if needed by the validator
»»»»» additionalPropertiesstringfalsenonenone
»»»» forceValidationstringfalsenoneName of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement
»»»» forceValidationParametersobjectfalsenoneMap String -> String of parameters if needed by the "force" validator
»»»»» additionalPropertiesstringfalsenonenone
»»» trackingURLsobjectfalsenoneMap of URL templates to retrieve external tracking info. Key is name of Tracking
»»»» additionalPropertiesstringfalsenonenone
»»» trackingPropertiesobjectfalsenoneKey is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application.
»»»» additionalPropertiesobjectfalsenonenone
»» outputFileDefinitions[OutputFileDefinition]falsenonenone
»»» namestringfalsenonemust be unique within a Channel
»»» mainOutputFilebooleanfalsenoneConfiguration of the MAIN output file of the Shipment
»»» propertiesOutputFileDefinitionPropertiesfalsenonenone
»»»» preserveIntegritybooleanfalsenoneif true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)
»»»» technicalAreas[TechnicalArea]falsenone[Channel technical area]
»»»»» areaZoneAreafalsenoneZoneArea object
»»»»» typestringfalsenonenone
»»»»» pagestringfalsenonenone
»»»»» checkstringfalsenonenone
»»»»» colorBATColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»» rintegerfalsenonenone
»»»»»» gintegerfalsenonenone
»»»»»» bintegerfalsenonenone
»»»»»» anumber(float)falsenonenone
»»»»» colorProdColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» colorErrorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» contentEvaluatorExpressionfalsenonenone
»»»»» fontNamestringfalsenonenone
»»»»» fontSizenumber(float)falsenonenone
»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» linespaceinteger(float)falsenonenone
»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»» rtlbooleanfalsenonenone
»»»» forceAddressPagebooleanfalsenonenone
»»» outputFileOptions[Option]falsenonenone
»»»» idinteger(int64)falsenonenone
»»»» optionTypeOptionTypefalsenonenone
»»»»» idinteger(int64)falsenonenone
»»»»» namestringfalsenonenone
»»»»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition
»»»» valuestringfalsenonenone
»»»» rankintegerfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»»»» defaultbooleanfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»»»» propertiesOptionPropertiesfalsenonenone
»»»»» selectableConditionobjectfalsenoneBooleanExpression with ShipmentContext computing getTotalNumSheets

Enumerated Values

PropertyValue
channelTypeMAIL
channelTypeREGISTERED
channelTypeEMAIL
channelTypeREGISTERED_EMAIL
channelTypeLOCAL_PRINT
channelTypeSAFE_EMAIL
channelTypePACKING
channelTypeSMS
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
typeTEXT
typeRECTANGLE
typeBARCODE
typeDATAMATRIX
typeQRCODE
pageFIRST
pageFRONT_PAGE
checkNONE
checkTEXT
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP

saveOrUpdateOrganizationalUnitChannels

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/ou/{ouId}/channels \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /ou/{ouId}/channels

Save or update OrganizationalUnitChannels

Body parameter

{ "type": "array", "items": { "type": "integer" }}

Parameters

NameInTypeRequiredDescription
ouIdpathinteger(int64)trueId of OU to update Channels

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "channelType": { "type": "string", "enum": [ "MAIL", "REGISTERED", "EMAIL", "REGISTERED_EMAIL", "LOCAL_PRINT", "SAFE_EMAIL", "PACKING", "SMS" ] }, "name": { "type": "string" }, "providerName": { "type": "string" }, "workingDays": { "type": "string", "description": "Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)" }, "maxFutureDays": { "type": "integer", "description": "Maximum number of days for future \"post date\" (must be >= 0)" }, "cutoffTime": { "type": "string", "description": "hh:mm:ss (optional minutes and seconds) in provider TimeZone" }, "timeZone": { "type": "string", "description": "Provider TimeZone to compute workinDay and cutoffTime for \"post date\"" }, "additionalProductionDays": { "type": "string", "description": "Add some days (in addition to the \"cuttof\" day) to product the Documents of this Channel (default is 0 day)" }, "externalOutputTrigger": { "type": "boolean", "description": "If true output of this Channel is trigged by an external-output-token" }, "resetExternalOutputToken": { "type": "boolean", "description": "If true back-end application regenerate a random external-output-token", "writeOnly": true }, "externalOutputToken": { "type": "string", "description": "Token used to exteranlly trigger output on this Channel" }, "enabled": { "type": "boolean" }, "fallbackOnStatuses": { "type": "string", "description": "list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450" }, "properties": { "type": "object", "properties": { "requirements": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "name": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "validation": { "type": "string", "description": "Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)" }, "validationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the validator" }, "forceValidation": { "type": "string", "description": "Name of the validation method used when \"forcing\" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement" }, "forceValidationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the \"force\" validator" } }, "description": "Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression" } }, "trackingURLs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of URL templates to retrieve external tracking info. Key is name of Tracking" }, "trackingProperties": { "type": "object", "additionalProperties": { "type": "object" }, "description": "Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application." } } }, "outputFileDefinitions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "must be unique within a Channel" }, "mainOutputFile": { "type": "boolean", "description": "Configuration of the MAIN output file of the Shipment" }, "properties": { "type": "object", "properties": { "preserveIntegrity": { "type": "boolean", "description": "if true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)" }, "technicalAreas": { "type": "array", "items": { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area" } }, "forceAddressPage": { "type": "boolean" } } }, "outputFileOptions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } } } } } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Channel]falsenonenone
»» idinteger(int64)falsenonenone
»» channelTypestringfalsenonenone
»» namestringfalsenonenone
»» providerNamestringfalsenonenone
»» workingDaysstringfalsenoneComma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)
»» maxFutureDaysintegerfalsenoneMaximum number of days for future "post date" (must be >= 0)
»» cutoffTimestringfalsenonehh:mm:ss (optional minutes and seconds) in provider TimeZone
»» timeZonestringfalsenoneProvider TimeZone to compute workinDay and cutoffTime for "post date"
»» additionalProductionDaysstringfalsenoneAdd some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day)
»» externalOutputTriggerbooleanfalsenoneIf true output of this Channel is trigged by an external-output-token
»» resetExternalOutputTokenbooleanfalsewrite-onlyIf true back-end application regenerate a random external-output-token
»» externalOutputTokenstringfalsenoneToken used to exteranlly trigger output on this Channel
»» enabledbooleanfalsenonenone
»» fallbackOnStatusesstringfalsenonelist of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450
»» propertiesChannelPropertiesfalsenonenone
»»» requirements[Requirement]falsenone[Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression]
»»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
»»»» namestringfalsenonenone
»»»» contentExpressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»» @typestringfalsenonenone
»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»» @typestringfalsenonenone
»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»» @typestringfalsenonenone
»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» beginintegerfalsenonenone
»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»» topnumber(float)falsenonenone
»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»» heightnumber(float)falsenonenone
»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone
»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»» @typestringfalsenonenone
»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»» @typestringfalsenonenone
»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressionfalsenonenone
»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressiontruenonenone
»»»»»» patternstringtruenonePattern 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
»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»» @typestringfalsenonenone
»»»»»» exprExpressiontruenonenone
»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»» @typestringfalsenonenone
»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»» validationstringfalsenoneName of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)
»»»» validationParametersobjectfalsenoneMap String -> String of parameters if needed by the validator
»»»»» additionalPropertiesstringfalsenonenone
»»»» forceValidationstringfalsenoneName of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement
»»»» forceValidationParametersobjectfalsenoneMap String -> String of parameters if needed by the "force" validator
»»»»» additionalPropertiesstringfalsenonenone
»»» trackingURLsobjectfalsenoneMap of URL templates to retrieve external tracking info. Key is name of Tracking
»»»» additionalPropertiesstringfalsenonenone
»»» trackingPropertiesobjectfalsenoneKey is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application.
»»»» additionalPropertiesobjectfalsenonenone
»» outputFileDefinitions[OutputFileDefinition]falsenonenone
»»» namestringfalsenonemust be unique within a Channel
»»» mainOutputFilebooleanfalsenoneConfiguration of the MAIN output file of the Shipment
»»» propertiesOutputFileDefinitionPropertiesfalsenonenone
»»»» preserveIntegritybooleanfalsenoneif true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)
»»»» technicalAreas[TechnicalArea]falsenone[Channel technical area]
»»»»» areaZoneAreafalsenoneZoneArea object
»»»»» typestringfalsenonenone
»»»»» pagestringfalsenonenone
»»»»» checkstringfalsenonenone
»»»»» colorBATColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»» rintegerfalsenonenone
»»»»»» gintegerfalsenonenone
»»»»»» bintegerfalsenonenone
»»»»»» anumber(float)falsenonenone
»»»»» colorProdColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» colorErrorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» contentEvaluatorExpressionfalsenonenone
»»»»» fontNamestringfalsenonenone
»»»»» fontSizenumber(float)falsenonenone
»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»» linespaceinteger(float)falsenonenone
»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»» rtlbooleanfalsenonenone
»»»» forceAddressPagebooleanfalsenonenone
»»» outputFileOptions[Option]falsenonenone
»»»» idinteger(int64)falsenonenone
»»»» optionTypeOptionTypefalsenonenone
»»»»» idinteger(int64)falsenonenone
»»»»» namestringfalsenonenone
»»»»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition
»»»» valuestringfalsenonenone
»»»» rankintegerfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»»»» defaultbooleanfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
»»»» propertiesOptionPropertiesfalsenonenone
»»»»» selectableConditionobjectfalsenoneBooleanExpression with ShipmentContext computing getTotalNumSheets

Enumerated Values

PropertyValue
channelTypeMAIL
channelTypeREGISTERED
channelTypeEMAIL
channelTypeREGISTERED_EMAIL
channelTypeLOCAL_PRINT
channelTypeSAFE_EMAIL
channelTypePACKING
channelTypeSMS
typePOSTAL_ADDRESS
typeTEXT
typeMULTILINE
typeHTML
typePHONE
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
typeTEXT
typeRECTANGLE
typeBARCODE
typeDATAMATRIX
typeQRCODE
pageFIRST
pageFRONT_PAGE
checkNONE
checkTEXT
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP

Pdf

Manage the pdf

extractText

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/pdf/extractText \ -H 'Content-Type: multipart/form-data' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /pdf/extractText

Extract text from pdf

Body parameter

type: objectproperties: submittedFile: type: string format: binary parameters: type: object properties: submittedFile: type: string format: binary parameters: type: object properties: page: type: integer 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: "'parameters' is JSON object PdfExtractText"

Parameters

NameInTypeRequiredDescription
submittedFilebodystring(binary)falsenone
parametersbodyPdfExtractTextfalsenone
» submittedFilebodystring(binary)falsenone
» parametersbodyPdfExtractPagefalsenone
»» pagebodyintegerfalsenone
»» areabodyZoneAreafalseZoneArea object
»»» leftbodynumber(float)falsenone
»»» topbodynumber(float)falsenone
»»» widthbodynumber(float)falsenone
»»» heightbodynumber(float)falsenone
»» extractionParametersbodyExtractionParametersfalseParameters for the extraction. Depends on the library used.
»»» additionalPropertiesbodystringfalsenone

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "string", "example": "Extracted text" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultstringfalsenonenone

Profile

Manage the profile

getRoleTemplates

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/roleTemplates \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /roleTemplates

Get role templates

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "super-admin | Account Admin Users | Account Admin Services | Hierarchy Admin Services | Group Validator | User | User Validator" }, "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": "RoleTemplate to create most used Profiles" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[RoleTemplate]falsenone[RoleTemplate to create most used Profiles]
»» idinteger(int64)falsenonenone
»» namestringfalsenonesuper-admin
»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
»» permissionsOnOUintegerfalsenonePermissions 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)

getProfiles

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/profiles \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /profiles

Get profiles

Parameters

NameInTypeRequiredDescription
ouIdqueryinteger(int64)falseFilter OrganizationalUnit

Example responses

200 Response

{ "type": "object", "properties": { "result": { "type": "array", "items": { "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" } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Profile]falsenone[field can be null id super admin]
»» idinteger(int64)falsenonenone
»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» namestringfalsenonenone
»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
»» permissionsOnOUintegerfalsenonePermissions 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)

saveOrUpdateProfile

Code samples

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

POST /profiles

Save or update profile

Create a new Profile or update an existing one

Body parameter

{ "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"}

Parameters

NameInTypeRequiredDescription
bodybodyProfiletrueProfile object

Example responses

200 Response

{ "type": "object", "properties": { "result": { "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" } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» resultProfilefalsenonefield can be null id super admin
»» idinteger(int64)falsenonenone
»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» namestringfalsenonenone
»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
»» permissionsOnOUintegerfalsenonePermissions 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)

getProfileServices

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/profiles/{profileId}/services \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /profiles/{profileId}/services

Get profile services

Parameters

NameInTypeRequiredDescription
profileIdpathinteger(int64)trueFilter profileId

Example responses

200 Response

{ "type": "object", "properties": { "result": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Service]falsenonenone
»» idintegerfalsenonenone
»» typestringfalsenonenone
»» namestringfalsenonenone
»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» propertiesServicePropertiesfalsenonenone
»»» descriptionstringfalsenonenone
»»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»» rintegerfalsenonenone
»»»» gintegerfalsenonenone
»»»» bintegerfalsenonenone
»»»» anumber(float)falsenonenone
»»» iconNamestringfalsenonenone
»»» boxes[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousAbstractBoxfalsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» namestringtruenonenone
»»»»»»» labelstringfalsenonenone
»»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
»»»»»»» minElementsintegertruenonenone
»»»»»»» maxElementsintegertruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
»»»»»»» parentParentWrappertruenoneAllow 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
»»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
»»»»»»»» fileMatcheranyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
»»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» valuebooleanfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» expr1anyfalsenonenone
»»»»»»»»»»» expr2anyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» expranyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expr1Expressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» beginintegerfalsenonenone
»»»»»»»»»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
»»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»» patternstringtruenonePattern 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
»»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» expr2Expressionfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
»»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
»»»»»»» metadatas[BoxMetadata]truenone[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.]
»»»»»»»» namestringfalsenonenone
»»»»»»»» persistbooleanfalsenonenone
»»»»»»»» editablebooleanfalsenonenone
»»»»»»»» contentExpressionfalsenonenone
»»»»»»» reconcileBoxReconciliationtruenonenone
»»»»»»»» conditionanytruenonenone
»»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
»»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
»»»»»»» configuredFiles[ConfiguredFile]truenonenone
»»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
»»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
»»»»»» splitConfiganyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
»»»»»»»»» editablebooleantruenonenone
»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone
»»»»»»»»» pagesintegertruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone
»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»» valuestringtruenonenone
»»»»»»»»» pagesintegertruenonenone
»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

continued

NameTypeRequiredRestrictionsDescription
»»»»»» hasAddressPagebooleanfalsenonenone
»»»»»» appositions[BoxAppositionFile]falsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
»»»»»»» targetTypestringtruenonenone
»»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
»»»»»»» backgroundbooleantruenonenone
»»»»»»» editablebooleantruenonenone
»»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» parserConfigurationParserConfigurationfalsenonenone
»»»»»»» @typestringtruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousAbstractBoxfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

continued

NameTypeRequiredRestrictionsDescription
»»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

oneOf

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousBaseServiceMetadatafalsenonenone
»»»»»» @typestringtruenonenone
»»»»»» namestringtruenonenone
»»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
»»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousBaseServiceMetadatafalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

continued

NameTypeRequiredRestrictionsDescription
»»» jobNameExpressionExpressionfalsenonenone
»»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
»»» packRequirementsobjectfalsenonenone
»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»» contentExpressionfalsenonenone
»»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
»»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
»»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
»»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
»»»» labelstringfalsenonenone
»»»» shipmentRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»» outputFilesConfigobjectfalsenonenone
»»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
»»»»»» options[ServiceChannelOutputFileOption]falsenonenone
»»»»»»» idinteger(int64)falsenonenone
»»»»»»» rankintegerfalsenonenone
»»»»»»» defaultbooleanfalsenonenone
»»»»»» compositionobjectfalsenonenone
»»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
One and only of the parameters boxIdentifier and pageSize must be set.
Can be either:
- Boxes based, in which case all elements of files related to the
recipient will be added. The parameter boxIdentifier is used to
match the Box.
- Blank pages, in which case a blank (white) page will be added.
The parameter pageSize indicates the format of the page to add. ]
»»»»»»»» boxIdentifierobjectfalsenone

Composition of elements of the target Box.

pageSize cannot be set if boxIdentifier is set.

»»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
»»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
»»»»»»»» serializedPageFilterstringfalsenone

Ignore when boxIdentifier is NOT set.

Page description, can be

  • a single page number

  • an interval (1:3)

  • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

  • keywords among 'odd' and 'even' for respective page description

It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

»»»»»»»» pageSizestringfalsenone

Cannot be set when boxIdentifier is set.

Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

This parameter is the format of the page to add.

Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

»»»»»»»» rotationDirectionstringfalsenonenone
»»»»»»»» marginsobjectfalsenonenone
»»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»» rightnumber(float)falsenonenone
»»»»»»»»»» bottomnumber(float)falsenonenone
»»»»»»»» nbDuplicatesinteger(int64)falsenonenone
»»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
»»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
»»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
»»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
»»»»»»»» printOnSidestringfalsenoneOn 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.
»»»»»»»» appositions[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
»»»»»»»»»»» @typestringtruenonenone
»»»»»»»»»»» pageFilterstringfalsenonePage 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.

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» fontNamestringfalsenonenone
»»»»»»»»»»»» fontSizenumber(float)falsenonenone
»»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
»»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»» rtlbooleanfalsenonenone
»»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionWithContentfalsenonenone
»»»»»»»»»»» contentEvaluatorExpressiontruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionWithContentfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» textanyfalsenonenone
»»»»»»»»»»» qrCodeanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

continued

NameTypeRequiredRestrictionsDescription
»»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
»»»» namestringfalsenonenone
»»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
»»»»» namestringfalsenonenone
»»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»» additionalConditionanyfalsenonenone
»»» sendingStrategyGroupingConfigurationfalsenonenone
»»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
»»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
»» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
»»» idstringfalsenonenone
»»» originalFileNamestringfalsenonenone
»»» fileSizeinteger(int64)falsenonenone
»»» storedDateinteger(int64)falsenonenone
»» removedbooleanfalsenonenone
»» allowJobCreationbooleanfalsenonenone
»» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
»» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

Enumerated Values

PropertyValue
typeSIMPLE_UNIQUE
typeSIMPLE_MULTIPLE
typePREPROCESSING_UNIQUE
typePREPROCESSING
typeADVANCED
@typeexb.Boolean
@typeexb.AND
@typeexb.OR
@typeexb.NOT
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
@typeexb.ContentEqual
@typeexb.StrContains
@typeexb.StrStartsWith
@typeexb.StrEndsWith
@typeexb.LessThan
@typeexb.LessThanOrEqual
@typeexb.NumericEqual
@typeexb.StrMatches
@typebox.PDF
@typebsc.NONE
@typebsc.PAGE
@typebsc.PDF_AREA
@typebap.Overlay
@typebap.Image
targetTypeADDRESS_PAGE
targetTypeDOCUMENT
targetTypeCOMPOSED_DOCUMENT
@typebox.DATA_FILE
@typepar.CSV
@typepar.FixedWidth
@typepar.Seiitra
@typepar.JSON
@typebox.ARCHIVE
@typesvm.ConstantMetadata
@typesvm.ControlledValue
pageSizeA0
pageSizeA1
pageSizeA2
pageSizeA3
pageSizeA4
pageSizeA5
pageSizeA6
pageSizeSRA3
pageSizeA0-L
pageSizeA1-L
pageSizeA2-L
pageSizeA3-L
pageSizeA4-L
pageSizeA5-L
pageSizeA6-L
pageSizeLETTER
pageSizeLEGAL
rotationDirectionLEFT
rotationDirectionRIGHT
rotationDirectionNONE
printOnSideALL
printOnSideFRONT_SIDE
printOnSideBACK_SIDE
@typeofa.RECTANGLE
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP
lineBreakModeNEVER
lineBreakModeNORMAL
lineBreakModeALL_CHARS
lineBreakModeBREAK_WORD
@typeofa.TEXT
@typeofa.RS.QRCODE

saveorUpdateProfileServices

Code samples

# You can also use wgetcurl -X POST mycloud.nirva-software.com/profiles/{profileId}/services \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

POST /profiles/{profileId}/services

Save or update profile services

Body parameter

{ "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"}

Parameters

NameInTypeRequiredDescription
profileIdpathinteger(int64)trueFilter profileId
bodybodyProfiletrueProfile object

Example responses

200 Response

{ "type": "object", "properties": { "result": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Service]falsenonenone
»» idintegerfalsenonenone
»» typestringfalsenonenone
»» namestringfalsenonenone
»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» propertiesServicePropertiesfalsenonenone
»»» descriptionstringfalsenonenone
»»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»» rintegerfalsenonenone
»»»» gintegerfalsenonenone
»»»» bintegerfalsenonenone
»»»» anumber(float)falsenonenone
»»» iconNamestringfalsenonenone
»»» boxes[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousAbstractBoxfalsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» namestringtruenonenone
»»»»»»» labelstringfalsenonenone
»»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
»»»»»»» minElementsintegertruenonenone
»»»»»»» maxElementsintegertruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
»»»»»»» parentParentWrappertruenoneAllow 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
»»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
»»»»»»»» fileMatcheranyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
»»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» valuebooleanfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» expr1anyfalsenonenone
»»»»»»»»»»» expr2anyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» expranyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expr1Expressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» beginintegerfalsenonenone
»»»»»»»»»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
»»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»» patternstringtruenonePattern 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
»»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» expr2Expressionfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
»»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
»»»»»»» metadatas[BoxMetadata]truenone[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.]
»»»»»»»» namestringfalsenonenone
»»»»»»»» persistbooleanfalsenonenone
»»»»»»»» editablebooleanfalsenonenone
»»»»»»»» contentExpressionfalsenonenone
»»»»»»» reconcileBoxReconciliationtruenonenone
»»»»»»»» conditionanytruenonenone
»»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
»»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
»»»»»»» configuredFiles[ConfiguredFile]truenonenone
»»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
»»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
»»»»»» splitConfiganyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
»»»»»»»»» editablebooleantruenonenone
»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone
»»»»»»»»» pagesintegertruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone
»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»» valuestringtruenonenone
»»»»»»»»» pagesintegertruenonenone
»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

continued

NameTypeRequiredRestrictionsDescription
»»»»»» hasAddressPagebooleanfalsenonenone
»»»»»» appositions[BoxAppositionFile]falsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
»»»»»»» targetTypestringtruenonenone
»»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
»»»»»»» backgroundbooleantruenonenone
»»»»»»» editablebooleantruenonenone
»»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» parserConfigurationParserConfigurationfalsenonenone
»»»»»»» @typestringtruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousAbstractBoxfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

continued

NameTypeRequiredRestrictionsDescription
»»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

oneOf

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousBaseServiceMetadatafalsenonenone
»»»»»» @typestringtruenonenone
»»»»»» namestringtruenonenone
»»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
»»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousBaseServiceMetadatafalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

continued

NameTypeRequiredRestrictionsDescription
»»» jobNameExpressionExpressionfalsenonenone
»»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
»»» packRequirementsobjectfalsenonenone
»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»» contentExpressionfalsenonenone
»»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
»»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
»»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
»»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
»»»» labelstringfalsenonenone
»»»» shipmentRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»» outputFilesConfigobjectfalsenonenone
»»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
»»»»»» options[ServiceChannelOutputFileOption]falsenonenone
»»»»»»» idinteger(int64)falsenonenone
»»»»»»» rankintegerfalsenonenone
»»»»»»» defaultbooleanfalsenonenone
»»»»»» compositionobjectfalsenonenone
»»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
One and only of the parameters boxIdentifier and pageSize must be set.
Can be either:
- Boxes based, in which case all elements of files related to the
recipient will be added. The parameter boxIdentifier is used to
match the Box.
- Blank pages, in which case a blank (white) page will be added.
The parameter pageSize indicates the format of the page to add. ]
»»»»»»»» boxIdentifierobjectfalsenone

Composition of elements of the target Box.

pageSize cannot be set if boxIdentifier is set.

»»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
»»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
»»»»»»»» serializedPageFilterstringfalsenone

Ignore when boxIdentifier is NOT set.

Page description, can be

  • a single page number

  • an interval (1:3)

  • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

  • keywords among 'odd' and 'even' for respective page description

It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

»»»»»»»» pageSizestringfalsenone

Cannot be set when boxIdentifier is set.

Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

This parameter is the format of the page to add.

Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

»»»»»»»» rotationDirectionstringfalsenonenone
»»»»»»»» marginsobjectfalsenonenone
»»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»» rightnumber(float)falsenonenone
»»»»»»»»»» bottomnumber(float)falsenonenone
»»»»»»»» nbDuplicatesinteger(int64)falsenonenone
»»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
»»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
»»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
»»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
»»»»»»»» printOnSidestringfalsenoneOn 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.
»»»»»»»» appositions[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
»»»»»»»»»»» @typestringtruenonenone
»»»»»»»»»»» pageFilterstringfalsenonePage 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.

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» fontNamestringfalsenonenone
»»»»»»»»»»»» fontSizenumber(float)falsenonenone
»»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
»»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»» rtlbooleanfalsenonenone
»»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionWithContentfalsenonenone
»»»»»»»»»»» contentEvaluatorExpressiontruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionWithContentfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» textanyfalsenonenone
»»»»»»»»»»» qrCodeanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

continued

NameTypeRequiredRestrictionsDescription
»»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
»»»» namestringfalsenonenone
»»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
»»»»» namestringfalsenonenone
»»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»» additionalConditionanyfalsenonenone
»»» sendingStrategyGroupingConfigurationfalsenonenone
»»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
»»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
»» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
»»» idstringfalsenonenone
»»» originalFileNamestringfalsenonenone
»»» fileSizeinteger(int64)falsenonenone
»»» storedDateinteger(int64)falsenonenone
»» removedbooleanfalsenonenone
»» allowJobCreationbooleanfalsenonenone
»» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
»» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

Enumerated Values

PropertyValue
typeSIMPLE_UNIQUE
typeSIMPLE_MULTIPLE
typePREPROCESSING_UNIQUE
typePREPROCESSING
typeADVANCED
@typeexb.Boolean
@typeexb.AND
@typeexb.OR
@typeexb.NOT
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
@typeexb.ContentEqual
@typeexb.StrContains
@typeexb.StrStartsWith
@typeexb.StrEndsWith
@typeexb.LessThan
@typeexb.LessThanOrEqual
@typeexb.NumericEqual
@typeexb.StrMatches
@typebox.PDF
@typebsc.NONE
@typebsc.PAGE
@typebsc.PDF_AREA
@typebap.Overlay
@typebap.Image
targetTypeADDRESS_PAGE
targetTypeDOCUMENT
targetTypeCOMPOSED_DOCUMENT
@typebox.DATA_FILE
@typepar.CSV
@typepar.FixedWidth
@typepar.Seiitra
@typepar.JSON
@typebox.ARCHIVE
@typesvm.ConstantMetadata
@typesvm.ControlledValue
pageSizeA0
pageSizeA1
pageSizeA2
pageSizeA3
pageSizeA4
pageSizeA5
pageSizeA6
pageSizeSRA3
pageSizeA0-L
pageSizeA1-L
pageSizeA2-L
pageSizeA3-L
pageSizeA4-L
pageSizeA5-L
pageSizeA6-L
pageSizeLETTER
pageSizeLEGAL
rotationDirectionLEFT
rotationDirectionRIGHT
rotationDirectionNONE
printOnSideALL
printOnSideFRONT_SIDE
printOnSideBACK_SIDE
@typeofa.RECTANGLE
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP
lineBreakModeNEVER
lineBreakModeNORMAL
lineBreakModeALL_CHARS
lineBreakModeBREAK_WORD
@typeofa.TEXT
@typeofa.RS.QRCODE

Service

Manage the service

getServices

Code samples

# You can also use wgetcurl -X GET mycloud.nirva-software.com/services?type=integer&format=int64 \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

GET /services

Get service

Parameters

NameInTypeRequiredDescription
ouIdqueryinteger(int64)trueFilter OrganizationalUnit

Example responses

200 Response

{ "type": "object", "properties": { "result": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } } }}

Responses

StatusMeaningDescriptionSchema
200OKCall triggeredInline

Response Schema

Status Code 200

NameTypeRequiredRestrictionsDescription
» result[Service]falsenonenone
»» idintegerfalsenonenone
»» typestringfalsenonenone
»» namestringfalsenonenone
»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»»» idinteger(int64)falsenonenone
»»» namestringfalsenonelogin or displayable name
»» propertiesServicePropertiesfalsenonenone
»»» descriptionstringfalsenonenone
»»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»» rintegerfalsenonenone
»»»» gintegerfalsenonenone
»»»» bintegerfalsenonenone
»»»» anumber(float)falsenonenone
»»» iconNamestringfalsenonenone
»»» boxes[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousAbstractBoxfalsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» namestringtruenonenone
»»»»»»» labelstringfalsenonenone
»»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
»»»»»»» minElementsintegertruenonenone
»»»»»»» maxElementsintegertruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»» anonymousobjectfalsenonenone
»»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
»»»»»»» parentParentWrappertruenoneAllow 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
»»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
»»»»»»»» fileMatcheranyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
»»»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» valuebooleanfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» expr1anyfalsenonenone
»»»»»»»»»»» expr2anyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» expranyfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»» expr1Expressionfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» valuestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
* METADATA reference another Metadata
* REQUIREMENT reference a Requirement
* For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
* For OUTPUT_FILE allowed reference names are : NUID
»»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
»»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» beginintegerfalsenonenone
»»»»»»»»»»»»»»» endintegerfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
»»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
»»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
»»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
»»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
»»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» operands[oneOf]falsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
»»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
»»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
»»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
»»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»» patternstringtruenonePattern 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
»»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» exprExpressiontruenonenone
»»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
»»»»»»»»»»»»»» localestringfalsenoneLocale 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)

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
»»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» expr2Expressionfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» exprExpressionfalsenonenone
»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
»»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

continued

NameTypeRequiredRestrictionsDescription
»»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
»»»»»»» metadatas[BoxMetadata]truenone[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.]
»»»»»»»» namestringfalsenonenone
»»»»»»»» persistbooleanfalsenonenone
»»»»»»»» editablebooleanfalsenonenone
»»»»»»»» contentExpressionfalsenonenone
»»»»»»» reconcileBoxReconciliationtruenonenone
»»»»»»»» conditionanytruenonenone
»»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
»»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
»»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
»»»»»»» configuredFiles[ConfiguredFile]truenonenone
»»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
»»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
»»»»»» splitConfiganyfalsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
»»»»»»»»» editablebooleantruenonenone
»»»»»»»»» @typestringtruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone
»»»»»»»»» pagesintegertruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»» @typestringfalsenonenone
»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»» valuestringtruenonenone
»»»»»»»»» pagesintegertruenonenone
»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

continued

NameTypeRequiredRestrictionsDescription
»»»»»» hasAddressPagebooleanfalsenonenone
»»»»»» appositions[BoxAppositionFile]falsenonenone
»»»»»»» @typestringtruenonenone
»»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
»»»»»»» targetTypestringtruenonenone
»»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
»»»»»»» backgroundbooleantruenonenone
»»»»»»» editablebooleantruenonenone
»»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousanyfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» parserConfigurationParserConfigurationfalsenonenone
»»»»»»» @typestringtruenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousAbstractBoxfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

continued

NameTypeRequiredRestrictionsDescription
»»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

oneOf

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousBaseServiceMetadatafalsenonenone
»»»»»» @typestringtruenonenone
»»»»»» namestringtruenonenone
»»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
»»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

xor

NameTypeRequiredRestrictionsDescription
»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»» anonymousBaseServiceMetadatafalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»» anonymousobjectfalsenonenone
»»»»»» @typestringfalsenonenone
»»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

continued

NameTypeRequiredRestrictionsDescription
»»» jobNameExpressionExpressionfalsenonenone
»»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
»»» packRequirementsobjectfalsenonenone
»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»»» contentExpressionfalsenonenone
»»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
»»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
»»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
»»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
»»»» labelstringfalsenonenone
»»»» shipmentRequirementsobjectfalsenonenone
»»»»» additionalPropertiesRequirementEvaluablefalsenonenone
»»»» outputFilesConfigobjectfalsenonenone
»»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
»»»»»» options[ServiceChannelOutputFileOption]falsenonenone
»»»»»»» idinteger(int64)falsenonenone
»»»»»»» rankintegerfalsenonenone
»»»»»»» defaultbooleanfalsenonenone
»»»»»» compositionobjectfalsenonenone
»»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
One and only of the parameters boxIdentifier and pageSize must be set.
Can be either:
- Boxes based, in which case all elements of files related to the
recipient will be added. The parameter boxIdentifier is used to
match the Box.
- Blank pages, in which case a blank (white) page will be added.
The parameter pageSize indicates the format of the page to add. ]
»»»»»»»» boxIdentifierobjectfalsenone

Composition of elements of the target Box.

pageSize cannot be set if boxIdentifier is set.

»»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
»»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
»»»»»»»» serializedPageFilterstringfalsenone

Ignore when boxIdentifier is NOT set.

Page description, can be

  • a single page number

  • an interval (1:3)

  • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

  • keywords among 'odd' and 'even' for respective page description

It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

»»»»»»»» pageSizestringfalsenone

Cannot be set when boxIdentifier is set.

Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

This parameter is the format of the page to add.

Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

»»»»»»»» rotationDirectionstringfalsenonenone
»»»»»»»» marginsobjectfalsenonenone
»»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
»»»»»»»»»» leftnumber(float)falsenonenone
»»»»»»»»»» topnumber(float)falsenonenone
»»»»»»»»»» rightnumber(float)falsenonenone
»»»»»»»»»» bottomnumber(float)falsenonenone
»»»»»»»» nbDuplicatesinteger(int64)falsenonenone
»»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
»»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
»»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
»»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
»»»»»»»» printOnSidestringfalsenoneOn 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.
»»»»»»»» appositions[oneOf]falsenonenone

oneOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
»»»»»»»»»»» @typestringtruenonenone
»»»»»»»»»»» pageFilterstringfalsenonePage 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.

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
»»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
»»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»» fontNamestringfalsenonenone
»»»»»»»»»»»» fontSizenumber(float)falsenonenone
»»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
»»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
»»»»»»»»»»»» rtlbooleanfalsenonenone
»»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionWithContentfalsenonenone
»»»»»»»»»»» contentEvaluatorExpressiontruenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone

xor

NameTypeRequiredRestrictionsDescription
»»»»»»»»» anonymousanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousAppositionWithContentfalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»» @typestringfalsenonenone
»»»»»»»»»»» textanyfalsenonenone
»»»»»»»»»»» qrCodeanyfalsenonenone

allOf

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

and

NameTypeRequiredRestrictionsDescription
»»»»»»»»»»»» anonymousobjectfalsenonenone
»»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

continued

NameTypeRequiredRestrictionsDescription
»»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
»»»» namestringfalsenonenone
»»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
»»»»» namestringfalsenonenone
»»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
»»»»» additionalConditionanyfalsenonenone
»»» sendingStrategyGroupingConfigurationfalsenonenone
»»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
»»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
»» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
»»» idstringfalsenonenone
»»» originalFileNamestringfalsenonenone
»»» fileSizeinteger(int64)falsenonenone
»»» storedDateinteger(int64)falsenonenone
»» removedbooleanfalsenonenone
»» allowJobCreationbooleanfalsenonenone
»» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
»» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

Enumerated Values

PropertyValue
typeSIMPLE_UNIQUE
typeSIMPLE_MULTIPLE
typePREPROCESSING_UNIQUE
typePREPROCESSING
typeADVANCED
@typeexb.Boolean
@typeexb.AND
@typeexb.OR
@typeexb.NOT
@typeexv.Value
@typeexv.Reference
namespaceMETADATA
namespaceREQUIREMENT
namespaceORGANIZATIONAL_UNIT
namespaceOUTPUT_FILE
@typeexv.FileName
@typeexv.PdfText
@typeexv.PdfMetadata
@typeexv.Concat
@typeexv.Coalesce
@typeexv.StrClean
@typeexv.StrNormalizeCase
@typeexv.StrReplace
@typeexv.PositionInBox
@typeexv.NumSheetsValue
@typeexv.Substring
@typeexv.CurrentDate
@typeexv.DateParse
@typeexv.DateFormat
@typeexv.JobFileNameValue
@typeexb.ContentEqual
@typeexb.StrContains
@typeexb.StrStartsWith
@typeexb.StrEndsWith
@typeexb.LessThan
@typeexb.LessThanOrEqual
@typeexb.NumericEqual
@typeexb.StrMatches
@typebox.PDF
@typebsc.NONE
@typebsc.PAGE
@typebsc.PDF_AREA
@typebap.Overlay
@typebap.Image
targetTypeADDRESS_PAGE
targetTypeDOCUMENT
targetTypeCOMPOSED_DOCUMENT
@typebox.DATA_FILE
@typepar.CSV
@typepar.FixedWidth
@typepar.Seiitra
@typepar.JSON
@typebox.ARCHIVE
@typesvm.ConstantMetadata
@typesvm.ControlledValue
pageSizeA0
pageSizeA1
pageSizeA2
pageSizeA3
pageSizeA4
pageSizeA5
pageSizeA6
pageSizeSRA3
pageSizeA0-L
pageSizeA1-L
pageSizeA2-L
pageSizeA3-L
pageSizeA4-L
pageSizeA5-L
pageSizeA6-L
pageSizeLETTER
pageSizeLEGAL
rotationDirectionLEFT
rotationDirectionRIGHT
rotationDirectionNONE
printOnSideALL
printOnSideFRONT_SIDE
printOnSideBACK_SIDE
@typeofa.RECTANGLE
hAlignCENTER
hAlignLEFT
hAlignRIGHT
vAlignBOTTOM
vAlignMIDDLE
vAlignTOP
lineBreakModeNEVER
lineBreakModeNORMAL
lineBreakModeALL_CHARS
lineBreakModeBREAK_WORD
@typeofa.TEXT
@typeofa.RS.QRCODE

saveOrUpdateService

Code samples

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

POST /services

Save or update service

ServiceFiles are passed as "multipart/form-data" ; see https://confluence.nirva-software.com/display/PODXDOC/Job+REST+API for part name conventions.

Body parameter

{ "type": "object", "properties": { "submittedFile": { "type": "string", "format": "binary" }, "parameters": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } }, "description": "'parameters' is JSON object PdfExtractText"}

Parameters

NameInTypeRequiredDescription
submittedFilebodystring(binary)falsenone
parametersbodyServicefalsenone
» idbodyintegerfalsenone
» typebodystringfalsenone
» namebodystringfalsenone
» organizationalUnitbodyIdentifierDTOfalseIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
»» idbodyinteger(int64)falsenone
»» namebodystringfalselogin or displayable name
» propertiesbodyServicePropertiesfalsenone
»» descriptionbodystringfalsenone
»» iconColorbodyColorfalseColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
»»» rbodyintegerfalsenone
»»» gbodyintegerfalsenone
»»» bbodyintegerfalsenone
»»» abodynumber(float)falsenone
»» iconNamebodystringfalsenone
»» boxesbody[oneOf]falsenone
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyanyfalsenone
»»»»» anonymousbodyAbstractBoxfalsenone
»»»»»» @typebodystringtruenone
»»»»»» namebodystringtruenone
»»»»»» labelbodystringfalsenone
»»»»»» hiddenbodybooleantrueIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
»»»»»» minElementsbodyintegertruenone
»»»»»» maxElementsbodyintegertruenone
»»»»» anonymousbodyobjectfalsenone
»»»»»» mainbodybooleantruetrue if MAIN ; false if ATTACHMENT
»»»»»» parentbodyParentWrappertrueAllow 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
»»»»»»» boxNamebodystringfalseName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
»»»»»»» fileMatcherbodyanyfalsenone
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyBooleanExpressionBasicfalsenone
»»»»»»»»»» @typebodystringtruenone
»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»» valuebodybooleanfalsenone
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyBooleanExpressionBasicfalsenone
»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»» expr1bodyanyfalsenone
»»»»»»»»»» expr2bodyanyfalsenone
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyBooleanExpressionBasicfalsenone
»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»» exprbodyanyfalsenone
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»»» anonymousbodyBooleanExpressionBasicfalsenone
»»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»» expr1bodyExpressionfalsenone
»»»»»»»»»»»» anonymousbodyExpressionConstantfalsePre-defined text value
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» valuebodystringfalsenone
»»»»»»»»»»»» anonymousbodyExpressionReferencefalseReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» namespacebodyReferenceNamespacefalsenamespaces allowed, depending on context :
»»»»»»»»»»»»» identifierbodystringfalseIdentifier of the element
»»»»»»»»»»»» anonymousbodyanyfalsePart of the name of the underlying file of the box
»»»»»»»»»»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»»» fromMainbodybooleanfalseIf true, the target box is a MAIN box
»»»»»»»»»»»»»» boxNamebodystringfalseIgnored if fromMain is true. Otherwise, indicates the name of the target box
»»»»»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»»» beginbodyintegerfalsenone
»»»»»»»»»»»»»» endbodyintegerfalsenone
»»»»»»»»»»»» anonymousbodyanyfalseText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract
»»»»»»»»»»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»»»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»»» pagebodyintegerfalsePage 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 "".
»»»»»»»»»»»»»» areabodyZoneAreafalseZoneArea object
»»»»»»»»»»»»»»» leftbodynumber(float)falsenone
»»»»»»»»»»»»»»» topbodynumber(float)falsenone
»»»»»»»»»»»»»»» widthbodynumber(float)falsenone
»»»»»»»»»»»»»»» heightbodynumber(float)falsenone
»»»»»»»»»»»»»» extractionParametersbodyExtractionParametersfalseParameters for the extraction. Depends on the library used.
»»»»»»»»»»»»»»» additionalPropertiesbodystringfalsenone
»»»»»»»»»»»» anonymousbodyanyfalsePDF metadata value from the underlying PDF file of the box
»»»»»»»»»»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»»»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»»» metadataNamebodystringfalseName of the PDF metadata to extract
»»»»»»»»»»»» anonymousbodyExpressionConcatfalseConcat: concatenates all Expressions given in argument
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» operandsbody[oneOf]falsenone
»»»»»»»»»»»» anonymousbodyExpressionCoalescefalseCoalesce: retrieve the first non-empty evaluation of its operands
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» operandsbody[oneOf]falsenone
»»»»»»»»»»»» anonymousbodyExpressionStrCleanfalseCleans a string
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» exprbodyExpressionfalsenone
»»»»»»»»»»»»» normalizeSpacebodybooleanfalseReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
»»»»»»»»»»»»» removeDiacriticsbodybooleanfalseReplaces the accentuated letters with their un-accentuated version
»»»»»»»»»»»»» multilinebodybooleanfalseReplaces 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.
»»»»»»»»»»»»» trimbodybooleanfalseRemoves 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.
»»»»»»»»»»»» anonymousbodyExpressionStrNormalizeCasefalseNormalizes the case of the String
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» exprbodyExpressionfalsenone
»»»»»»»»»»»»» toUpperbodybooleanfalseis set, the normalization will be to Upper Case, otherwise it will be to Lower Case
»»»»»»»»»»»» anonymousbodyExpressionStrReplacefalseNormalizes the case of the String
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» exprbodyExpressionfalsenone
»»»»»»»»»»»»» regExpPatternbodystringfalsevalid Regular Expression that the input string should match
»»»»»»»»»»»»» replacementbodystringfalseThe 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 '\'.
»»»»»»»»»»»»» firstOnlybodybooleanfalseIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.
»»»»»»»»»»»» anonymousbodyanyfalseAbsolute 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.
»»»»»»»»»»»»» anonymousbodyExpressionBoxFilefalseProperties common to all box files
»»»»»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»» anonymousbodyExpressionNumSheetsfalseReturns the number of sheets. Only used in Channel Options Condition context.
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»» anonymousbodyExpressionSubstringfalseExtract a portion of the string
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» exprbodyExpressionfalsenone
»»»»»»»»»»»»» beginIndexbodyintegerfalseIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
»»»»»»»»»»»»» endIndexbodyintegerfalseIndex 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.
»»»»»»»»»»»» anonymousbodyCurrentDatefalseRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»» anonymousbodyDateParsefalseParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» exprbodyExpressiontruenone
»»»»»»»»»»»»» patternbodystringtruePattern 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
»»»»»»»»»»»»» timeZonebodystringtrueDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
»»»»»»»»»»»»» localebodystringfalseLocale 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)
»»»»»»»»»»»» anonymousbodyDateFormatfalseFormat a date (given as long epoch milli) into a human readable string
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» exprbodyExpressiontruenone
»»»»»»»»»»»»» patternbodystringtruePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
»»»»»»»»»»»»» timeZonebodystringtrueTimeZone used to format the date.
»»»»»»»»»»»»» localebodystringfalseLocale 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)
»»»»»»»»»»»» anonymousbodyJobFileNameValuefalseName of a file in a box. Can be used in JobNameExpression on Job creation.
»»»»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»»»»» boxNamebodystringfalseName of the Box (must exist in the Service)
»»»»»»»»»»»»» indexInBoxbodyintegerfalseIndex of file in the Box. 1 (default) is first file. -1 is last file.
»»»»»»»»»»»»» keepExtensionbodybooleanfalseIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.
»»»»»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»»»» expr2bodyExpressionfalsenone
»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»» @typebodystringfalsenone
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»» @typebodystringfalsenone
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»»»» anonymousbodyBooleanExpressionBasicfalsenone
»»»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»»»» @typebodystringfalsenone
»»»»»»»»»» exprbodyExpressionfalsenone
»»»»»»»»»» regExpPatternbodystringfalsevalid Regular Expression to check the value against
»»»»»»»»»» matchWholebodybooleanfalseif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.
»»»»»»»» anonymousbodyanyfalsenone
»»»»»»» rankbodyintegerfalseUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
»»»»»» metadatasbody[BoxMetadata]true[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.]
»»»»»»» namebodystringfalsenone
»»»»»»» persistbodybooleanfalsenone
»»»»»»» editablebodybooleanfalsenone
»»»»»»» contentbodyExpressionfalsenone
»»»»»» reconcilebodyBoxReconciliationtruenone
»»»»»»» conditionbodyanytruenone
»»»»»»» minExpectedbodyintegerfalsedefault 0. Cannot be negative.
»»»»»»» maxExpectedbodyintegerfalsedefault -1. Can only be strictly positive or -1.
»»»»»»» minMatchesbodyintegerfalsedefault 0. Cannot be negative.
»»»»»»» maxMatchesbodyintegerfalsedefault 1. Can only be strictly positive or -1.
»»»»»» configuredFilesbody[ConfiguredFile]truenone
»»»»»»» serviceFileIdbodystringfalseUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
»»»»»»» removablebodybooleanfalseif false this ConfiguredFile is mandatory on Job creation
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» integrityPreservablebodybooleanfalseif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
»»»»» splitConfigbodyanyfalsenone
»»»»»» anonymousbodyanyfalsenone
»»»»»»» anonymousbodyBoxSplitConfigurationBasicfalsenone
»»»»»»»» editablebodybooleantruenone
»»»»»»»» @typebodystringtruenone
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» @typebodystringfalsenone
»»»»»» anonymousbodyanyfalsenone
»»»»»»» anonymousbodyBoxSplitConfigurationBasicfalsenone
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» @typebodystringfalsenone
»»»»»»»» pagesbodyintegertruenone
»»»»»» anonymousbodyanyfalsenone
»»»»»»» anonymousbodyBoxSplitConfigurationBasicfalsenone
»»»»»»» anonymousbodyobjectfalsenone
»»»»»»»» @typebodystringfalsenone
»»»»»»»» areabodyZoneAreatrueZoneArea object
»»»»»»»» valuebodystringtruenone
»»»»»»»» pagesbodyintegertruenone
»»»»»»»» extractionParametersbodyExtractionParametersfalseParameters for the extraction. Depends on the library used.
»»»»» hasAddressPagebodybooleanfalsenone
»»»»» appositionsbody[BoxAppositionFile]falsenone
»»»»»» @typebodystringtruenone
»»»»»» idbodystringtrueIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
»»»»»» targetTypebodystringtruenone
»»»»»» serializedPageFilterbodystringtrueSame as ServiceChannelOutputFileComposition.serializedPageFilter
»»»»»» backgroundbodybooleantruenone
»»»»»» editablebodybooleantruenone
»»»»»» serviceFileIdbodystringfalseoptional, id of the ServiceFile in the list of ServiceFiles of the Service
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyanyfalsenone
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» parserConfigurationbodyParserConfigurationfalsenone
»»»»»» @typebodystringtruenone
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyAbstractBoxfalsenone
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» encodingbodystringfalseEncoding of file names within Zip archive (if null default is 'IBM437')
»» serviceMetadatasbody[oneOf]falseOptional list of ServiceMetadata (common to whole Job)
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyBaseServiceMetadatafalsenone
»»»»» @typebodystringtruenone
»»»»» namebodystringtruenone
»»»»» editablebodybooleanfalseif true, can be entered by User on Job creation
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» mandatorybodybooleanfalseIf true, Job must be created with a non-empty value for this Metadata
»»»»» propertiesbodyobjectfalseOpaque JSON node describing format, mask or RegEx validation for Front-end GUI
»»» anonymousbodyanyfalsenone
»»»» anonymousbodyBaseServiceMetadatafalsenone
»»»» anonymousbodyobjectfalsenone
»»»»» @typebodystringfalsenone
»»»»» controlledValueNamebodystringfalseName of a ControlledValue in the OrganizationalUnit associated with this Service
»» jobNameExpressionbodyExpressionfalsenone
»» jobNameEditablebodybooleanfalseJob name value is editable on job creation (default true)
»» packRequirementsbodyobjectfalsenone
»»» additionalPropertiesbodyRequirementEvaluablefalsenone
»»»» contentbodyExpressionfalsenone
»»»» editableConfigurationbodybooleanfalseExpression configuration can be redefined on Job creation
»»»» editableValuebodybooleanfalseExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
»» channelsbody[ServiceChannel]false[See Channel Entity for Requirement and OutputFile configurations]
»»» idbodyinteger(int64)falseId of Channel entity (MUST be allowed in OU)
»»» labelbodystringfalsenone
»»» shipmentRequirementsbodyobjectfalsenone
»»»» additionalPropertiesbodyRequirementEvaluablefalsenone
»»» outputFilesConfigbodyobjectfalsenone
»»»» additionalPropertiesbodyServiceChannelOutputFilefalsenone
»»»»» optionsbody[ServiceChannelOutputFileOption]falsenone
»»»»»» idbodyinteger(int64)falsenone
»»»»»» rankbodyintegerfalsenone
»»»»»» defaultbodybooleanfalsenone
»»»»» compositionbodyobjectfalsenone
»»»»»» operationsbody[ServiceChannelOutputFileComposition]false[Elements of the composition.
One and only of the parameters boxIdentifier and pageSize must be set.
Can be either:
»»»»»»» boxIdentifierbodyobjectfalse

Composition of elements of the target Box.

pageSize cannot be set if boxIdentifier is set.

»»»»»»»» mainbodybooleanfalseIf true, the target box is any MAIN box
»»»»»»»» boxNamebodystringfalseIgnored if main is true. Otherwise, indicates the name of the target box
»»»»»»» serializedPageFilterbodystringfalse

Ignore when boxIdentifier is NOT set.

Page description, can be
    »»»»»»» pageSizebodystringfalse

    Cannot be set when boxIdentifier is set.

    Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

    This parameter is the format of the page to add.

    Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

    »»»»»»» rotationDirectionbodystringfalsenone
    »»»»»»» marginsbodyobjectfalsenone
    »»»»»»»» additionalPropertiesbodyMarginAreafalseMarginArea object
    »»»»»»»»» leftbodynumber(float)falsenone
    »»»»»»»»» topbodynumber(float)falsenone
    »»»»»»»»» rightbodynumber(float)falsenone
    »»»»»»»»» bottombodynumber(float)falsenone
    »»»»»»» nbDuplicatesbodyinteger(int64)falsenone
    »»»»»»» canStartOnBackSidebodybooleanfalsetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
    »»»»»»» skipAddressPagebodybooleanfalseIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
    »»»»»»» duplicateOnRegroupbodybooleanfalsetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
    »»»»»»» addLastBackSidebodybooleanfalsetrue 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.
    »»»»»»» printOnSidebodystringfalseOn 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.
    »»»»»»» appositionsbody[oneOf]falsenone
    »»»»»»»» anonymousbodyanyfalsenone
    »»»»»»»»» anonymousbodyServiceChannelOutputFileCompositionAppositionBasefalsenone
    »»»»»»»»»» @typebodystringtruenone
    »»»»»»»»»» pageFilterbodystringfalsePage 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.
    »»»»»»»»» anonymousbodyAppositionConfigRectanglefalsenone
    »»»»»»»»»» areabodyZoneAreatrueZoneArea object
    »»»»»»»»»» bgColorbodyColorfalseColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»» marginsbodyMarginAreafalseMarginArea object
    »»»»»»»»» anonymousbodyobjectfalsenone
    »»»»»»»»»» @typebodystringfalsenone
    »»»»»»»» anonymousbodyanyfalsenone
    »»»»»»»»» anonymousbodyServiceChannelOutputFileCompositionAppositionBasefalsenone
    »»»»»»»»» anonymousbodyanyfalsenone
    »»»»»»»»»» anonymousbodyAppositionConfigBasefalsenone
    »»»»»»»»»»» areabodyZoneAreatrueZoneArea object
    »»»»»»»»»»» bgColorbodyColorfalseColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»» marginsbodyMarginAreafalseMarginArea object
    »»»»»»»»»» anonymousbodyobjectfalsenone
    »»»»»»»»»»» fontNamebodystringfalsenone
    »»»»»»»»»»» fontSizebodynumber(float)falsenone
    »»»»»»»»»»» fontColorbodyColorfalseColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»» lineSpacebodyinteger(float)falsenone
    »»»»»»»»»»» hAlignbodystringfalseHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»» vAlignbodystringfalseVertical alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»» rtlbodybooleanfalsenone
    »»»»»»»»»»» lineBreakModebodystringfalseHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).
    »»»»»»»»» anonymousbodyAppositionWithContentfalsenone
    »»»»»»»»»» contentEvaluatorbodyExpressiontruenone
    »»»»»»»»» anonymousbodyobjectfalsenone
    »»»»»»»»»» @typebodystringfalsenone
    »»»»»»»» anonymousbodyanyfalsenone
    »»»»»»»»» anonymousbodyServiceChannelOutputFileCompositionAppositionBasefalsenone
    »»»»»»»»» anonymousbodyAppositionWithContentfalsenone
    »»»»»»»»» anonymousbodyobjectfalsenone
    »»»»»»»»»» @typebodystringfalsenone
    »»»»»»»»»» textbodyanyfalsenone
    »»»»»»»»»» qrCodebodyanyfalsenone
    »»»»»»»»»»» anonymousbodyAppositionConfigBasefalsenone
    »»»»»»»»»»» anonymousbodyobjectfalsenone
    »»»»»»»»»»»» colorbodyColorfalseColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »» groupingConfigurationbodySendingStrategyfalseAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
    »»» namebodystringfalsenone
    »»» groupsbody[SendingGroup]falseSendingGroup names MUST be unique whithin a SendingStrategy
    »»»» namebodystringfalsenone
    »»»» serviceChannelsbody[string]falsearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»» fallbacksbody[string]falsearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»» additionalConditionbodyanyfalsenone
    »» sendingStrategybodyGroupingConfigurationfalsenone
    »»» groupingMetadataNamebodystringfalseName of Metadata OR Requirement used for grouping strategy
    »»» groupOnRequirementbodybooleanfalseIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
    » serviceFilesbody[ServiceFile]false[File associated to the service for background configuration]
    »» idbodystringfalsenone
    »» originalFileNamebodystringfalsenone
    »» fileSizebodyinteger(int64)falsenone
    »» storedDatebodyinteger(int64)falsenone
    » removedbodybooleanfalsenone
    » allowJobCreationbodybooleanfalsenone
    » inconsistentbodybooleanfalsetrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
    » forceServiceUpdatebodybooleanfalseForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

    Detailed descriptions

    »»»»»»»»»»»»» namespace: namespaces allowed, depending on context :

    »»»»»» operations: [Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:

    »»»»»»» serializedPageFilter:

    Ignore when boxIdentifier is NOT set.

    Page description, can be

    It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.

    Precedence of operators are (all,even,odd,\d) > : > & > |

    Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.

    Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page

    Enumerated Values

    ParameterValue
    » typeSIMPLE_UNIQUE
    » typeSIMPLE_MULTIPLE
    » typePREPROCESSING_UNIQUE
    » typePREPROCESSING
    » typeADVANCED
    »»»»»»»»»» @typeexb.Boolean
    »»»»»»»»»» @typeexb.AND
    »»»»»»»»»» @typeexb.OR
    »»»»»»»»»» @typeexb.NOT
    »»»»»»»»»»»»» @typeexv.Value
    »»»»»»»»»»»»» @typeexv.Reference
    »»»»»»»»»»»»» namespaceMETADATA
    »»»»»»»»»»»»» namespaceREQUIREMENT
    »»»»»»»»»»»»» namespaceORGANIZATIONAL_UNIT
    »»»»»»»»»»»»» namespaceOUTPUT_FILE
    »»»»»»»»»»»»»» @typeexv.FileName
    »»»»»»»»»»»»»» @typeexv.PdfText
    »»»»»»»»»»»»»» @typeexv.PdfMetadata
    »»»»»»»»»»»»» @typeexv.Concat
    »»»»»»»»»»»»» @typeexv.Coalesce
    »»»»»»»»»»»»» @typeexv.StrClean
    »»»»»»»»»»»»» @typeexv.StrNormalizeCase
    »»»»»»»»»»»»» @typeexv.StrReplace
    »»»»»»»»»»»»»» @typeexv.PositionInBox
    »»»»»»»»»»»»» @typeexv.NumSheetsValue
    »»»»»»»»»»»»» @typeexv.Substring
    »»»»»»»»»»»»» @typeexv.CurrentDate
    »»»»»»»»»»»»» @typeexv.DateParse
    »»»»»»»»»»»»» @typeexv.DateFormat
    »»»»»»»»»»»»» @typeexv.JobFileNameValue
    »»»»»»»»»» @typeexb.ContentEqual
    »»»»»»»»»» @typeexb.StrContains
    »»»»»»»»»» @typeexb.StrStartsWith
    »»»»»»»»»» @typeexb.StrEndsWith
    »»»»»»»»»» @typeexb.LessThan
    »»»»»»»»»» @typeexb.LessThanOrEqual
    »»»»»»»»»» @typeexb.NumericEqual
    »»»»»»»»»» @typeexb.StrMatches
    »»»»» @typebox.PDF
    »»»»»»»» @typebsc.NONE
    »»»»»»»» @typebsc.PAGE
    »»»»»»»» @typebsc.PDF_AREA
    »»»»»» @typebap.Overlay
    »»»»»» @typebap.Image
    »»»»»» targetTypeADDRESS_PAGE
    »»»»»» targetTypeDOCUMENT
    »»»»»» targetTypeCOMPOSED_DOCUMENT
    »»»»» @typebox.DATA_FILE
    »»»»»» @typepar.CSV
    »»»»»» @typepar.FixedWidth
    »»»»»» @typepar.Seiitra
    »»»»»» @typepar.JSON
    »»»»» @typebox.ARCHIVE
    »»»»» @typesvm.ConstantMetadata
    »»»»» @typesvm.ControlledValue
    »»»»»»» pageSizeA0
    »»»»»»» pageSizeA1
    »»»»»»» pageSizeA2
    »»»»»»» pageSizeA3
    »»»»»»» pageSizeA4
    »»»»»»» pageSizeA5
    »»»»»»» pageSizeA6
    »»»»»»» pageSizeSRA3
    »»»»»»» pageSizeA0-L
    »»»»»»» pageSizeA1-L
    »»»»»»» pageSizeA2-L
    »»»»»»» pageSizeA3-L
    »»»»»»» pageSizeA4-L
    »»»»»»» pageSizeA5-L
    »»»»»»» pageSizeA6-L
    »»»»»»» pageSizeLETTER
    »»»»»»» pageSizeLEGAL
    »»»»»»» rotationDirectionLEFT
    »»»»»»» rotationDirectionRIGHT
    »»»»»»» rotationDirectionNONE
    »»»»»»» printOnSideALL
    »»»»»»» printOnSideFRONT_SIDE
    »»»»»»» printOnSideBACK_SIDE
    »»»»»»»»»» @typeofa.RECTANGLE
    »»»»»»»»»»» hAlignCENTER
    »»»»»»»»»»» hAlignLEFT
    »»»»»»»»»»» hAlignRIGHT
    »»»»»»»»»»» vAlignBOTTOM
    »»»»»»»»»»» vAlignMIDDLE
    »»»»»»»»»»» vAlignTOP
    »»»»»»»»»»» lineBreakModeNEVER
    »»»»»»»»»»» lineBreakModeNORMAL
    »»»»»»»»»»» lineBreakModeALL_CHARS
    »»»»»»»»»»» lineBreakModeBREAK_WORD
    »»»»»»»»»» @typeofa.TEXT
    »»»»»»»»»» @typeofa.RS.QRCODE

    Example responses

    200 Response

    ```json{ "type": "object", "properties": { "result": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "

    Composition of elements of the target Box.

    pageSize cannot be set if boxIdentifier is set.

    " }, "serializedPageFilter": { "type": "string", "description": "

    Ignore when boxIdentifier is NOT set.

    Page description, can be

    It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.

    Precedence of operators are (all,even,odd,\\d) > : > & > |

    Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.

    Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page

    " }, "pageSize": { "type": "string", "description": "

    Cannot be set when boxIdentifier is set.

    Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

    This parameter is the format of the page to add.

    Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

    ", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } }}```

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultServicefalsenonenone
    »» idintegerfalsenonenone
    »» typestringfalsenonenone
    »» namestringfalsenonenone
    »» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» idinteger(int64)falsenonenone
    »»» namestringfalsenonelogin or displayable name
    »» propertiesServicePropertiesfalsenonenone
    »»» descriptionstringfalsenonenone
    »»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»» rintegerfalsenonenone
    »»»» gintegerfalsenonenone
    »»»» bintegerfalsenonenone
    »»»» anumber(float)falsenonenone
    »»» iconNamestringfalsenonenone
    »»» boxes[oneOf]falsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousAbstractBoxfalsenonenone
    »»»»»»» @typestringtruenonenone
    »»»»»»» namestringtruenonenone
    »»»»»»» labelstringfalsenonenone
    »»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
    »»»»»»» minElementsintegertruenonenone
    »»»»»»» maxElementsintegertruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
    »»»»»»» parentParentWrappertruenoneAllow 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
    »»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
    »»»»»»»» fileMatcheranyfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
    »»»»»»»»»»» @typestringtruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» valuebooleanfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» expr1anyfalsenonenone
    »»»»»»»»»»» expr2anyfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» expranyfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»» expr1Expressionfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» valuestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
    * METADATA reference another Metadata
    * REQUIREMENT reference a Requirement
    * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
    * For OUTPUT_FILE allowed reference names are : NUID
    »»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
    »»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» beginintegerfalsenonenone
    »»»»»»»»»»»»»»» endintegerfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
    »»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
    »»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» topnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
    »»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
    »»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
    »»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
    »»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
    »»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
    »»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
    »»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
    »»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
    »»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
    »»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressiontruenonenone
    »»»»»»»»»»»»»» patternstringtruenonePattern 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
    »»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
    »»»»»»»»»»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressiontruenonenone
    »»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
    »»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
    »»»»»»»»»»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
    »»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
    »»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» expr2Expressionfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
    »»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
    »»»»»»» metadatas[BoxMetadata]truenone[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.]
    »»»»»»»» namestringfalsenonenone
    »»»»»»»» persistbooleanfalsenonenone
    »»»»»»»» editablebooleanfalsenonenone
    »»»»»»»» contentExpressionfalsenonenone
    »»»»»»» reconcileBoxReconciliationtruenonenone
    »»»»»»»» conditionanytruenonenone
    »»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
    »»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
    »»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
    »»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
    »»»»»»» configuredFiles[ConfiguredFile]truenonenone
    »»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
    »»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
    »»»»»» splitConfiganyfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
    »»»»»»»»» editablebooleantruenonenone
    »»»»»»»»» @typestringtruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone
    »»»»»»»»» pagesintegertruenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone
    »»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»» valuestringtruenonenone
    »»»»»»»»» pagesintegertruenonenone
    »»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»» hasAddressPagebooleanfalsenonenone
    »»»»»» appositions[BoxAppositionFile]falsenonenone
    »»»»»»» @typestringtruenonenone
    »»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
    »»»»»»» targetTypestringtruenonenone
    »»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
    »»»»»»» backgroundbooleantruenonenone
    »»»»»»» editablebooleantruenonenone
    »»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» parserConfigurationParserConfigurationfalsenonenone
    »»»»»»» @typestringtruenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousAbstractBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

    continued

    NameTypeRequiredRestrictionsDescription
    »»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousBaseServiceMetadatafalsenonenone
    »»»»»» @typestringtruenonenone
    »»»»»» namestringtruenonenone
    »»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
    »»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousBaseServiceMetadatafalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

    continued

    NameTypeRequiredRestrictionsDescription
    »»» jobNameExpressionExpressionfalsenonenone
    »»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
    »»» packRequirementsobjectfalsenonenone
    »»»» additionalPropertiesRequirementEvaluablefalsenonenone
    »»»»» contentExpressionfalsenonenone
    »»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
    »»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
    »»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
    »»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
    »»»» labelstringfalsenonenone
    »»»» shipmentRequirementsobjectfalsenonenone
    »»»»» additionalPropertiesRequirementEvaluablefalsenonenone
    »»»» outputFilesConfigobjectfalsenonenone
    »»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
    »»»»»» options[ServiceChannelOutputFileOption]falsenonenone
    »»»»»»» idinteger(int64)falsenonenone
    »»»»»»» rankintegerfalsenonenone
    »»»»»»» defaultbooleanfalsenonenone
    »»»»»» compositionobjectfalsenonenone
    »»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:
    - Boxes based, in which case all elements of files related to the
    recipient will be added. The parameter boxIdentifier is used to
    match the Box.
    - Blank pages, in which case a blank (white) page will be added.
    The parameter pageSize indicates the format of the page to add. ]
    »»»»»»»» boxIdentifierobjectfalsenone

    Composition of elements of the target Box.

    pageSize cannot be set if boxIdentifier is set.

    »»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
    »»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
    »»»»»»»» serializedPageFilterstringfalsenone

    Ignore when boxIdentifier is NOT set.

    Page description, can be

    • a single page number

    • an interval (1:3)

    • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

    • keywords among 'odd' and 'even' for respective page description

    It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

    »»»»»»»» pageSizestringfalsenone

    Cannot be set when boxIdentifier is set.

    Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

    This parameter is the format of the page to add.

    Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

    »»»»»»»» rotationDirectionstringfalsenonenone
    »»»»»»»» marginsobjectfalsenonenone
    »»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
    »»»»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»»»» topnumber(float)falsenonenone
    »»»»»»»»»» rightnumber(float)falsenonenone
    »»»»»»»»»» bottomnumber(float)falsenonenone
    »»»»»»»» nbDuplicatesinteger(int64)falsenonenone
    »»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
    »»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
    »»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
    »»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
    »»»»»»»» printOnSidestringfalsenoneOn 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.
    »»»»»»»» appositions[oneOf]falsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
    »»»»»»»»»»» @typestringtruenonenone
    »»»»»»»»»»» pageFilterstringfalsenonePage 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.

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
    »»»»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
    »»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»» fontNamestringfalsenonenone
    »»»»»»»»»»»» fontSizenumber(float)falsenonenone
    »»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
    »»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»»» rtlbooleanfalsenonenone
    »»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionWithContentfalsenonenone
    »»»»»»»»»»» contentEvaluatorExpressiontruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionWithContentfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» textanyfalsenonenone
    »»»»»»»»»»» qrCodeanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

    continued

    NameTypeRequiredRestrictionsDescription
    »»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
    »»»» namestringfalsenonenone
    »»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
    »»»»» namestringfalsenonenone
    »»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»»» additionalConditionanyfalsenonenone
    »»» sendingStrategyGroupingConfigurationfalsenonenone
    »»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
    »»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
    »» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
    »»» idstringfalsenonenone
    »»» originalFileNamestringfalsenonenone
    »»» fileSizeinteger(int64)falsenonenone
    »»» storedDateinteger(int64)falsenonenone
    »» removedbooleanfalsenonenone
    »» allowJobCreationbooleanfalsenonenone
    »» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
    »» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

    Enumerated Values

    PropertyValue
    typeSIMPLE_UNIQUE
    typeSIMPLE_MULTIPLE
    typePREPROCESSING_UNIQUE
    typePREPROCESSING
    typeADVANCED
    @typeexb.Boolean
    @typeexb.AND
    @typeexb.OR
    @typeexb.NOT
    @typeexv.Value
    @typeexv.Reference
    namespaceMETADATA
    namespaceREQUIREMENT
    namespaceORGANIZATIONAL_UNIT
    namespaceOUTPUT_FILE
    @typeexv.FileName
    @typeexv.PdfText
    @typeexv.PdfMetadata
    @typeexv.Concat
    @typeexv.Coalesce
    @typeexv.StrClean
    @typeexv.StrNormalizeCase
    @typeexv.StrReplace
    @typeexv.PositionInBox
    @typeexv.NumSheetsValue
    @typeexv.Substring
    @typeexv.CurrentDate
    @typeexv.DateParse
    @typeexv.DateFormat
    @typeexv.JobFileNameValue
    @typeexb.ContentEqual
    @typeexb.StrContains
    @typeexb.StrStartsWith
    @typeexb.StrEndsWith
    @typeexb.LessThan
    @typeexb.LessThanOrEqual
    @typeexb.NumericEqual
    @typeexb.StrMatches
    @typebox.PDF
    @typebsc.NONE
    @typebsc.PAGE
    @typebsc.PDF_AREA
    @typebap.Overlay
    @typebap.Image
    targetTypeADDRESS_PAGE
    targetTypeDOCUMENT
    targetTypeCOMPOSED_DOCUMENT
    @typebox.DATA_FILE
    @typepar.CSV
    @typepar.FixedWidth
    @typepar.Seiitra
    @typepar.JSON
    @typebox.ARCHIVE
    @typesvm.ConstantMetadata
    @typesvm.ControlledValue
    pageSizeA0
    pageSizeA1
    pageSizeA2
    pageSizeA3
    pageSizeA4
    pageSizeA5
    pageSizeA6
    pageSizeSRA3
    pageSizeA0-L
    pageSizeA1-L
    pageSizeA2-L
    pageSizeA3-L
    pageSizeA4-L
    pageSizeA5-L
    pageSizeA6-L
    pageSizeLETTER
    pageSizeLEGAL
    rotationDirectionLEFT
    rotationDirectionRIGHT
    rotationDirectionNONE
    printOnSideALL
    printOnSideFRONT_SIDE
    printOnSideBACK_SIDE
    @typeofa.RECTANGLE
    hAlignCENTER
    hAlignLEFT
    hAlignRIGHT
    vAlignBOTTOM
    vAlignMIDDLE
    vAlignTOP
    lineBreakModeNEVER
    lineBreakModeNORMAL
    lineBreakModeALL_CHARS
    lineBreakModeBREAK_WORD
    @typeofa.TEXT
    @typeofa.RS.QRCODE

    getService

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/services/{serviceId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /services/{serviceId}

    Get a single Services

    Retrieve a Service from super-admin / admin / group validator / simple user

    Parameters

    NameInTypeRequiredDescription
    serviceIdpathinteger(int64)trueId of Service to retrieve

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultServicefalsenonenone
    »» idintegerfalsenonenone
    »» typestringfalsenonenone
    »» namestringfalsenonenone
    »» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» idinteger(int64)falsenonenone
    »»» namestringfalsenonelogin or displayable name
    »» propertiesServicePropertiesfalsenonenone
    »»» descriptionstringfalsenonenone
    »»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»» rintegerfalsenonenone
    »»»» gintegerfalsenonenone
    »»»» bintegerfalsenonenone
    »»»» anumber(float)falsenonenone
    »»» iconNamestringfalsenonenone
    »»» boxes[oneOf]falsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousAbstractBoxfalsenonenone
    »»»»»»» @typestringtruenonenone
    »»»»»»» namestringtruenonenone
    »»»»»»» labelstringfalsenonenone
    »»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
    »»»»»»» minElementsintegertruenonenone
    »»»»»»» maxElementsintegertruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
    »»»»»»» parentParentWrappertruenoneAllow 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
    »»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
    »»»»»»»» fileMatcheranyfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
    »»»»»»»»»»» @typestringtruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» valuebooleanfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» expr1anyfalsenonenone
    »»»»»»»»»»» expr2anyfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» expranyfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»» expr1Expressionfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» valuestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
    * METADATA reference another Metadata
    * REQUIREMENT reference a Requirement
    * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
    * For OUTPUT_FILE allowed reference names are : NUID
    »»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
    »»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» beginintegerfalsenonenone
    »»»»»»»»»»»»»»» endintegerfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
    »»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
    »»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» topnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
    »»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
    »»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
    »»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
    »»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
    »»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
    »»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
    »»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
    »»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
    »»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
    »»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressiontruenonenone
    »»»»»»»»»»»»»» patternstringtruenonePattern 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
    »»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
    »»»»»»»»»»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressiontruenonenone
    »»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
    »»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
    »»»»»»»»»»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
    »»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
    »»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» expr2Expressionfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
    »»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
    »»»»»»» metadatas[BoxMetadata]truenone[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.]
    »»»»»»»» namestringfalsenonenone
    »»»»»»»» persistbooleanfalsenonenone
    »»»»»»»» editablebooleanfalsenonenone
    »»»»»»»» contentExpressionfalsenonenone
    »»»»»»» reconcileBoxReconciliationtruenonenone
    »»»»»»»» conditionanytruenonenone
    »»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
    »»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
    »»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
    »»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
    »»»»»»» configuredFiles[ConfiguredFile]truenonenone
    »»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
    »»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
    »»»»»» splitConfiganyfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
    »»»»»»»»» editablebooleantruenonenone
    »»»»»»»»» @typestringtruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone
    »»»»»»»»» pagesintegertruenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone
    »»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»» valuestringtruenonenone
    »»»»»»»»» pagesintegertruenonenone
    »»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»» hasAddressPagebooleanfalsenonenone
    »»»»»» appositions[BoxAppositionFile]falsenonenone
    »»»»»»» @typestringtruenonenone
    »»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
    »»»»»»» targetTypestringtruenonenone
    »»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
    »»»»»»» backgroundbooleantruenonenone
    »»»»»»» editablebooleantruenonenone
    »»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» parserConfigurationParserConfigurationfalsenonenone
    »»»»»»» @typestringtruenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousAbstractBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

    continued

    NameTypeRequiredRestrictionsDescription
    »»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousBaseServiceMetadatafalsenonenone
    »»»»»» @typestringtruenonenone
    »»»»»» namestringtruenonenone
    »»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
    »»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousBaseServiceMetadatafalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

    continued

    NameTypeRequiredRestrictionsDescription
    »»» jobNameExpressionExpressionfalsenonenone
    »»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
    »»» packRequirementsobjectfalsenonenone
    »»»» additionalPropertiesRequirementEvaluablefalsenonenone
    »»»»» contentExpressionfalsenonenone
    »»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
    »»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
    »»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
    »»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
    »»»» labelstringfalsenonenone
    »»»» shipmentRequirementsobjectfalsenonenone
    »»»»» additionalPropertiesRequirementEvaluablefalsenonenone
    »»»» outputFilesConfigobjectfalsenonenone
    »»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
    »»»»»» options[ServiceChannelOutputFileOption]falsenonenone
    »»»»»»» idinteger(int64)falsenonenone
    »»»»»»» rankintegerfalsenonenone
    »»»»»»» defaultbooleanfalsenonenone
    »»»»»» compositionobjectfalsenonenone
    »»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:
    - Boxes based, in which case all elements of files related to the
    recipient will be added. The parameter boxIdentifier is used to
    match the Box.
    - Blank pages, in which case a blank (white) page will be added.
    The parameter pageSize indicates the format of the page to add. ]
    »»»»»»»» boxIdentifierobjectfalsenone

    Composition of elements of the target Box.

    pageSize cannot be set if boxIdentifier is set.

    »»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
    »»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
    »»»»»»»» serializedPageFilterstringfalsenone

    Ignore when boxIdentifier is NOT set.

    Page description, can be

    • a single page number

    • an interval (1:3)

    • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

    • keywords among 'odd' and 'even' for respective page description

    It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

    »»»»»»»» pageSizestringfalsenone

    Cannot be set when boxIdentifier is set.

    Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

    This parameter is the format of the page to add.

    Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

    »»»»»»»» rotationDirectionstringfalsenonenone
    »»»»»»»» marginsobjectfalsenonenone
    »»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
    »»»»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»»»» topnumber(float)falsenonenone
    »»»»»»»»»» rightnumber(float)falsenonenone
    »»»»»»»»»» bottomnumber(float)falsenonenone
    »»»»»»»» nbDuplicatesinteger(int64)falsenonenone
    »»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
    »»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
    »»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
    »»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
    »»»»»»»» printOnSidestringfalsenoneOn 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.
    »»»»»»»» appositions[oneOf]falsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
    »»»»»»»»»»» @typestringtruenonenone
    »»»»»»»»»»» pageFilterstringfalsenonePage 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.

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
    »»»»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
    »»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»» fontNamestringfalsenonenone
    »»»»»»»»»»»» fontSizenumber(float)falsenonenone
    »»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
    »»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»»» rtlbooleanfalsenonenone
    »»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionWithContentfalsenonenone
    »»»»»»»»»»» contentEvaluatorExpressiontruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionWithContentfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» textanyfalsenonenone
    »»»»»»»»»»» qrCodeanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

    continued

    NameTypeRequiredRestrictionsDescription
    »»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
    »»»» namestringfalsenonenone
    »»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
    »»»»» namestringfalsenonenone
    »»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»»» additionalConditionanyfalsenonenone
    »»» sendingStrategyGroupingConfigurationfalsenonenone
    »»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
    »»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
    »» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
    »»» idstringfalsenonenone
    »»» originalFileNamestringfalsenonenone
    »»» fileSizeinteger(int64)falsenonenone
    »»» storedDateinteger(int64)falsenonenone
    »» removedbooleanfalsenonenone
    »» allowJobCreationbooleanfalsenonenone
    »» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
    »» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

    Enumerated Values

    PropertyValue
    typeSIMPLE_UNIQUE
    typeSIMPLE_MULTIPLE
    typePREPROCESSING_UNIQUE
    typePREPROCESSING
    typeADVANCED
    @typeexb.Boolean
    @typeexb.AND
    @typeexb.OR
    @typeexb.NOT
    @typeexv.Value
    @typeexv.Reference
    namespaceMETADATA
    namespaceREQUIREMENT
    namespaceORGANIZATIONAL_UNIT
    namespaceOUTPUT_FILE
    @typeexv.FileName
    @typeexv.PdfText
    @typeexv.PdfMetadata
    @typeexv.Concat
    @typeexv.Coalesce
    @typeexv.StrClean
    @typeexv.StrNormalizeCase
    @typeexv.StrReplace
    @typeexv.PositionInBox
    @typeexv.NumSheetsValue
    @typeexv.Substring
    @typeexv.CurrentDate
    @typeexv.DateParse
    @typeexv.DateFormat
    @typeexv.JobFileNameValue
    @typeexb.ContentEqual
    @typeexb.StrContains
    @typeexb.StrStartsWith
    @typeexb.StrEndsWith
    @typeexb.LessThan
    @typeexb.LessThanOrEqual
    @typeexb.NumericEqual
    @typeexb.StrMatches
    @typebox.PDF
    @typebsc.NONE
    @typebsc.PAGE
    @typebsc.PDF_AREA
    @typebap.Overlay
    @typebap.Image
    targetTypeADDRESS_PAGE
    targetTypeDOCUMENT
    targetTypeCOMPOSED_DOCUMENT
    @typebox.DATA_FILE
    @typepar.CSV
    @typepar.FixedWidth
    @typepar.Seiitra
    @typepar.JSON
    @typebox.ARCHIVE
    @typesvm.ConstantMetadata
    @typesvm.ControlledValue
    pageSizeA0
    pageSizeA1
    pageSizeA2
    pageSizeA3
    pageSizeA4
    pageSizeA5
    pageSizeA6
    pageSizeSRA3
    pageSizeA0-L
    pageSizeA1-L
    pageSizeA2-L
    pageSizeA3-L
    pageSizeA4-L
    pageSizeA5-L
    pageSizeA6-L
    pageSizeLETTER
    pageSizeLEGAL
    rotationDirectionLEFT
    rotationDirectionRIGHT
    rotationDirectionNONE
    printOnSideALL
    printOnSideFRONT_SIDE
    printOnSideBACK_SIDE
    @typeofa.RECTANGLE
    hAlignCENTER
    hAlignLEFT
    hAlignRIGHT
    vAlignBOTTOM
    vAlignMIDDLE
    vAlignTOP
    lineBreakModeNEVER
    lineBreakModeNORMAL
    lineBreakModeALL_CHARS
    lineBreakModeBREAK_WORD
    @typeofa.TEXT
    @typeofa.RS.QRCODE

    removeService

    Code samples

    # You can also use wgetcurl -X DELETE mycloud.nirva-software.com/services/{serviceId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    DELETE /services/{serviceId}

    Remove (logicaly) Service

    Logically remove a Sevice (Service Administrator operation). The Service must not have associated Jobs (or use force parameter). Removed Service will be effectively deleted from Database by Purge Task when there is NO Job associated with the Service.

    Parameters

    NameInTypeRequiredDescription
    serviceIdpathinteger(int64)trueId of Service to retrieve
    forcequerybooleanfalseId of OU to remove

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultServicefalsenonenone
    »» idintegerfalsenonenone
    »» typestringfalsenonenone
    »» namestringfalsenonenone
    »» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» idinteger(int64)falsenonenone
    »»» namestringfalsenonelogin or displayable name
    »» propertiesServicePropertiesfalsenonenone
    »»» descriptionstringfalsenonenone
    »»» iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»» rintegerfalsenonenone
    »»»» gintegerfalsenonenone
    »»»» bintegerfalsenonenone
    »»»» anumber(float)falsenonenone
    »»» iconNamestringfalsenonenone
    »»» boxes[oneOf]falsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousAbstractBoxfalsenonenone
    »»»»»»» @typestringtruenonenone
    »»»»»»» namestringtruenonenone
    »»»»»»» labelstringfalsenonenone
    »»»»»»» hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
    »»»»»»» minElementsintegertruenonenone
    »»»»»»» maxElementsintegertruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
    »»»»»»» parentParentWrappertruenoneAllow 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
    »»»»»»»» boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
    »»»»»»»» fileMatcheranyfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone
    »»»»»»»»»»» @typestringtruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» valuebooleanfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» expr1anyfalsenonenone
    »»»»»»»»»»» expr2anyfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» expranyfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»» expr1Expressionfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionConstantfalsenonePre-defined text value
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» valuestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
    * METADATA reference another Metadata
    * REQUIREMENT reference a Requirement
    * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
    * For OUTPUT_FILE allowed reference names are : NUID
    »»»»»»»»»»»»»» identifierstringfalsenoneIdentifier of the element

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
    »»»»»»»»»»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» beginintegerfalsenonenone
    »»»»»»»»»»»»»»» endintegerfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» pageintegerfalsenonePage 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 "".
    »»»»»»»»»»»»»»» areaZoneAreafalsenoneZoneArea object
    »»»»»»»»»»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» topnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» widthnumber(float)falsenonenone
    »»»»»»»»»»»»»»»» heightnumber(float)falsenonenone
    »»»»»»»»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
    »»»»»»»»»»»»»»»» additionalPropertiesstringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrCleanfalsenoneCleans a string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
    »»»»»»»»»»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
    »»»»»»»»»»»»»» multilinebooleanfalsenoneReplaces 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.
    »»»»»»»»»»»»»» trimbooleanfalsenoneRemoves 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
    »»»»»»»»»»»»»» replacementstringfalsenoneThe 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 '\'.
    »»»»»»»»»»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenoneAbsolute 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

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
    »»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
    »»»»»»»»»»»»»» endIndexintegerfalsenoneIndex 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
    »»»»»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressiontruenonenone
    »»»»»»»»»»»»»» patternstringtruenonePattern 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
    »»»»»»»»»»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
    »»»»»»»»»»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» exprExpressiontruenonenone
    »»»»»»»»»»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
    »»»»»»»»»»»»»» timeZonestringtruenoneTimeZone used to format the date.
    »»»»»»»»»»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
    »»»»»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
    »»»»»»»»»»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
    »»»»»»»»»»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» expr2Expressionfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» exprExpressionfalsenonenone
    »»»»»»»»»»» regExpPatternstringfalsenonevalid Regular Expression to check the value against
    »»»»»»»»»»» matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)
    »»»»»»» metadatas[BoxMetadata]truenone[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.]
    »»»»»»»» namestringfalsenonenone
    »»»»»»»» persistbooleanfalsenonenone
    »»»»»»»» editablebooleanfalsenonenone
    »»»»»»»» contentExpressionfalsenonenone
    »»»»»»» reconcileBoxReconciliationtruenonenone
    »»»»»»»» conditionanytruenonenone
    »»»»»»»» minExpectedintegerfalsenonedefault 0. Cannot be negative.
    »»»»»»»» maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
    »»»»»»»» minMatchesintegerfalsenonedefault 0. Cannot be negative.
    »»»»»»»» maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.
    »»»»»»» configuredFiles[ConfiguredFile]truenonenone
    »»»»»»»» serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
    »»»»»»»» removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
    »»»»»» splitConfiganyfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone
    »»»»»»»»» editablebooleantruenonenone
    »»»»»»»»» @typestringtruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone
    »»»»»»»»» pagesintegertruenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»» @typestringfalsenonenone
    »»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»» valuestringtruenonenone
    »»»»»»»»» pagesintegertruenonenone
    »»»»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

    continued

    NameTypeRequiredRestrictionsDescription
    »»»»»» hasAddressPagebooleanfalsenonenone
    »»»»»» appositions[BoxAppositionFile]falsenonenone
    »»»»»»» @typestringtruenonenone
    »»»»»»» idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
    »»»»»»» targetTypestringtruenonenone
    »»»»»»» serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
    »»»»»»» backgroundbooleantruenonenone
    »»»»»»» editablebooleantruenonenone
    »»»»»»» serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» parserConfigurationParserConfigurationfalsenonenone
    »»»»»»» @typestringtruenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousAbstractBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

    continued

    NameTypeRequiredRestrictionsDescription
    »»» serviceMetadatas[oneOf]falsenoneOptional list of ServiceMetadata (common to whole Job)

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousBaseServiceMetadatafalsenonenone
    »»»»»» @typestringtruenonenone
    »»»»»» namestringtruenonenone
    »»»»»» editablebooleanfalsenoneif true, can be entered by User on Job creation

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
    »»»»»» propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

    xor

    NameTypeRequiredRestrictionsDescription
    »»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousBaseServiceMetadatafalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousobjectfalsenonenone
    »»»»»» @typestringfalsenonenone
    »»»»»» controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

    continued

    NameTypeRequiredRestrictionsDescription
    »»» jobNameExpressionExpressionfalsenonenone
    »»» jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
    »»» packRequirementsobjectfalsenonenone
    »»»» additionalPropertiesRequirementEvaluablefalsenonenone
    »»»»» contentExpressionfalsenonenone
    »»»»» editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
    »»»»» editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)
    »»» channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
    »»»» idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
    »»»» labelstringfalsenonenone
    »»»» shipmentRequirementsobjectfalsenonenone
    »»»»» additionalPropertiesRequirementEvaluablefalsenonenone
    »»»» outputFilesConfigobjectfalsenonenone
    »»»»» additionalPropertiesServiceChannelOutputFilefalsenonenone
    »»»»»» options[ServiceChannelOutputFileOption]falsenonenone
    »»»»»»» idinteger(int64)falsenonenone
    »»»»»»» rankintegerfalsenonenone
    »»»»»»» defaultbooleanfalsenonenone
    »»»»»» compositionobjectfalsenonenone
    »»»»»»» operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:
    - Boxes based, in which case all elements of files related to the
    recipient will be added. The parameter boxIdentifier is used to
    match the Box.
    - Blank pages, in which case a blank (white) page will be added.
    The parameter pageSize indicates the format of the page to add. ]
    »»»»»»»» boxIdentifierobjectfalsenone

    Composition of elements of the target Box.

    pageSize cannot be set if boxIdentifier is set.

    »»»»»»»»» mainbooleanfalsenoneIf true, the target box is any MAIN box
    »»»»»»»»» boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
    »»»»»»»» serializedPageFilterstringfalsenone

    Ignore when boxIdentifier is NOT set.

    Page description, can be

    • a single page number

    • an interval (1:3)

    • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

    • keywords among 'odd' and 'even' for respective page description

    It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

    »»»»»»»» pageSizestringfalsenone

    Cannot be set when boxIdentifier is set.

    Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

    This parameter is the format of the page to add.

    Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

    »»»»»»»» rotationDirectionstringfalsenonenone
    »»»»»»»» marginsobjectfalsenonenone
    »»»»»»»»» additionalPropertiesMarginAreafalsenoneMarginArea object
    »»»»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»»»» topnumber(float)falsenonenone
    »»»»»»»»»» rightnumber(float)falsenonenone
    »»»»»»»»»» bottomnumber(float)falsenonenone
    »»»»»»»» nbDuplicatesinteger(int64)falsenonenone
    »»»»»»»» canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
    »»»»»»»» skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
    »»»»»»»» duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
    »»»»»»»» addLastBackSidebooleanfalsenonetrue 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.
    »»»»»»»» printOnSidestringfalsenoneOn 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.
    »»»»»»»» appositions[oneOf]falsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone
    »»»»»»»»»»» @typestringtruenonenone
    »»»»»»»»»»» pageFilterstringfalsenonePage 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.

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionConfigRectanglefalsenonenone
    »»»»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone
    »»»»»»»»»»»» areaZoneAreatruenoneZoneArea object
    »»»»»»»»»»»» bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»»» marginsMarginAreafalsenoneMarginArea object

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»» fontNamestringfalsenonenone
    »»»»»»»»»»»» fontSizenumber(float)falsenonenone
    »»»»»»»»»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»»»»»»»» lineSpaceinteger(float)falsenonenone
    »»»»»»»»»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»»»»»»»»» rtlbooleanfalsenonenone
    »»»»»»»»»»»» lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionWithContentfalsenonenone
    »»»»»»»»»»» contentEvaluatorExpressiontruenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»» anonymousanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousAppositionWithContentfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»» @typestringfalsenonenone
    »»»»»»»»»»» textanyfalsenonenone
    »»»»»»»»»»» qrCodeanyfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» anonymousAppositionConfigBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»»»»»»»» anonymousobjectfalsenonenone
    »»»»»»»»»»»»» colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

    continued

    NameTypeRequiredRestrictionsDescription
    »»» groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
    »»»» namestringfalsenonenone
    »»»» groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy
    »»»»» namestringfalsenonenone
    »»»»» serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»»» fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    »»»»» additionalConditionanyfalsenonenone
    »»» sendingStrategyGroupingConfigurationfalsenonenone
    »»»» groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
    »»»» groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata
    »» serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
    »»» idstringfalsenonenone
    »»» originalFileNamestringfalsenonenone
    »»» fileSizeinteger(int64)falsenonenone
    »»» storedDateinteger(int64)falsenonenone
    »» removedbooleanfalsenonenone
    »» allowJobCreationbooleanfalsenonenone
    »» inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
    »» forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

    Enumerated Values

    PropertyValue
    typeSIMPLE_UNIQUE
    typeSIMPLE_MULTIPLE
    typePREPROCESSING_UNIQUE
    typePREPROCESSING
    typeADVANCED
    @typeexb.Boolean
    @typeexb.AND
    @typeexb.OR
    @typeexb.NOT
    @typeexv.Value
    @typeexv.Reference
    namespaceMETADATA
    namespaceREQUIREMENT
    namespaceORGANIZATIONAL_UNIT
    namespaceOUTPUT_FILE
    @typeexv.FileName
    @typeexv.PdfText
    @typeexv.PdfMetadata
    @typeexv.Concat
    @typeexv.Coalesce
    @typeexv.StrClean
    @typeexv.StrNormalizeCase
    @typeexv.StrReplace
    @typeexv.PositionInBox
    @typeexv.NumSheetsValue
    @typeexv.Substring
    @typeexv.CurrentDate
    @typeexv.DateParse
    @typeexv.DateFormat
    @typeexv.JobFileNameValue
    @typeexb.ContentEqual
    @typeexb.StrContains
    @typeexb.StrStartsWith
    @typeexb.StrEndsWith
    @typeexb.LessThan
    @typeexb.LessThanOrEqual
    @typeexb.NumericEqual
    @typeexb.StrMatches
    @typebox.PDF
    @typebsc.NONE
    @typebsc.PAGE
    @typebsc.PDF_AREA
    @typebap.Overlay
    @typebap.Image
    targetTypeADDRESS_PAGE
    targetTypeDOCUMENT
    targetTypeCOMPOSED_DOCUMENT
    @typebox.DATA_FILE
    @typepar.CSV
    @typepar.FixedWidth
    @typepar.Seiitra
    @typepar.JSON
    @typebox.ARCHIVE
    @typesvm.ConstantMetadata
    @typesvm.ControlledValue
    pageSizeA0
    pageSizeA1
    pageSizeA2
    pageSizeA3
    pageSizeA4
    pageSizeA5
    pageSizeA6
    pageSizeSRA3
    pageSizeA0-L
    pageSizeA1-L
    pageSizeA2-L
    pageSizeA3-L
    pageSizeA4-L
    pageSizeA5-L
    pageSizeA6-L
    pageSizeLETTER
    pageSizeLEGAL
    rotationDirectionLEFT
    rotationDirectionRIGHT
    rotationDirectionNONE
    printOnSideALL
    printOnSideFRONT_SIDE
    printOnSideBACK_SIDE
    @typeofa.RECTANGLE
    hAlignCENTER
    hAlignLEFT
    hAlignRIGHT
    vAlignBOTTOM
    vAlignMIDDLE
    vAlignTOP
    lineBreakModeNEVER
    lineBreakModeNORMAL
    lineBreakModeALL_CHARS
    lineBreakModeBREAK_WORD
    @typeofa.TEXT
    @typeofa.RS.QRCODE

    getServiceFile

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/services/{serviceId}/file/{serviceFileUuid} \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

    GET /services/{serviceId}/file/{serviceFileUuid}

    Retrieve a ServiceFile from a Service

    Parameters

    NameInTypeRequiredDescription
    serviceIdpathinteger(int64)trueFilter sending Service Id
    serviceFileUuidpathstringtrueFilter ServiceFile UUID

    Example responses

    200 Response

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredstring

    testDataFile

    Code samples

    # You can also use wgetcurl -X POST mycloud.nirva-software.com/services/testDataFile \ -H 'Content-Type: multipart/form-data' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    POST /services/testDataFile

    Test a DataFile (CSV, fixed width or Seiitra)

    Test a Datafile by extracting defined Columns if given parserConfiguration or computing BoxDataFile metadata if given (serviceId, BoxDataFile name)

    Body parameter

    required: - submittedFiletype: objectproperties: submittedFile: type: string description: file to upload format: binary parameters: type: object properties: serviceId: type: integer description: Can be null (Optional) format: int64 boxDataFileName: type: string parserConfiguration: required: - "@type" type: object properties: "@type": type: string enum: - par.CSV - par.FixedWidth - par.Seiitra - par.JSON description: Should define either a (serviceId, boxDataFileName) or a ParserConfigurationdescription: "'parameters' is JSON object DataFileTestParameter"

    Parameters

    NameInTypeRequiredDescription
    submittedFilebodystring(binary)truefile to upload
    parametersbodyDataFileTestParameterfalseShould define either a (serviceId, boxDataFileName) or a ParserConfiguration
    » serviceIdbodyinteger(int64)falseCan be null (Optional)
    » boxDataFileNamebodystringfalsenone
    » parserConfigurationbodyParserConfigurationfalsenone
    »» @typebodystringtruenone

    Enumerated Values

    ParameterValue
    »» @typepar.CSV
    »» @typepar.FixedWidth
    »» @typepar.Seiitra
    »» @typepar.JSON

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[object]falsenonenone
    »» additionalPropertiesstringfalsenonenone

    Session

    Manage the files in sessions

    list

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/files \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /files

    Get files stored in session

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "fileId": { "type": "string" }, "originFileName": { "type": "string" }, "storedDate": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[TempFile]falsenonenone
    »» fileIdstringfalsenonenone
    »» originFileNamestringfalsenonenone
    »» storedDatestringfalsenonenone
    »» fileSizeinteger(int64)falsenonenone
    »» pageCountintegerfalsenonenone

    upload

    Code samples

    # You can also use wgetcurl -X POST mycloud.nirva-software.com/files \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    POST /files

    Store files in a session

    If the "originFileName" of the file Part ends with .nvp the backend assumes the file came from Nirva virtual printer and tries to decompress LZMA (with memory limit of 17 MiB) and convert PostScript to PDF

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "fileId": { "type": "string" }, "originFileName": { "type": "string" }, "storedDate": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKArray of TempFile DTOs. The number of array elements can be less than the number of submitted file Parts if some files cannnot be stored into session (Conversion or I/O errors)Inline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[TempFile]falsenonenone
    »» fileIdstringfalsenonenone
    »» originFileNamestringfalsenonenone
    »» storedDatestringfalsenonenone
    »» fileSizeinteger(int64)falsenonenone
    »» pageCountintegerfalsenonenone

    getFile

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/files/{fileId} \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

    GET /files/{fileId}

    Get one file

    Parameters

    NameInTypeRequiredDescription
    fileIdpathstringtrueFilter fileId

    Example responses

    200 Response

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredstring

    Shipment

    Manage the shipment

    getShipments

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments

    Retrieve Shipments list by externalIds or OutputFile NUIDs or Tracking values

    Either externalIds OR outputFileNUIDs OR trackingValues parameter can be given. OutputFile NUIDs can be NUID of MAIN or SUB (common)

    Parameters

    NameInTypeRequiredDescription
    externalIdsquerystringfalseJSON array of Shipment externalIds (string) ; URL percent encoded
    outputFileNUIDsquerystringfalseJSON array of OutputFile NUIDs (string) ; URL percent encoded
    trackingValuesquerystringfalseJSON array of Tracking (Metadata short value string) ; URL percent encoded ; currently the number of returned Shipments is clamped to 32768

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[Shipment]falsenonenone
    »» idinteger(int64)falsenonenone
    »» externalIdstringfalsenonenone
    »» statusintegerfalsenonenone
    »» lastModifiedStateinteger(int64)falsenonenone
    »» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
    »» userAcknowledgmentUserAcknowledgmentfalsenonenone
    »»» messagestringfalsenoneOptional user provided info
    »» packGroupIdinteger(int64)falsenonenone
    »» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» idinteger(int64)falsenonenone
    »»» namestringfalsenonelogin or displayable name
    »» deliveryExternalIdstringfalsenonenone
    »» deliveryCreationDateinteger(int64)falsenonenone
    »» deliveryPostDateinteger(int64)falsenonenone
    »» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» deliveryCommandCreationDateinteger(int64)falsenonenone
    »» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» metadatas[Metadata]falsenonenone
    »»» namestringfalsenonenone
    »»» metadataKindstringfalsenonenone
    »»» metadataTypestringfalsenonenone
    »»» valuestringfalsenonenone
    »»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
    »»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
    »»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
    »» outputFiles[OutputFile]falsenonenone
    »»» idinteger(int64)falsenonenone
    »»» nuidstringfalsenonenone
    »»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    »»» fileSizeinteger(int64)falsenonenone
    »»» pageCountintegerfalsenonenone
    »»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
    »»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
    »»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
    »»» outputFileOptionIds[integer]falsenonenone

    Enumerated Values

    PropertyValue
    metadataKindREQUIREMENT
    metadataKindMETADATA
    metadataKindTRACKING
    metadataTypeSHORT_VALUE
    metadataTypeLONG_TEXT
    metadataTypePOSTAL_ADDRESS
    metadataTypeSTORAGE_REFERENCE

    getShipmentsFromPost

    Code samples

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

    POST /shipments

    Retrieve Shipments list by externalIds or OutputFile NUIDs or Tracking values

    POST method does not limit number of requested parameters based on URL size . Either externalIds OR outputFileNUIDs OR trackingValues parameter can be given. OutputFile NUIDs can be NUID of MAIN or SUB (common)

    Body parameter

    { "type": "object", "properties": { "externalIds": { "type": "array", "items": { "type": "string" } }, "outputFileNUIDs": { "type": "array", "items": { "type": "string" } }, "trackingValues": { "type": "array", "items": { "type": "string" } } }, "description": "Must give either 'externalIds' OR 'outputFileNUIDs' OR 'trackingValues' arrays"}

    Parameters

    NameInTypeRequiredDescription
    bodybodyShipmentPostParameterfalsenone

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[Shipment]falsenonenone
    »» idinteger(int64)falsenonenone
    »» externalIdstringfalsenonenone
    »» statusintegerfalsenonenone
    »» lastModifiedStateinteger(int64)falsenonenone
    »» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
    »» userAcknowledgmentUserAcknowledgmentfalsenonenone
    »»» messagestringfalsenoneOptional user provided info
    »» packGroupIdinteger(int64)falsenonenone
    »» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» idinteger(int64)falsenonenone
    »»» namestringfalsenonelogin or displayable name
    »» deliveryExternalIdstringfalsenonenone
    »» deliveryCreationDateinteger(int64)falsenonenone
    »» deliveryPostDateinteger(int64)falsenonenone
    »» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» deliveryCommandCreationDateinteger(int64)falsenonenone
    »» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» metadatas[Metadata]falsenonenone
    »»» namestringfalsenonenone
    »»» metadataKindstringfalsenonenone
    »»» metadataTypestringfalsenonenone
    »»» valuestringfalsenonenone
    »»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
    »»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
    »»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
    »» outputFiles[OutputFile]falsenonenone
    »»» idinteger(int64)falsenonenone
    »»» nuidstringfalsenonenone
    »»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    »»» fileSizeinteger(int64)falsenonenone
    »»» pageCountintegerfalsenonenone
    »»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
    »»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
    »»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
    »»» outputFileOptionIds[integer]falsenonenone

    Enumerated Values

    PropertyValue
    metadataKindREQUIREMENT
    metadataKindMETADATA
    metadataKindTRACKING
    metadataTypeSHORT_VALUE
    metadataTypeLONG_TEXT
    metadataTypePOSTAL_ADDRESS
    metadataTypeSTORAGE_REFERENCE

    getShipment

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/{shipmentId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/{shipmentId}

    Get a single Shipment by its Id

    Parameters

    NameInTypeRequiredDescription
    shipmentIdpathinteger(int64)trueId of the Shipment to retrieve

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[Shipment]falsenonenone
    »» idinteger(int64)falsenonenone
    »» externalIdstringfalsenonenone
    »» statusintegerfalsenonenone
    »» lastModifiedStateinteger(int64)falsenonenone
    »» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
    »» userAcknowledgmentUserAcknowledgmentfalsenonenone
    »»» messagestringfalsenoneOptional user provided info
    »» packGroupIdinteger(int64)falsenonenone
    »» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» idinteger(int64)falsenonenone
    »»» namestringfalsenonelogin or displayable name
    »» deliveryExternalIdstringfalsenonenone
    »» deliveryCreationDateinteger(int64)falsenonenone
    »» deliveryPostDateinteger(int64)falsenonenone
    »» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» deliveryCommandCreationDateinteger(int64)falsenonenone
    »» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» metadatas[Metadata]falsenonenone
    »»» namestringfalsenonenone
    »»» metadataKindstringfalsenonenone
    »»» metadataTypestringfalsenonenone
    »»» valuestringfalsenonenone
    »»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
    »»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
    »»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
    »» outputFiles[OutputFile]falsenonenone
    »»» idinteger(int64)falsenonenone
    »»» nuidstringfalsenonenone
    »»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    »»» fileSizeinteger(int64)falsenonenone
    »»» pageCountintegerfalsenonenone
    »»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
    »»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
    »»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
    »»» outputFileOptionIds[integer]falsenonenone

    Enumerated Values

    PropertyValue
    metadataKindREQUIREMENT
    metadataKindMETADATA
    metadataKindTRACKING
    metadataTypeSHORT_VALUE
    metadataTypeLONG_TEXT
    metadataTypePOSTAL_ADDRESS
    metadataTypeSTORAGE_REFERENCE

    getShipmentsList

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/list \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/list

    Retrieve Shipments list within date range from all kind of user (SuperAdmin, OU Admin, Group, simple User/Owner)

    Default from_date is (today-1). Default to_date is (today+1)

    Parameters

    NameInTypeRequiredDescription
    targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
    targetOwnerIdqueryinteger(int64)falseid of job owner
    fromDatequerystringfalseFrom date (yyyy-mm-dd)
    toDatequerystringfalseTo date (yyyy-mm-dd)
    maxResultsqueryintegerfalseLimit the count of latest returned entities (default is BackEnd maximum)

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "maxResult": { "type": "boolean", "description": "true if array may be truncated" } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultobjectfalsenonenone
    »» array[Shipment]falsenonenone
    »»» idinteger(int64)falsenonenone
    »»» externalIdstringfalsenonenone
    »»» statusintegerfalsenonenone
    »»» lastModifiedStateinteger(int64)falsenonenone
    »»» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
    »»» userAcknowledgmentUserAcknowledgmentfalsenonenone
    »»»» messagestringfalsenoneOptional user provided info
    »»» packGroupIdinteger(int64)falsenonenone
    »»» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» deliveryExternalIdstringfalsenonenone
    »»» deliveryCreationDateinteger(int64)falsenonenone
    »»» deliveryPostDateinteger(int64)falsenonenone
    »»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» deliveryCommandCreationDateinteger(int64)falsenonenone
    »»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» metadatas[Metadata]falsenonenone
    »»»» namestringfalsenonenone
    »»»» metadataKindstringfalsenonenone
    »»»» metadataTypestringfalsenonenone
    »»»» valuestringfalsenonenone
    »»»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
    »»»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
    »»»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
    »»» outputFiles[OutputFile]falsenonenone
    »»»» idinteger(int64)falsenonenone
    »»»» nuidstringfalsenonenone
    »»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    »»»» fileSizeinteger(int64)falsenonenone
    »»»» pageCountintegerfalsenonenone
    »»»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
    »»»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
    »»»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
    »»»» outputFileOptionIds[integer]falsenonenone
    »» maxResultbooleanfalsenonetrue if array may be truncated

    Enumerated Values

    PropertyValue
    metadataKindREQUIREMENT
    metadataKindMETADATA
    metadataKindTRACKING
    metadataTypeSHORT_VALUE
    metadataTypeLONG_TEXT
    metadataTypePOSTAL_ADDRESS
    metadataTypeSTORAGE_REFERENCE

    getAllStatuses

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/allStatuses \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/allStatuses

    Retrieve list of all Shipment statuses present in database

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "type": "integer" } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[integer]falsenonenone

    getShipmentsByStatus

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/status \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/status

    Retrieve unacknoweldged Shipments list within "lastModifiedState" date range from all kind of user (SuperAdmin, OU Admin, Group, simple User/Owner) by error (negative) status or given status values. A Shipment is unacknowledged if its "userAck" field is null

    Default fromDate is (today-1). Default toDate is (today+1)

    Parameters

    NameInTypeRequiredDescription
    statusValuesqueryinteger(int64)falseIf present, comma-separated list of integral status values (URL encoded) . If NOT given, all Shipments with negative (error) status are retrieved
    targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
    targetOwnerIdqueryinteger(int64)falseid of job owner
    fromDatequerystringfalseFrom date (yyyy-mm-dd)
    toDatequerystringfalseTo date (yyyy-mm-dd)

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "object", "properties": { "array": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "maxResult": { "type": "boolean", "description": "true if array may be truncated" } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultobjectfalsenonenone
    »» array[Shipment]falsenonenone
    »»» idinteger(int64)falsenonenone
    »»» externalIdstringfalsenonenone
    »»» statusintegerfalsenonenone
    »»» lastModifiedStateinteger(int64)falsenonenone
    »»» eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
    »»» userAcknowledgmentUserAcknowledgmentfalsenonenone
    »»»» messagestringfalsenoneOptional user provided info
    »»» packGroupIdinteger(int64)falsenonenone
    »»» deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» deliveryExternalIdstringfalsenonenone
    »»» deliveryCreationDateinteger(int64)falsenonenone
    »»» deliveryPostDateinteger(int64)falsenonenone
    »»» channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» deliveryCommandCreationDateinteger(int64)falsenonenone
    »»» jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»» metadatas[Metadata]falsenonenone
    »»»» namestringfalsenonenone
    »»»» metadataKindstringfalsenonenone
    »»»» metadataTypestringfalsenonenone
    »»»» valuestringfalsenonenone
    »»»» filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
    »»»» countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
    »»»» serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server
    »»» outputFiles[OutputFile]falsenonenone
    »»»» idinteger(int64)falsenonenone
    »»»» nuidstringfalsenonenone
    »»»» filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    »»»» fileSizeinteger(int64)falsenonenone
    »»»» pageCountintegerfalsenonenone
    »»»» forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
    »»»» outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
    »»»» preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
    »»»» outputFileOptionIds[integer]falsenonenone
    »» maxResultbooleanfalsenonetrue if array may be truncated

    Enumerated Values

    PropertyValue
    metadataKindREQUIREMENT
    metadataKindMETADATA
    metadataKindTRACKING
    metadataTypeSHORT_VALUE
    metadataTypeLONG_TEXT
    metadataTypePOSTAL_ADDRESS
    metadataTypeSTORAGE_REFERENCE

    getShipmentCounters

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/counters \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/counters

    Retrieve Shipment aggregated counters within date range from all kind of user (SuperAdmin, OU Admin, Group, simple User/Owner)

    Default from_date is (today-1). Default to_date is (today+1)

    Parameters

    NameInTypeRequiredDescription
    targetOUIdqueryinteger(int64)falseId of target OrganizationalUnit filter (either filter on target OU or User)
    targetOwnerIdqueryinteger(int64)falseid of job owner
    unacknowledgedquerystringfalseIf this parameter is present and not empty (as '1' or 'foo'), Only unacknowledged Shipments are counted. A Shipment is unacknowledged if its "userAck" field is null
    lastModifiedDatequerystringfalseIf this parameter is present and not empty (as '1' or 'foo'), date range is using Shipment lastModifiedState date. If parameter is absent (or empty) date range is using default Delivery creationDate
    fromDatequerystringfalseFrom date (yyyy-mm-dd)
    toDatequerystringfalseTo date (yyyy-mm-dd)

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map Shipment.status -> count ; Shipment.status is signed int32 ; count is positive int64" } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultShipmentCountersfalsenoneMap Shipment.status -> count ; Shipment.status is signed int32 ; count is positive int64
    »» additionalPropertiesinteger(int64)falsenonenone

    getShipmentRevisions

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/{shipmentId}/revisions \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/{shipmentId}/revisions

    Get Shipment revisions

    Parameters

    NameInTypeRequiredDescription
    shipmentIdpathinteger(int64)trueId of the Shipment to retrieve revisions from

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "Shipment Id", "format": "int64" }, "status": { "type": "integer", "description": "Numeric status of Shipment" }, "eventDate": { "type": "integer", "description": "Optional , date of this status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } } } } ] } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[allOf]falsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    »» anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events
    »»» revisioninteger(int64)truenoneRevision Primary Key (global for all entities)
    »»» timestampinteger(int64)truenoneEpoch millis
    »»» clientAddressstringfalsenoneIP address of front-end client if any
    »»» loggedUserIdinteger(int64)falsenonenone
    »»» loggedUserLoginstringfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    »» anonymousobjectfalsenonenone
    »»» idinteger(int64)falsenoneShipment Id
    »»» statusintegerfalsenoneNumeric status of Shipment
    »»» eventDateinteger(int64)falsenoneOptional , date of this status from the provider tracking file
    »»» userAcknowledgmentUserAcknowledgmentfalsenonenone
    »»»» messagestringfalsenoneOptional user provided info

    getShipmentMainFile

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/{shipmentId}/mainOutputFile \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/{shipmentId}/mainOutputFile

    Get pdf file of the main OutputFile of a given Shipment Id

    Parameters

    NameInTypeRequiredDescription
    shipmentIdpathinteger(int64)trueshipmentId

    Example responses

    200 Response

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredstring

    getOutputFile

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/outputFile/{outputFileId} \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/outputFile/{outputFileId}

    Get pdf file of the main OutputFile of a given Shipment Id

    Parameters

    NameInTypeRequiredDescription
    outputFileIdpathinteger(int64)trueoutputFileId

    Example responses

    200 Response

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredstring

    getShipmentTrackingFile

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/shipments/{shipmentId}/trackingFile/{trackingName} \ -H 'Accept: application/octet-stream' \ -H 'X-Auth-Token: API_KEY'

    GET /shipments/{shipmentId}/trackingFile/{trackingName}

    Get (download) external tracking file (ACK or deposit proof scanned file...)

    Parameters

    NameInTypeRequiredDescription
    shipmentIdpathintegertrueShipment Id (long int64)
    trackingNamepathstringtrueName (string) of the Metadata of kind TRACKING and type FILE

    Example responses

    200 Response

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredstring

    acknowledgeShipment

    Code samples

    # You can also use wgetcurl -X POST mycloud.nirva-software.com/shipments/acknowledge \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    POST /shipments/acknowledge

    Acknowledge a Shipment "in error"

    User acknowledges a Shipment "in error" with an optional message to remove it from Shipment counters

    Body parameter

    { "type": "object", "properties": { "shipmentIds": { "type": "array", "items": { "type": "integer", "description": "Array of Id of Shipments to acknowledge", "format": "int64" } }, "message": { "type": "string", "description": "Optional user provided info" } }}

    Parameters

    NameInTypeRequiredDescription
    bodybodyAcknowledgmentParameterfalsenone

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultstringfalsenonenone

    forceShipmentStatus

    Code samples

    # You can also use wgetcurl -X POST mycloud.nirva-software.com/protected/shipments/forceStatus \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    POST /protected/shipments/forceStatus

    Force a Shipment to given status

    Force an outputted shipment to an arbitrary status. Can go backward (ex. 700 to 600).

    Body parameter

    { "type": "object", "properties": { "externalId": { "type": "string", "description": "ExternalId of the Shipment to update" }, "outputFileNUID": { "type": "string", "description": "NUID of the MAIN OutputFile" }, "status": { "type": "integer", "description": "must be <= -400 or >= 400 (outputted)" }, "eventDate": { "type": "integer", "description": "Optional, epoch millis", "format": "int64" } }, "description": "Must give either 'externalId' OR 'outputFileNUID'"}

    Parameters

    NameInTypeRequiredDescription
    bodybodyForceStatusParameterfalsenone

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultstringfalsenonenone

    User

    Manage the user

    getUsers

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/users \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /users

    Get Users List

    If target ouId is null, for SuperAdmin, retrieves only SuperAdmins ; for Admin, retrieves all NON-removed users of OU of logged user ; for User with permissions on Group, retrieves all members of the Group

    Parameters

    NameInTypeRequiredDescription
    ouIdqueryinteger(int64)falseOptional OrganizationalUnit Id

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "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 } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[User]falsenonenone
    »» idinteger(int64)falsenonenone
    »» creationDateinteger(int64)falseread-onlynone
    »» profileProfilefalsenonefield can be null id super admin
    »»» idinteger(int64)falsenonenone
    »»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» namestringfalsenonenone
    »»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
    »»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    »»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    »»» permissionsOnOUintegerfalsenonePermissions 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)
    »» loginstringfalsenonenone
    »» passwordstring(password)falsenonenone
    »» lastPasswordUpdateinteger(int64)falseread-onlynone
    »» allowAddressesstringfalsenoneOptional 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
    »» titlestringfalsenonenone
    »» firstNamestringfalsenonenone
    »» lastNamestringfalsenonenone
    »» emailAddressstring(email)falsenonenone
    »» phoneNumberstringfalsenonenone
    »» mobileNumberstringfalsenonenone
    »» localestringfalsenonefr-FR
    »» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
    »» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
    »» enablebooleanfalsenonenone
    »» accountExpiredbooleanfalsenonenone
    »» removedbooleanfalsenonenone
    »» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
    »» creationLinkstringfalsewrite-onlyIf 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)

    saveOrUpdateUser

    Code samples

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

    POST /users

    Save or Update user

    Body parameter

    { "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 } }}

    Parameters

    NameInTypeRequiredDescription
    bodybodyUsertrueOption objects

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "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 } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultUserfalsenonenone
    »» idinteger(int64)falsenonenone
    »» creationDateinteger(int64)falseread-onlynone
    »» profileProfilefalsenonefield can be null id super admin
    »»» idinteger(int64)falsenonenone
    »»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» namestringfalsenonenone
    »»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
    »»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    »»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    »»» permissionsOnOUintegerfalsenonePermissions 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)
    »» loginstringfalsenonenone
    »» passwordstring(password)falsenonenone
    »» lastPasswordUpdateinteger(int64)falseread-onlynone
    »» allowAddressesstringfalsenoneOptional 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
    »» titlestringfalsenonenone
    »» firstNamestringfalsenonenone
    »» lastNamestringfalsenonenone
    »» emailAddressstring(email)falsenonenone
    »» phoneNumberstringfalsenonenone
    »» mobileNumberstringfalsenonenone
    »» localestringfalsenonefr-FR
    »» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
    »» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
    »» enablebooleanfalsenonenone
    »» accountExpiredbooleanfalsenonenone
    »» removedbooleanfalsenonenone
    »» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
    »» creationLinkstringfalsewrite-onlyIf 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)

    getAllUsers

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/users/all \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /users/all

    Get All Users (for search operation)

    For SuperAdmin, retrieves all Users (including removed Users) ; for hierarchy Admin retrieves all NON-removed users of OU hierarchy (including children OU). For other kind of users same as getUsers on OU of logged user

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "array", "items": { "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 } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » result[User]falsenonenone
    »» idinteger(int64)falsenonenone
    »» creationDateinteger(int64)falseread-onlynone
    »» profileProfilefalsenonefield can be null id super admin
    »»» idinteger(int64)falsenonenone
    »»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» namestringfalsenonenone
    »»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
    »»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    »»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    »»» permissionsOnOUintegerfalsenonePermissions 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)
    »» loginstringfalsenonenone
    »» passwordstring(password)falsenonenone
    »» lastPasswordUpdateinteger(int64)falseread-onlynone
    »» allowAddressesstringfalsenoneOptional 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
    »» titlestringfalsenonenone
    »» firstNamestringfalsenonenone
    »» lastNamestringfalsenonenone
    »» emailAddressstring(email)falsenonenone
    »» phoneNumberstringfalsenonenone
    »» mobileNumberstringfalsenonenone
    »» localestringfalsenonefr-FR
    »» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
    »» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
    »» enablebooleanfalsenonenone
    »» accountExpiredbooleanfalsenonenone
    »» removedbooleanfalsenonenone
    »» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
    »» creationLinkstringfalsewrite-onlyIf 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)

    getUser

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/users/{userId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /users/{userId}

    Get user

    Retrieve a single User by its Id, Logged user must have valid permissions on target User (also work for permission on a Group)

    Parameters

    NameInTypeRequiredDescription
    userIdpathinteger(int64)trueId of User

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "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 } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultUserfalsenonenone
    »» idinteger(int64)falsenonenone
    »» creationDateinteger(int64)falseread-onlynone
    »» profileProfilefalsenonefield can be null id super admin
    »»» idinteger(int64)falsenonenone
    »»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» namestringfalsenonenone
    »»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
    »»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    »»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    »»» permissionsOnOUintegerfalsenonePermissions 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)
    »» loginstringfalsenonenone
    »» passwordstring(password)falsenonenone
    »» lastPasswordUpdateinteger(int64)falseread-onlynone
    »» allowAddressesstringfalsenoneOptional 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
    »» titlestringfalsenonenone
    »» firstNamestringfalsenonenone
    »» lastNamestringfalsenonenone
    »» emailAddressstring(email)falsenonenone
    »» phoneNumberstringfalsenonenone
    »» mobileNumberstringfalsenonenone
    »» localestringfalsenonefr-FR
    »» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
    »» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
    »» enablebooleanfalsenonenone
    »» accountExpiredbooleanfalsenonenone
    »» removedbooleanfalsenonenone
    »» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
    »» creationLinkstringfalsewrite-onlyIf 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)

    removeUser

    Code samples

    # You can also use wgetcurl -X DELETE mycloud.nirva-software.com/users/{userId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    DELETE /users/{userId}

    Remove (logicaly) User

    Logically remove a User (Super-Admin operation). Removed User will be effectively deleted from Database by Purge Task when there is NO Job associated with the User.

    Parameters

    NameInTypeRequiredDescription
    userIdpathinteger(int64)trueId of User to remove

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultstringfalsenonenone

    changePassword

    Code samples

    # You can also use wgetcurl -X POST mycloud.nirva-software.com/users/password \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    POST /users/password

    Change user password

    Body parameter

    { "type": "object", "properties": { "currentPassword": { "type": "string" }, "newPassword": { "type": "string" } }}

    Parameters

    NameInTypeRequiredDescription
    bodybodyUserPasswordtrueOption objects

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultstringfalsenonenone

    updateUser

    Code samples

    # You can also use wgetcurl -X POST mycloud.nirva-software.com/users/update \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    POST /users/update

    Update user

    Body parameter

    { "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 } }}

    Parameters

    NameInTypeRequiredDescription
    bodybodyUsertrueOption objects

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "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 } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultUserfalsenonenone
    »» idinteger(int64)falsenonenone
    »» creationDateinteger(int64)falseread-onlynone
    »» profileProfilefalsenonefield can be null id super admin
    »»» idinteger(int64)falsenonenone
    »»» organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »»»» idinteger(int64)falsenonenone
    »»»» namestringfalsenonelogin or displayable name
    »»» namestringfalsenonenone
    »»» roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
    »»» permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    »»» permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    »»» permissionsOnOUintegerfalsenonePermissions 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)
    »» loginstringfalsenonenone
    »» passwordstring(password)falsenonenone
    »» lastPasswordUpdateinteger(int64)falseread-onlynone
    »» allowAddressesstringfalsenoneOptional 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
    »» titlestringfalsenonenone
    »» firstNamestringfalsenonenone
    »» lastNamestringfalsenonenone
    »» emailAddressstring(email)falsenonenone
    »» phoneNumberstringfalsenonenone
    »» mobileNumberstringfalsenonenone
    »» localestringfalsenonefr-FR
    »» allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
    »» uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
    »» enablebooleanfalsenonenone
    »» accountExpiredbooleanfalsenonenone
    »» removedbooleanfalsenonenone
    »» groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    »» passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
    »» creationLinkstringfalsewrite-onlyIf 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)

    Channel

    getChannel

    Code samples

    # You can also use wgetcurl -X GET mycloud.nirva-software.com/channels/{channelId} \ -H 'Accept: application/json' \ -H 'X-Auth-Token: API_KEY'

    GET /channels/{channelId}

    Retrieve a Channel

    Parameters

    NameInTypeRequiredDescription
    channelIdpathinteger(int64)trueId of the Channel to retrieve

    Example responses

    200 Response

    { "type": "object", "properties": { "result": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "channelType": { "type": "string", "enum": [ "MAIL", "REGISTERED", "EMAIL", "REGISTERED_EMAIL", "LOCAL_PRINT", "SAFE_EMAIL", "PACKING", "SMS" ] }, "name": { "type": "string" }, "providerName": { "type": "string" }, "workingDays": { "type": "string", "description": "Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)" }, "maxFutureDays": { "type": "integer", "description": "Maximum number of days for future \"post date\" (must be >= 0)" }, "cutoffTime": { "type": "string", "description": "hh:mm:ss (optional minutes and seconds) in provider TimeZone" }, "timeZone": { "type": "string", "description": "Provider TimeZone to compute workinDay and cutoffTime for \"post date\"" }, "additionalProductionDays": { "type": "string", "description": "Add some days (in addition to the \"cuttof\" day) to product the Documents of this Channel (default is 0 day)" }, "externalOutputTrigger": { "type": "boolean", "description": "If true output of this Channel is trigged by an external-output-token" }, "resetExternalOutputToken": { "type": "boolean", "description": "If true back-end application regenerate a random external-output-token", "writeOnly": true }, "externalOutputToken": { "type": "string", "description": "Token used to exteranlly trigger output on this Channel" }, "enabled": { "type": "boolean" }, "fallbackOnStatuses": { "type": "string", "description": "list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450" }, "properties": { "type": "object", "properties": { "requirements": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "name": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "validation": { "type": "string", "description": "Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)" }, "validationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the validator" }, "forceValidation": { "type": "string", "description": "Name of the validation method used when \"forcing\" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement" }, "forceValidationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the \"force\" validator" } }, "description": "Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression" } }, "trackingURLs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of URL templates to retrieve external tracking info. Key is name of Tracking" }, "trackingProperties": { "type": "object", "additionalProperties": { "type": "object" }, "description": "Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application." } } }, "outputFileDefinitions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "must be unique within a Channel" }, "mainOutputFile": { "type": "boolean", "description": "Configuration of the MAIN output file of the Shipment" }, "properties": { "type": "object", "properties": { "preserveIntegrity": { "type": "boolean", "description": "if true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)" }, "technicalAreas": { "type": "array", "items": { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area" } }, "forceAddressPage": { "type": "boolean" } } }, "outputFileOptions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } } } } } } } }}

    Responses

    StatusMeaningDescriptionSchema
    200OKCall triggeredInline

    Response Schema

    Status Code 200

    NameTypeRequiredRestrictionsDescription
    » resultChannelfalsenonenone
    »» idinteger(int64)falsenonenone
    »» channelTypestringfalsenonenone
    »» namestringfalsenonenone
    »» providerNamestringfalsenonenone
    »» workingDaysstringfalsenoneComma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)
    »» maxFutureDaysintegerfalsenoneMaximum number of days for future "post date" (must be >= 0)
    »» cutoffTimestringfalsenonehh:mm:ss (optional minutes and seconds) in provider TimeZone
    »» timeZonestringfalsenoneProvider TimeZone to compute workinDay and cutoffTime for "post date"
    »» additionalProductionDaysstringfalsenoneAdd some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day)
    »» externalOutputTriggerbooleanfalsenoneIf true output of this Channel is trigged by an external-output-token
    »» resetExternalOutputTokenbooleanfalsewrite-onlyIf true back-end application regenerate a random external-output-token
    »» externalOutputTokenstringfalsenoneToken used to exteranlly trigger output on this Channel
    »» enabledbooleanfalsenonenone
    »» fallbackOnStatusesstringfalsenonelist of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450
    »» propertiesChannelPropertiesfalsenonenone
    »»» requirements[Requirement]falsenone[Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression]
    »»»» typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
    »»»» namestringfalsenonenone
    »»»» contentExpressionfalsenonenone

    oneOf

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionConstantfalsenonePre-defined text value
    »»»»»» @typestringfalsenonenone
    »»»»»» valuestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata
    »»»»»» @typestringfalsenonenone
    »»»»»» namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
    * METADATA reference another Metadata
    * REQUIREMENT reference a Requirement
    * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
    * For OUTPUT_FILE allowed reference names are : NUID
    »»»»»» identifierstringfalsenoneIdentifier of the element

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonePart of the name of the underlying file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files
    »»»»»»» @typestringfalsenonenone
    »»»»»»» fromMainbooleanfalsenoneIf true, the target box is a MAIN box
    »»»»»»» boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» @typestringfalsenonenone
    »»»»»»» beginintegerfalsenonenone
    »»»»»»» endintegerfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» @typestringfalsenonenone
    »»»»»»» pageintegerfalsenonePage 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 "".
    »»»»»»» areaZoneAreafalsenoneZoneArea object
    »»»»»»»» leftnumber(float)falsenonenone
    »»»»»»»» topnumber(float)falsenonenone
    »»»»»»»» widthnumber(float)falsenonenone
    »»»»»»»» heightnumber(float)falsenonenone
    »»»»»»» extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.
    »»»»»»»» additionalPropertiesstringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonePDF metadata value from the underlying PDF file of the box

    allOf

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» @typestringfalsenonenone
    »»»»»»» metadataNamestringfalsenoneName of the PDF metadata to extract

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument
    »»»»»» @typestringfalsenonenone
    »»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands
    »»»»»» @typestringfalsenonenone
    »»»»»» operands[oneOf]falsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionStrCleanfalsenoneCleans a string
    »»»»»» @typestringfalsenonenone
    »»»»»» exprExpressionfalsenonenone
    »»»»»» normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
    »»»»»» removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
    »»»»»» multilinebooleanfalsenoneReplaces 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.
    »»»»»» trimbooleanfalsenoneRemoves 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String
    »»»»»» @typestringfalsenonenone
    »»»»»» exprExpressionfalsenonenone
    »»»»»» toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionStrReplacefalsenoneNormalizes the case of the String
    »»»»»» @typestringfalsenonenone
    »»»»»» exprExpressionfalsenonenone
    »»»»»» regExpPatternstringfalsenonevalid Regular Expression that the input string should match
    »»»»»» replacementstringfalsenoneThe 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 '\'.
    »»»»»» firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenoneAbsolute 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

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    »»»»»» anonymousobjectfalsenonenone
    »»»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.
    »»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousExpressionSubstringfalsenoneExtract a portion of the string
    »»»»»» @typestringfalsenonenone
    »»»»»» exprExpressionfalsenonenone
    »»»»»» beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
    »»»»»» endIndexintegerfalsenoneIndex 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.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)
    »»»»»» @typestringfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)
    »»»»»» @typestringfalsenonenone
    »»»»»» exprExpressiontruenonenone
    »»»»»» patternstringtruenonePattern 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
    »»»»»» timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
    »»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string
    »»»»»» @typestringfalsenonenone
    »»»»»» exprExpressiontruenonenone
    »»»»»» patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
    »»»»»» timeZonestringtruenoneTimeZone used to format the date.
    »»»»»» localestringfalsenoneLocale 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)

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.
    »»»»»» @typestringfalsenonenone
    »»»»»» boxNamestringfalsenoneName of the Box (must exist in the Service)
    »»»»»» indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
    »»»»»» keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

    xor

    NameTypeRequiredRestrictionsDescription
    »»»»» anonymousanyfalsenonenone

    continued

    NameTypeRequiredRestrictionsDescription
    »»»» validationstringfalsenoneName of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)
    »»»» validationParametersobjectfalsenoneMap String -> String of parameters if needed by the validator
    »»»»» additionalPropertiesstringfalsenonenone
    »»»» forceValidationstringfalsenoneName of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement
    »»»» forceValidationParametersobjectfalsenoneMap String -> String of parameters if needed by the "force" validator
    »»»»» additionalPropertiesstringfalsenonenone
    »»» trackingURLsobjectfalsenoneMap of URL templates to retrieve external tracking info. Key is name of Tracking
    »»»» additionalPropertiesstringfalsenonenone
    »»» trackingPropertiesobjectfalsenoneKey is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application.
    »»»» additionalPropertiesobjectfalsenonenone
    »» outputFileDefinitions[OutputFileDefinition]falsenonenone
    »»» namestringfalsenonemust be unique within a Channel
    »»» mainOutputFilebooleanfalsenoneConfiguration of the MAIN output file of the Shipment
    »»» propertiesOutputFileDefinitionPropertiesfalsenonenone
    »»»» preserveIntegritybooleanfalsenoneif true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)
    »»»» technicalAreas[TechnicalArea]falsenone[Channel technical area]
    »»»»» areaZoneAreafalsenoneZoneArea object
    »»»»» typestringfalsenonenone
    »»»»» pagestringfalsenonenone
    »»»»» checkstringfalsenonenone
    »»»»» colorBATColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»»» rintegerfalsenonenone
    »»»»»» gintegerfalsenonenone
    »»»»»» bintegerfalsenonenone
    »»»»»» anumber(float)falsenonenone
    »»»»» colorProdColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»» colorErrorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»» contentEvaluatorExpressionfalsenonenone
    »»»»» fontNamestringfalsenonenone
    »»»»» fontSizenumber(float)falsenonenone
    »»»»» fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    »»»»» linespaceinteger(float)falsenonenone
    »»»»» hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»» vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
    »»»»» rtlbooleanfalsenonenone
    »»»» forceAddressPagebooleanfalsenonenone
    »»» outputFileOptions[Option]falsenonenone
    »»»» idinteger(int64)falsenonenone
    »»»» optionTypeOptionTypefalsenonenone
    »»»»» idinteger(int64)falsenonenone
    »»»»» namestringfalsenonenone
    »»»»» recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition
    »»»» valuestringfalsenonenone
    »»»» rankintegerfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
    »»»» defaultbooleanfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
    »»»» propertiesOptionPropertiesfalsenonenone
    »»»»» selectableConditionobjectfalsenoneBooleanExpression with ShipmentContext computing getTotalNumSheets

    Enumerated Values

    PropertyValue
    channelTypeMAIL
    channelTypeREGISTERED
    channelTypeEMAIL
    channelTypeREGISTERED_EMAIL
    channelTypeLOCAL_PRINT
    channelTypeSAFE_EMAIL
    channelTypePACKING
    channelTypeSMS
    typePOSTAL_ADDRESS
    typeTEXT
    typeMULTILINE
    typeHTML
    typePHONE
    @typeexv.Value
    @typeexv.Reference
    namespaceMETADATA
    namespaceREQUIREMENT
    namespaceORGANIZATIONAL_UNIT
    namespaceOUTPUT_FILE
    @typeexv.FileName
    @typeexv.PdfText
    @typeexv.PdfMetadata
    @typeexv.Concat
    @typeexv.Coalesce
    @typeexv.StrClean
    @typeexv.StrNormalizeCase
    @typeexv.StrReplace
    @typeexv.PositionInBox
    @typeexv.NumSheetsValue
    @typeexv.Substring
    @typeexv.CurrentDate
    @typeexv.DateParse
    @typeexv.DateFormat
    @typeexv.JobFileNameValue
    typeTEXT
    typeRECTANGLE
    typeBARCODE
    typeDATAMATRIX
    typeQRCODE
    pageFIRST
    pageFRONT_PAGE
    checkNONE
    checkTEXT
    hAlignCENTER
    hAlignLEFT
    hAlignRIGHT
    vAlignBOTTOM
    vAlignMIDDLE
    vAlignTOP

    Schemas

    AuthenticateResponse

    { "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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } } } } }, "description": "organizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin"}

    organizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin

    Properties

    NameTypeRequiredRestrictionsDescription
    authTokenstringfalsenonenone
    authTokenExpirationDatestringfalsenonenone
    userUserfalsenonenone
    organizationalUnitOrganizationalUnitfalsenoneNote: parent parameter can be NULL if root OU
    services[Service]falsenonenone

    ModuleVersion

    { "type": "object", "properties": { "artifactId": { "type": "string" }, "artifactVersion": { "type": "string" }, "scmrevision": { "type": "string" }, "buildTimestamp": { "type": "string" }, "buildUserName": { "type": "string" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    artifactIdstringfalsenonenone
    artifactVersionstringfalsenonenone
    scmrevisionstringfalsenonenone
    buildTimestampstringfalsenonenone
    buildUserNamestringfalsenonenone

    ApplicationConfiguration

    { "type": "object", "properties": { "pdfLibName": { "type": "string", "enum": [ "STANDARD", "ADVANCED" ] }, "availableFonts": { "type": "array", "description": "List the fonts available when writing Text on the document", "items": { "type": "string" } }, "countries": { "type": "array", "description": "List of the countries' codes known by the application.", "items": { "type": "string" } }, "locales": { "type": "array", "description": "List the available locales/languages for the user in the application", "items": { "type": "string" } }, "timeZones": { "type": "array", "description": "List the available TimeZones of the application", "items": { "type": "string" } }, "channels": { "type": "object", "properties": { "requirementTypeList": { "type": "array", "description": "List of types of requirements managed in the application. Current managed types are POSTAL_ADDRESS, TEXT, HTML and PHONE.", "items": { "type": "string" } }, "technicalAreasTypeList": { "type": "array", "description": "List of types of technical areas managed in the application. Current managed types are TEXT, RECTANGLE, BARCODE and DATAMATRIX.", "items": { "type": "string" } }, "technicalAreasPageList": { "type": "array", "description": "List of pages kinds for technical areas managed in the application. Current kinds are FIRST, FRONT_PAGE and ALL.", "items": { "type": "string" } }, "technicalAreasCheckList": { "type": "array", "description": "List of checks that can be performed on technical areas. Current managed checks are NONE and TEXT.", "items": { "type": "string" } }, "normalizedRequirementMap": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of pre-defined requirements known by the application. The key is the name of the requirement, the value its type (one of requirementTypeList)." } } }, "validation": { "type": "object", "properties": { "validationProcedures": { "type": "array", "description": "List of validation procedures available for requirements of type TEXT, HTML or PHONE.", "items": { "type": "string" } }, "addressValidation": { "type": "array", "description": "List of validation procedures available for requirements of type POSTAL_ADDRESS.", "items": { "type": "string" } } } }, "services": { "type": "object", "properties": { "fileTypeList": { "type": "array", "description": "List of types of boxes available in the application. Currently known types are PDF, DATA_FILE and ARCHIVE.", "items": { "type": "string" } } } }, "frontConfiguration": { "type": "object", "description": "JSON object loaded from FrontConfiguration file" } }, "description": "Null object sare NOT included in this JSON DTO"}

    Null object sare NOT included in this JSON DTO

    Properties

    NameTypeRequiredRestrictionsDescription
    pdfLibNamestringfalsenonenone
    availableFonts[string]falsenoneList the fonts available when writing Text on the document
    countries[string]falsenoneList of the countries' codes known by the application.
    locales[string]falsenoneList the available locales/languages for the user in the application
    timeZones[string]falsenoneList the available TimeZones of the application
    channelsobjectfalsenonenone
    » requirementTypeList[string]falsenoneList of types of requirements managed in the application. Current managed types are POSTAL_ADDRESS, TEXT, HTML and PHONE.
    » technicalAreasTypeList[string]falsenoneList of types of technical areas managed in the application. Current managed types are TEXT, RECTANGLE, BARCODE and DATAMATRIX.
    » technicalAreasPageList[string]falsenoneList of pages kinds for technical areas managed in the application. Current kinds are FIRST, FRONT_PAGE and ALL.
    » technicalAreasCheckList[string]falsenoneList of checks that can be performed on technical areas. Current managed checks are NONE and TEXT.
    » normalizedRequirementMapobjectfalsenoneMap of pre-defined requirements known by the application. The key is the name of the requirement, the value its type (one of requirementTypeList).
    »» additionalPropertiesstringfalsenonenone
    validationobjectfalsenonenone
    » validationProcedures[string]falsenoneList of validation procedures available for requirements of type TEXT, HTML or PHONE.
    » addressValidation[string]falsenoneList of validation procedures available for requirements of type POSTAL_ADDRESS.
    servicesobjectfalsenonenone
    » fileTypeList[string]falsenoneList of types of boxes available in the application. Currently known types are PDF, DATA_FILE and ARCHIVE.
    frontConfigurationobjectfalsenoneJSON object loaded from FrontConfiguration file

    Enumerated Values

    PropertyValue
    pdfLibNameSTANDARD
    pdfLibNameADVANCED

    ApplicationVersion

    { "type": "object", "properties": { "javaVersion": { "type": "string" }, "moduleVersions": { "type": "array", "items": { "type": "object", "properties": { "artifactId": { "type": "string" }, "artifactVersion": { "type": "string" }, "scmrevision": { "type": "string" }, "buildTimestamp": { "type": "string" }, "buildUserName": { "type": "string" } } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    javaVersionstringfalsenonenone
    moduleVersions[ModuleVersion]falsenonenone

    AppositionConfigBase

    { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    areaZoneAreatruenoneZoneArea object
    bgColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    marginsMarginAreafalsenoneMarginArea object

    AppositionConfigQRCode

    { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousAppositionConfigBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » colorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

    AppositionConfigRectangle

    { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ]}

    Properties

    None

    AppositionConfigText

    { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousAppositionConfigBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » fontNamestringfalsenonenone
    » fontSizenumber(float)falsenonenone
    » fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    » lineSpaceinteger(float)falsenonenone
    » hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    » vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
    » rtlbooleanfalsenonenone
    » lineBreakModestringfalsenoneHow to handle text when end of line is reached. Defaults to NEVER (text will be truncated).

    Enumerated Values

    PropertyValue
    hAlignCENTER
    hAlignLEFT
    hAlignRIGHT
    vAlignBOTTOM
    vAlignMIDDLE
    vAlignTOP
    lineBreakModeNEVER
    lineBreakModeNORMAL
    lineBreakModeALL_CHARS
    lineBreakModeBREAK_WORD

    AppositionWithContent

    { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    contentEvaluatorExpressiontruenonenone

    BooleanExpression

    { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ]}

    Properties

    oneOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionConstantfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionAndOrfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionNotfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionStrEqualfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionNumericfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionStrMatchesfalsenonenone

    BooleanExpressionBasic

    { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringtruenonenone

    BooleanExpressionConstant

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » valuebooleanfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexb.Boolean

    BooleanExpressionAndOr

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, "[Circular]", { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] }, "expr2": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, "[Circular]", { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » expr1BooleanExpressionfalsenonenone
    » expr2BooleanExpressionfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexb.AND
    @typeexb.OR

    BooleanExpressionNot

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, "[Circular]", { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » exprBooleanExpressionfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexb.NOT

    BooleanExpressionOperator

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » expr1Expressionfalsenonenone
    » expr2Expressionfalsenonenone

    BooleanExpressionStrEqual

    { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.ContentEqual", "exb.StrContains", "exb.StrStartsWith", "exb.StrEndsWith" ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionOperatorfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexb.ContentEqual
    @typeexb.StrContains
    @typeexb.StrStartsWith
    @typeexb.StrEndsWith

    BooleanExpressionStrMatches

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » exprExpressionfalsenonenone
    » regExpPatternstringfalsenonevalid Regular Expression to check the value against
    » matchWholebooleanfalsenoneif set, indicates that the Regular Expression should match the whole value. If not set, the Regular Expression describe only a part of the value.

    Enumerated Values

    PropertyValue
    @typeexb.StrMatches

    BooleanExpressionNumeric

    { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBooleanExpressionOperatorfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexb.LessThan
    @typeexb.LessThanOrEqual
    @typeexb.NumericEqual

    Box

    { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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')" } } } ] } ]}

    Properties

    oneOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxDocfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBoxDataFilefalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBoxArchivefalsenonenone

    AbstractBox

    { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringtruenonenone
    namestringtruenonenone
    labelstringfalsenonenone
    hiddenbooleantruenoneIf true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden
    minElementsintegertruenonenone
    maxElementsintegertruenonenone

    AbstractInflatedBox

    { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" } } } } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousAbstractBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » mainbooleantruenonetrue if MAIN ; false if ATTACHMENT
    » parentParentWrappertruenoneAllow 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[BoxMetadata]truenone[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.]
    » reconcileBoxReconciliationtruenonenone
    » configuredFiles[ConfiguredFile]truenonenone

    BoxDoc

    { "allOf": [ { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "background": { "type": "boolean" }, "editable": { "type": "boolean" }, "serviceFileId": { "type": "string", "description": "optional, id of the ServiceFile in the list of ServiceFiles of the Service" } } } } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousAbstractInflatedBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » integrityPreservablebooleanfalsenoneif true, this Box can be the source of an OutputFile with "preserveIntegrity" flag
    » splitConfigBoxSplitConfigurationfalsenonenone
    » hasAddressPagebooleanfalsenonenone
    » appositions[BoxAppositionFile]falsenonenone

    Enumerated Values

    PropertyValue
    @typebox.PDF

    BoxDataFile

    { "allOf": [ { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_FILE" ] }, "parserConfiguration": { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousAbstractInflatedBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » parserConfigurationParserConfigurationfalsenonenone

    Enumerated Values

    PropertyValue
    @typebox.DATA_FILE

    BoxArchive

    { "allOf": [ { "required": [ "@type", "hidden", "maxElements", "minElements", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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')" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousAbstractBoxfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » encodingstringfalsenoneEncoding of file names within Zip archive (if null default is 'IBM437')

    Enumerated Values

    PropertyValue
    @typebox.ARCHIVE

    ParentWrapper

    { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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"}

    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

    Properties

    NameTypeRequiredRestrictionsDescription
    boxNamestringfalsenoneName of BoxArchive to extract files from. Must be a valid BoxArchive in current Service
    fileMatcherBooleanExpressionfalsenonenone
    rankintegerfalsenoneUsed to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...)

    BoxAppositionFile

    { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "background": { "type": "boolean" }, "editable": { "type": "boolean" }, "serviceFileId": { "type": "string", "description": "optional, id of the ServiceFile in the list of ServiceFiles of the Service" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringtruenonenone
    idstringtruenoneIdentifier of this Apposition (integer or UUID or null for creation of a new Apposition)
    targetTypestringtruenonenone
    serializedPageFilterstringtruenoneSame as ServiceChannelOutputFileComposition.serializedPageFilter
    backgroundbooleantruenonenone
    editablebooleantruenonenone
    serviceFileIdstringfalsenoneoptional, id of the ServiceFile in the list of ServiceFiles of the Service

    Enumerated Values

    PropertyValue
    @typebap.Overlay
    @typebap.Image
    targetTypeADDRESS_PAGE
    targetTypeDOCUMENT
    targetTypeCOMPOSED_DOCUMENT

    BoxAppositionOverlay

    { "properties": { "@type": { "type": "string", "enum": [ "bap.Overlay" ] } }, "allOf": [ { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "background": { "type": "boolean" }, "editable": { "type": "boolean" }, "serviceFileId": { "type": "string", "description": "optional, id of the ServiceFile in the list of ServiceFiles of the Service" } } }, { "type": "object" } ]}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxAppositionFilefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone

    Enumerated Values

    PropertyValue
    @typebap.Overlay

    BoxAppositionImage

    { "required": [ "area", "keepAspectRatio" ], "properties": { "@type": { "type": "string", "enum": [ "bap.Image" ] }, "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" }, "keepAspectRatio": { "type": "boolean" } }, "allOf": [ { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "background": { "type": "boolean" }, "editable": { "type": "boolean" }, "serviceFileId": { "type": "string", "description": "optional, id of the ServiceFile in the list of ServiceFiles of the Service" } } }, { "type": "object" } ]}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    areaZoneAreatruenoneZoneArea object
    keepAspectRatiobooleantruenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxAppositionFilefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone

    Enumerated Values

    PropertyValue
    @typebap.Image

    BoxMetadata

    { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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."}

    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.

    Properties

    NameTypeRequiredRestrictionsDescription
    namestringfalsenonenone
    persistbooleanfalsenonenone
    editablebooleanfalsenonenone
    contentExpressionfalsenonenone

    ParserConfiguration

    { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringtruenonenone

    Enumerated Values

    PropertyValue
    @typepar.CSV
    @typepar.FixedWidth
    @typepar.Seiitra
    @typepar.JSON

    CSVParserConfiguration

    { "required": [ "encoding", "separator" ], "properties": { "@type": { "type": "string", "enum": [ "par.CSV" ] }, "encoding": { "type": "string", "description": "Encoding of the file for parsing. Must be a known encoding of the JVM." }, "separator": { "maxLength": 1, "type": "string" }, "quoteChar": { "maxLength": 1, "type": "string" }, "headerPresent": { "type": "boolean" }, "usedColumnNames": { "type": "array", "description": "List of column name. Only one of usedColumnNames or metadataMapping should be configured.", "items": { "type": "string" } }, "metadataMapping": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of column Index -> Name of column. Only one of usedColumnNames or metadataMapping should be configured." }, "lenient": { "type": "boolean", "description": "If true, non-existing column does not throw an error, it returns an empty String metadata value" } }, "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } }, { "type": "object" } ]}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    encodingstringtruenoneEncoding of the file for parsing. Must be a known encoding of the JVM.
    separatorstringtruenonenone
    quoteCharstringfalsenonenone
    headerPresentbooleanfalsenonenone
    usedColumnNames[string]falsenoneList of column name. Only one of usedColumnNames or metadataMapping should be configured.
    metadataMappingobjectfalsenoneMap of column Index -> Name of column. Only one of usedColumnNames or metadataMapping should be configured.
    » additionalPropertiesstringfalsenonenone
    lenientbooleanfalsenoneIf true, non-existing column does not throw an error, it returns an empty String metadata value

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousParserConfigurationfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone

    Enumerated Values

    PropertyValue
    @typepar.CSV

    FixedWidthParserConfiguration

    { "required": [ "columnWidths", "encoding", "metadataMapping" ], "properties": { "@type": { "type": "string", "enum": [ "par.FixedWidth" ] }, "encoding": { "type": "string" }, "columnWidths": { "type": "array", "description": "The list of columns fixed width. Indicates both the number of columns in the file (columnWidths.length) and the size of each column (columnWidths[x]).", "items": { "type": "integer", "format": "int32" } }, "metadataMapping": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of column Index -> Name of column" } }, "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } }, { "type": "object" } ]}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    encodingstringtruenonenone
    columnWidths[integer]truenoneThe list of columns fixed width. Indicates both the number of columns in the file (columnWidths.length) and the size of each column (columnWidths[x]).
    metadataMappingobjecttruenoneMap of column Index -> Name of column
    » additionalPropertiesstringfalsenonenone

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousParserConfigurationfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone

    Enumerated Values

    PropertyValue
    @typepar.FixedWidth

    SeiitraParserConfiguration

    { "required": [ "encoding", "metadataMapping", "separator" ], "properties": { "@type": { "type": "string", "enum": [ "par.Seiitra" ] }, "encoding": { "type": "string" }, "skipLinesBefore": { "type": "integer", "description": "Number of header lines to skip before parsing data lines (can be 0)" }, "skipLinesAfter": { "type": "integer", "description": "Number of footer lines to skip after parsing data lines (can be 0)" }, "separator": { "minLength": 1, "type": "string", "description": "Separator can be any non-empty raw string (NOT in regex syntax)" }, "metadataMapping": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of column Index -> Name of column" }, "lenient": { "type": "boolean", "description": "As for CSV, if true, non-existing column does not throw an error, it returns an empty String metadata value" } }, "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } }, { "type": "object" } ]}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    encodingstringtruenonenone
    skipLinesBeforeintegerfalsenoneNumber of header lines to skip before parsing data lines (can be 0)
    skipLinesAfterintegerfalsenoneNumber of footer lines to skip after parsing data lines (can be 0)
    separatorstringtruenoneSeparator can be any non-empty raw string (NOT in regex syntax)
    metadataMappingobjecttruenoneMap of column Index -> Name of column
    » additionalPropertiesstringfalsenonenone
    lenientbooleanfalsenoneAs for CSV, if true, non-existing column does not throw an error, it returns an empty String metadata value

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousParserConfigurationfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone

    Enumerated Values

    PropertyValue
    @typepar.Seiitra

    JSONParserConfiguration

    { "required": [ "encoding" ], "properties": { "@type": { "type": "string", "enum": [ "par.JSON" ] }, "encoding": { "type": "string", "description": "JSON parser only support UTF-8 charset" }, "elementsJSONPointer": { "type": "string", "description": "JSON Pointer to locate aray node relative to the JSON root node. The array node should contain child elements" }, "metadataMapping": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of JSON Pointer -> Name of virtual column. The JSON Pointer locates a field (must be a ValueNode) relative to the current child element" }, "globalMetadataMapping": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of JSON Pointer -> Name of virtual column. Same as metadataMapping but relative to the JSON root node" }, "lenient": { "type": "boolean", "description": "If a JSON field is missing, the parser does not throw an error, it returns an empty String metadata value" } }, "description": "Configuration of JSON data-file arser. If the JSON file contains a single object, elementsJSONPointer and metadataMapping MUST be null ; globalMetadataMapping map absolute field to virtual column. If the JSON file contains a list of elements, elementsJSONPointer must point to an array and metadataMapping map each element field to virtual column. globalMetadataMapping can be used to map global property to all elements.", "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } }, { "type": "object" } ]}

    Configuration of JSON data-file arser. If the JSON file contains a single object, elementsJSONPointer and metadataMapping MUST be null ; globalMetadataMapping map absolute field to virtual column. If the JSON file contains a list of elements, elementsJSONPointer must point to an array and metadataMapping map each element field to virtual column. globalMetadataMapping can be used to map global property to all elements.

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    encodingstringtruenoneJSON parser only support UTF-8 charset
    elementsJSONPointerstringfalsenoneJSON Pointer to locate aray node relative to the JSON root node. The array node should contain child elements
    metadataMappingobjectfalsenoneMap of JSON Pointer -> Name of virtual column. The JSON Pointer locates a field (must be a ValueNode) relative to the current child element
    » additionalPropertiesstringfalsenonenone
    globalMetadataMappingobjectfalsenoneMap of JSON Pointer -> Name of virtual column. Same as metadataMapping but relative to the JSON root node
    » additionalPropertiesstringfalsenonenone
    lenientbooleanfalsenoneIf a JSON field is missing, the parser does not throw an error, it returns an empty String metadata value

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousParserConfigurationfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone

    Enumerated Values

    PropertyValue
    @typepar.JSON

    BoxSplitConfiguration

    { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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." } } } ] } ]}

    Properties

    oneOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxSplitConfigurationNonefalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBoxSplitConfigurationPagefalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousBoxSplitConfigurationPDFAreafalsenonenone

    BoxSplitConfigurationBasic

    { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    editablebooleantruenonenone
    @typestringtruenonenone

    BoxSplitConfigurationNone

    { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typebsc.NONE

    BoxSplitConfigurationPage

    { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "required": [ "pages" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.PAGE" ] }, "pages": { "type": "integer" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » pagesintegertruenonenone

    Enumerated Values

    PropertyValue
    @typebsc.PAGE

    BoxSplitConfigurationPDFArea

    { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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." } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBoxSplitConfigurationBasicfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » areaZoneAreatruenoneZoneArea object
    » valuestringtruenonenone
    » pagesintegertruenonenone
    » extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

    Enumerated Values

    PropertyValue
    @typebsc.PDF_AREA

    BoxReconciliation

    { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    conditionBooleanExpressiontruenonenone
    minExpectedintegerfalsenonedefault 0. Cannot be negative.
    maxExpectedintegerfalsenonedefault -1. Can only be strictly positive or -1.
    minMatchesintegerfalsenonedefault 0. Cannot be negative.
    maxMatchesintegerfalsenonedefault 1. Can only be strictly positive or -1.

    ConfiguredFile

    { "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" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    serviceFileIdstringfalsenoneUUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service)
    removablebooleanfalsenoneif false this ConfiguredFile is mandatory on Job creation

    Branding

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "applicationName": { "type": "string", "description": "Displayed commercial name of the application" }, "virtualHost": { "type": "string", "description": "virtual.host.name:port ; cannot be null" }, "properties": { "type": "object", "description": "Opaque JSON node containing css or other Front-end data for this Branding" }, "backgroundImageURL": { "type": "string" }, "logoImageURL": { "type": "string" }, "authenticationRealm": { "type": "string", "description": "Should be LocalDatabase for authenetication with PODX internal database" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    namestringfalsenonenone
    applicationNamestringfalsenoneDisplayed commercial name of the application
    virtualHoststringfalsenonevirtual.host.name:port ; cannot be null
    propertiesobjectfalsenoneOpaque JSON node containing css or other Front-end data for this Branding
    backgroundImageURLstringfalsenonenone
    logoImageURLstringfalsenonenone
    authenticationRealmstringfalsenoneShould be LocalDatabase for authenetication with PODX internal database

    Channel

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "channelType": { "type": "string", "enum": [ "MAIL", "REGISTERED", "EMAIL", "REGISTERED_EMAIL", "LOCAL_PRINT", "SAFE_EMAIL", "PACKING", "SMS" ] }, "name": { "type": "string" }, "providerName": { "type": "string" }, "workingDays": { "type": "string", "description": "Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)" }, "maxFutureDays": { "type": "integer", "description": "Maximum number of days for future \"post date\" (must be >= 0)" }, "cutoffTime": { "type": "string", "description": "hh:mm:ss (optional minutes and seconds) in provider TimeZone" }, "timeZone": { "type": "string", "description": "Provider TimeZone to compute workinDay and cutoffTime for \"post date\"" }, "additionalProductionDays": { "type": "string", "description": "Add some days (in addition to the \"cuttof\" day) to product the Documents of this Channel (default is 0 day)" }, "externalOutputTrigger": { "type": "boolean", "description": "If true output of this Channel is trigged by an external-output-token" }, "resetExternalOutputToken": { "type": "boolean", "description": "If true back-end application regenerate a random external-output-token", "writeOnly": true }, "externalOutputToken": { "type": "string", "description": "Token used to exteranlly trigger output on this Channel" }, "enabled": { "type": "boolean" }, "fallbackOnStatuses": { "type": "string", "description": "list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450" }, "properties": { "type": "object", "properties": { "requirements": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "name": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "validation": { "type": "string", "description": "Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)" }, "validationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the validator" }, "forceValidation": { "type": "string", "description": "Name of the validation method used when \"forcing\" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement" }, "forceValidationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the \"force\" validator" } }, "description": "Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression" } }, "trackingURLs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of URL templates to retrieve external tracking info. Key is name of Tracking" }, "trackingProperties": { "type": "object", "additionalProperties": { "type": "object" }, "description": "Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application." } } }, "outputFileDefinitions": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "must be unique within a Channel" }, "mainOutputFile": { "type": "boolean", "description": "Configuration of the MAIN output file of the Shipment" }, "properties": { "type": "object", "properties": { "preserveIntegrity": { "type": "boolean", "description": "if true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)" }, "technicalAreas": { "type": "array", "items": { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area" } }, "forceAddressPage": { "type": "boolean" } } }, "outputFileOptions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } } } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    channelTypestringfalsenonenone
    namestringfalsenonenone
    providerNamestringfalsenonenone
    workingDaysstringfalsenoneComma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday)
    maxFutureDaysintegerfalsenoneMaximum number of days for future "post date" (must be >= 0)
    cutoffTimestringfalsenonehh:mm:ss (optional minutes and seconds) in provider TimeZone
    timeZonestringfalsenoneProvider TimeZone to compute workinDay and cutoffTime for "post date"
    additionalProductionDaysstringfalsenoneAdd some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day)
    externalOutputTriggerbooleanfalsenoneIf true output of this Channel is trigged by an external-output-token
    resetExternalOutputTokenbooleanfalsewrite-onlyIf true back-end application regenerate a random external-output-token
    externalOutputTokenstringfalsenoneToken used to exteranlly trigger output on this Channel
    enabledbooleanfalsenonenone
    fallbackOnStatusesstringfalsenonelist of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450
    propertiesChannelPropertiesfalsenonenone
    outputFileDefinitions[OutputFileDefinition]falsenonenone

    Enumerated Values

    PropertyValue
    channelTypeMAIL
    channelTypeREGISTERED
    channelTypeEMAIL
    channelTypeREGISTERED_EMAIL
    channelTypeLOCAL_PRINT
    channelTypeSAFE_EMAIL
    channelTypePACKING
    channelTypeSMS

    Expression

    { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ]}

    Properties

    oneOf

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionConstantfalsenonePre-defined text value

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionReferencefalsenoneReference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionFileNamefalsenonePart of the name of the underlying file of the box

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionPdfTextfalsenoneText extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionPdfMetadatafalsenonePDF metadata value from the underlying PDF file of the box

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionConcatfalsenoneConcat: concatenates all Expressions given in argument

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionCoalescefalsenoneCoalesce: retrieve the first non-empty evaluation of its operands

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionStrCleanfalsenoneCleans a string

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionStrNormalizeCasefalsenoneNormalizes the case of the String

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionStrReplacefalsenoneNormalizes the case of the String

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousPositionInBoxValuefalsenoneAbsolute 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.

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionNumSheetsfalsenoneReturns the number of sheets. Only used in Channel Options Condition context.

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionSubstringfalsenoneExtract a portion of the string

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousCurrentDatefalsenoneRetrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousDateParsefalsenoneParse a string as a date and return a long epoch milli (can be used as source of DateFormat)

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousDateFormatfalsenoneFormat a date (given as long epoch milli) into a human readable string

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousJobFileNameValuefalsenoneName of a file in a box. Can be used in JobNameExpression on Job creation.

    ExpressionConcat

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Concat" ] }, "operands": { "type": "array", "items": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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" } } } ] }, "[Circular]", { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, "description": "Concat: concatenates all Expressions given in argument"}

    Concat: concatenates all Expressions given in argument

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    operands[Expression]falsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.Concat

    ExpressionCoalesce

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Coalesce" ] }, "operands": { "type": "array", "items": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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" }, "[Circular]", { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands"}

    Coalesce: retrieve the first non-empty evaluation of its operands

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    operands[Expression]falsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.Coalesce

    ExpressionConstant

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value"}

    Pre-defined text value

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    valuestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.Value

    ExpressionBoxFile

    { "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"}

    Properties common to all box files

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    fromMainbooleanfalsenoneIf true, the target box is a MAIN box
    boxNamestringfalsenoneIgnored if fromMain is true. Otherwise, indicates the name of the target box

    ExpressionFileName

    { "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" } } } ]}

    Part of the name of the underlying file of the box

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » beginintegerfalsenonenone
    » endintegerfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.FileName

    PositionInBoxValue

    { "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" ] } } } ]}

    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.

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.PositionInBox

    ExpressionNumSheets

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.NumSheetsValue" ] } }, "description": "Returns the number of sheets. Only used in Channel Options Condition context."}

    Returns the number of sheets. Only used in Channel Options Condition context.

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.NumSheetsValue

    ExpressionPdfMetadata

    { "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" } } } ]}

    PDF metadata value from the underlying PDF file of the box

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » metadataNamestringfalsenoneName of the PDF metadata to extract

    Enumerated Values

    PropertyValue
    @typeexv.PdfMetadata

    ExpressionPdfText

    { "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." } } } ]}

    Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousExpressionBoxFilefalsenoneProperties common to all box files

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » pageintegerfalsenonePage 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 "".
    » areaZoneAreafalsenoneZoneArea object
    » extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

    Enumerated Values

    PropertyValue
    @typeexv.PdfText

    ExpressionReference

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Reference" ] }, "namespace": { "type": "string", "description": "namespaces allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata"}

    Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    namespaceReferenceNamespacefalsenonenamespaces allowed, depending on context :
    * METADATA reference another Metadata
    * REQUIREMENT reference a Requirement
    * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
    * For OUTPUT_FILE allowed reference names are : NUID
    identifierstringfalsenoneIdentifier of the element

    Enumerated Values

    PropertyValue
    @typeexv.Reference

    ReferenceNamespace

    { "type": "string", "description": "namespaces allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ]}

    namespaces allowed, depending on context :

    Properties

    NameTypeRequiredRestrictionsDescription
    anonymousstringfalsenonenamespaces allowed, depending on context :
    * METADATA reference another Metadata
    * REQUIREMENT reference a Requirement
    * For ORGANIZATIONAL_UNIT allowed reference names are : EMAIL_ADDRESS, SENDER_ADDRESS, RETURN_ADDRESS, SIRET, NAME, ID
    * For OUTPUT_FILE allowed reference names are : NUID

    Enumerated Values

    PropertyValue
    anonymousMETADATA
    anonymousREQUIREMENT
    anonymousORGANIZATIONAL_UNIT
    anonymousOUTPUT_FILE

    ExpressionSubstring

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Substring" ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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." }, "[Circular]", { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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"}

    Extract a portion of the string

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    exprExpressionfalsenonenone
    beginIndexintegerfalsenoneIndex of the character to start extraction, included. 0 means start from the first character, 1 from the second, ...
    endIndexintegerfalsenoneIndex 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.

    Enumerated Values

    PropertyValue
    @typeexv.Substring

    ExpressionStrClean

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrClean" ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, "[Circular]", { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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"}

    Cleans a string

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    exprExpressionfalsenonenone
    normalizeSpacebooleanfalsenoneReplaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one.
    removeDiacriticsbooleanfalsenoneReplaces the accentuated letters with their un-accentuated version
    multilinebooleanfalsenoneReplaces 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.
    trimbooleanfalsenoneRemoves 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.

    Enumerated Values

    PropertyValue
    @typeexv.StrClean

    ExpressionStrNormalizeCase

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrNormalizeCase" ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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" }, "[Circular]", { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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"}

    Normalizes the case of the String

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    exprExpressionfalsenonenone
    toUpperbooleanfalsenoneis set, the normalization will be to Upper Case, otherwise it will be to Lower Case

    Enumerated Values

    PropertyValue
    @typeexv.StrNormalizeCase

    ExpressionStrReplace

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.StrReplace" ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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" }, "[Circular]", { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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"}

    Normalizes the case of the String

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    exprExpressionfalsenonenone
    regExpPatternstringfalsenonevalid Regular Expression that the input string should match
    replacementstringfalsenoneThe 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 '\'.
    firstOnlybooleanfalsenoneIf set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches.

    Enumerated Values

    PropertyValue
    @typeexv.StrReplace

    CurrentDate

    { "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)"}

    Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat)

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeexv.CurrentDate

    DateParse

    { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateParse" ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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)" }, "[Circular]", { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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)"}

    Parse a string as a date and return a long epoch milli (can be used as source of DateFormat)

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    exprExpressiontruenonenone
    patternstringtruenonePattern 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
    timeZonestringtruenoneDefault TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone.
    localestringfalsenoneLocale 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)

    Enumerated Values

    PropertyValue
    @typeexv.DateParse

    DateFormat

    { "required": [ "expr", "pattern", "timeZone" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.DateFormat" ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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)" }, "[Circular]", { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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"}

    Format a date (given as long epoch milli) into a human readable string

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    exprExpressiontruenonenone
    patternstringtruenonePattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html )
    timeZonestringtruenoneTimeZone used to format the date.
    localestringfalsenoneLocale 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)

    Enumerated Values

    PropertyValue
    @typeexv.DateFormat

    JobFileNameValue

    { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation."}

    Name of a file in a box. Can be used in JobNameExpression on Job creation.

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringfalsenonenone
    boxNamestringfalsenoneName of the Box (must exist in the Service)
    indexInBoxintegerfalsenoneIndex of file in the Box. 1 (default) is first file. -1 is last file.
    keepExtensionbooleanfalsenoneIf true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension.

    Enumerated Values

    PropertyValue
    @typeexv.JobFileNameValue

    OutputFileDefinition

    { "type": "object", "properties": { "name": { "type": "string", "description": "must be unique within a Channel" }, "mainOutputFile": { "type": "boolean", "description": "Configuration of the MAIN output file of the Shipment" }, "properties": { "type": "object", "properties": { "preserveIntegrity": { "type": "boolean", "description": "if true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)" }, "technicalAreas": { "type": "array", "items": { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area" } }, "forceAddressPage": { "type": "boolean" } } }, "outputFileOptions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    namestringfalsenonemust be unique within a Channel
    mainOutputFilebooleanfalsenoneConfiguration of the MAIN output file of the Shipment
    propertiesOutputFileDefinitionPropertiesfalsenonenone
    outputFileOptions[Option]falsenonenone

    Option

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "optionType": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } } }, "value": { "type": "string" }, "rank": { "type": "integer", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "default": { "type": "boolean", "description": "Only defined if associated with an Channel OutputFileDefinaition" }, "properties": { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    optionTypeOptionTypefalsenonenone
    valuestringfalsenonenone
    rankintegerfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
    defaultbooleanfalsenoneOnly defined if associated with an Channel OutputFileDefinaition
    propertiesOptionPropertiesfalsenonenone

    OptionType

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "recomputeTrigger": { "type": "boolean", "description": "Modifying this OptionType must recompute Options with selectable condition" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    namestringfalsenonenone
    recomputeTriggerbooleanfalsenoneModifying this OptionType must recompute Options with selectable condition

    ChannelProperties

    { "type": "object", "properties": { "requirements": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "name": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "validation": { "type": "string", "description": "Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)" }, "validationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the validator" }, "forceValidation": { "type": "string", "description": "Name of the validation method used when \"forcing\" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement" }, "forceValidationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the \"force\" validator" } }, "description": "Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression" } }, "trackingURLs": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map of URL templates to retrieve external tracking info. Key is name of Tracking" }, "trackingProperties": { "type": "object", "additionalProperties": { "type": "object" }, "description": "Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application." } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    requirements[Requirement]falsenone[Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression]
    trackingURLsobjectfalsenoneMap of URL templates to retrieve external tracking info. Key is name of Tracking
    » additionalPropertiesstringfalsenonenone
    trackingPropertiesobjectfalsenoneKey is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application.
    » additionalPropertiesobjectfalsenonenone

    Requirement

    { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "name": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "validation": { "type": "string", "description": "Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)" }, "validationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the validator" }, "forceValidation": { "type": "string", "description": "Name of the validation method used when \"forcing\" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement" }, "forceValidationParameters": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Map String -> String of parameters if needed by the \"force\" validator" } }, "description": "Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression"}

    Requirements with Kind have normalized names POSTAL_ADDRESS_RECIPIENT, EMAIL_ADDRESS_RECIPIENT, PHONE_NUMBER_RECIPIENT, POSTAL_ADDRESS_SENDER, POSTAL_ADDRESS_RETURN, EMAIL_ADDRESS_RETURN The content is an Expression

    Properties

    NameTypeRequiredRestrictionsDescription
    typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
    namestringfalsenonenone
    contentExpressionfalsenonenone
    validationstringfalsenoneName of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated)
    validationParametersobjectfalsenoneMap String -> String of parameters if needed by the validator
    » additionalPropertiesstringfalsenonenone
    forceValidationstringfalsenoneName of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement
    forceValidationParametersobjectfalsenoneMap String -> String of parameters if needed by the "force" validator
    » additionalPropertiesstringfalsenonenone

    OutputFileDefinitionProperties

    { "type": "object", "properties": { "preserveIntegrity": { "type": "boolean", "description": "if true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)" }, "technicalAreas": { "type": "array", "items": { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area" } }, "forceAddressPage": { "type": "boolean" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    preserveIntegritybooleanfalsenoneif true, this output-file will be a binary copy of an InputFile preserving the integrity of the user's document (i.e. pdf signature)
    technicalAreas[TechnicalArea]falsenone[Channel technical area]
    forceAddressPagebooleanfalsenonenone

    TechnicalArea

    { "type": "object", "properties": { "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" }, "type": { "type": "string", "enum": [ "TEXT", "RECTANGLE", "BARCODE", "DATAMATRIX", "QRCODE" ] }, "page": { "type": "string", "enum": [ "FIRST", "FRONT_PAGE" ] }, "check": { "type": "string", "enum": [ "NONE", "TEXT" ] }, "colorBAT": { "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" }, "colorProd": { "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" }, "colorError": { "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" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "linespace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" } }, "description": "Channel technical area"}

    Channel technical area

    Properties

    NameTypeRequiredRestrictionsDescription
    areaZoneAreafalsenoneZoneArea object
    typestringfalsenonenone
    pagestringfalsenonenone
    checkstringfalsenonenone
    colorBATColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    colorProdColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    colorErrorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    contentEvaluatorExpressionfalsenonenone
    fontNamestringfalsenonenone
    fontSizenumber(float)falsenonenone
    fontColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    linespaceinteger(float)falsenonenone
    hAlignstringfalsenoneHorizontal alignment of TEXT inside the box. Only applies for type TEXT.
    vAlignstringfalsenoneVertical alignment of TEXT inside the box. Only applies for type TEXT.
    rtlbooleanfalsenonenone

    Enumerated Values

    PropertyValue
    typeTEXT
    typeRECTANGLE
    typeBARCODE
    typeDATAMATRIX
    typeQRCODE
    pageFIRST
    pageFRONT_PAGE
    checkNONE
    checkTEXT
    hAlignCENTER
    hAlignLEFT
    hAlignRIGHT
    vAlignBOTTOM
    vAlignMIDDLE
    vAlignTOP

    OptionProperties

    { "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    selectableConditionobjectfalsenoneBooleanExpression with ShipmentContext computing getTotalNumSheets

    Chunk

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "startIndex": { "type": "integer" }, "pageCount": { "type": "integer" }, "properties": { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of extracted Metadata for orphan Chunk (including transient Metadata)" } } }, "inputFile": { "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

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    startIndexintegerfalsenonenone
    pageCountintegerfalsenonenone
    propertiesobjectfalsenonenone
    » metadataValuesobjectfalsenoneMap of extracted Metadata for orphan Chunk (including transient Metadata)
    inputFileIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object

    Color

    { "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"}

    Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0

    Properties

    NameTypeRequiredRestrictionsDescription
    rintegerfalsenonenone
    gintegerfalsenonenone
    bintegerfalsenonenone
    anumber(float)falsenonenone

    DeliveryCommand

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "creationDate": { "type": "integer", "format": "int64" }, "expectedPostDate": { "type": "integer", "description": "Can be null if ASAP", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum (same as Delivery entity)" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "validationReason": { "type": "string" }, "job": { "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" }, "jobFrozen": { "type": "boolean", "description": "true if parent Job is \"frozen\"" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "service": { "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" }, "displayBilling": { "type": "boolean", "description": "Optional property" }, "properties": { "type": "object", "properties": { "jobId": { "type": "integer", "description": "Can be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations", "format": "int64" }, "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "givenServiceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" } } } }, "description": "meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job."}

    meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    creationDateinteger(int64)falsenonenone
    expectedPostDateinteger(int64)falsenoneCan be null if ASAP
    statestringfalsenoneDeliveryState enum (same as Delivery entity)
    lastModifiedStateinteger(int64)falsenonenone
    validationReasonstringfalsenonenone
    jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    jobFrozenbooleanfalsenonetrue if parent Job is "frozen"
    ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    displayBillingbooleanfalsenoneOptional property
    propertiesDeliveryCommandPropertiesfalsenonenone

    DeliveryCommandProperties

    { "type": "object", "properties": { "jobId": { "type": "integer", "description": "Can be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations", "format": "int64" }, "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "givenServiceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    jobIdinteger(int64)falsenoneCan be null. If packGroupIds array is null or empty, all CREATED (eligible) PackGroups of the given Job.id will be selected for checkOptions, computeProof or createDeliveryCopmmand operations
    packGroupIds[integer]falsenonenone
    givenServiceChannelOptionsobjectfalsenoneMap of ServiceChannel.label -> OutputFile.name -> array of Option Id
    » additionalPropertiesobjectfalsenonenone
    »» additionalProperties[integer]falsenonenone

    Delivery

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "externalId": { "type": "string" }, "name": { "type": "string" }, "creationDate": { "type": "integer", "format": "int64" }, "postDate": { "type": "integer", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState enum" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "deliveryCommandId": { "type": "integer", "format": "int64" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "fallbackFromDelivery": { "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" }, "serviceChannelLabel": { "type": "string" }, "channel": { "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" }, "shipments": { "type": "array", "description": "optional", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } } } }, "shipmentCount": { "type": "integer", "description": "Number of shipments computed even if shipments are not fetched" }, "lateShipmentCount": { "type": "integer", "description": "Number of \"late\" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() \"/deliveries/late\" operation" } }, "description": "Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback"}

    Delivery. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. fallbackFromDelivery is null if MAIN Delivery or contain IdentifierDTO of origin Delivery if this Delivey is fallback

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    nuidstringfalsenonenone
    externalIdstringfalsenonenone
    namestringfalsenonenone
    creationDateinteger(int64)falsenonenone
    postDateinteger(int64)falsenonenone
    statestringfalsenoneDeliveryState enum
    lastModifiedStateinteger(int64)falsenonenone
    jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    deliveryCommandIdinteger(int64)falsenonenone
    deliveryCommandCreationDateinteger(int64)falsenonenone
    fallbackFromDeliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    serviceChannelLabelstringfalsenonenone
    channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    shipments[Shipment]falsenoneoptional
    shipmentCountintegerfalsenoneNumber of shipments computed even if shipments are not fetched
    lateShipmentCountintegerfalsenoneNumber of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation

    DeliveryCreation

    { "type": "object", "properties": { "jobId": { "type": "integer", "format": "int64" }, "packGroupIds": { "type": "array", "description": "Either a Job Id or an array of PackGroup Ids", "items": { "type": "integer", "format": "int64" } }, "serviceChannelOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "Map of ServiceChannel.label -> OutputFile.name -> array of Option Id" }, "expectedPostDate": { "type": "integer", "description": "Optional postDate as UTC epoch milli (should be at start of day of logged User local time converted to UTC Instant). If NOT present compute `As Soon As Possible` postDate", "format": "int64" }, "expectedProofsPerServiceChannelLabel": { "type": "integer", "description": "Only used for computeProof() operation must be > 0" } }, "description": "Delivery Creation parameter"}

    Delivery Creation parameter

    Properties

    NameTypeRequiredRestrictionsDescription
    jobIdinteger(int64)falsenonenone
    packGroupIds[integer]falsenoneEither a Job Id or an array of PackGroup Ids
    serviceChannelOptionsobjectfalsenoneMap of ServiceChannel.label -> OutputFile.name -> array of Option Id
    » additionalPropertiesobjectfalsenonenone
    »» additionalProperties[integer]falsenonenone
    expectedPostDateinteger(int64)falsenoneOptional postDate as UTC epoch milli (should be at start of day of logged User local time converted to UTC Instant). If NOT present compute As Soon As Possible postDate
    expectedProofsPerServiceChannelLabelintegerfalsenoneOnly used for computeProof() operation must be > 0

    DeliveryCommandValidation

    { "type": "object", "properties": { "validationReason": { "type": "string", "description": "Message reason of validation / rejection or cancel operations" } }, "description": "Delivery Validation parameter"}

    Delivery Validation parameter

    Properties

    NameTypeRequiredRestrictionsDescription
    validationReasonstringfalsenoneMessage reason of validation / rejection or cancel operations

    DeliveryProof

    { "properties": { "tempFile": { "type": "object", "properties": { "fileId": { "type": "string" }, "originFileName": { "type": "string" }, "storedDate": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" } } }, "proofElements": { "type": "array", "items": { "type": "object", "properties": { "packGroupId": { "type": "integer", "description": "Id of PackGroup", "format": "int64" }, "serviceChannelLabel": { "type": "string", "description": "label of ServiceChannel" }, "outputFileDefinitionName": { "type": "integer", "description": "Name of OutputFileDefinition of Channel", "format": "int64" }, "mainOutputFile": { "type": "boolean", "description": "If true, this Proof element is the MAIN OutputFile of the virtual Shipment" }, "startIndex": { "type": "string", "description": "Start page of this Proof element within the concatenated proof file (first page is 1)" } }, "description": "a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple" } } }, "description": "return of computeProof() operation ; tempFile is the concatenated pdf file of Proof elements temporarily stored in logged user Session"}

    return of computeProof() operation ; tempFile is the concatenated pdf file of Proof elements temporarily stored in logged user Session

    Properties

    NameTypeRequiredRestrictionsDescription
    tempFileTempFilefalsenonenone
    proofElements[ProofElement]falsenone[a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple]

    ProofElement

    { "type": "object", "properties": { "packGroupId": { "type": "integer", "description": "Id of PackGroup", "format": "int64" }, "serviceChannelLabel": { "type": "string", "description": "label of ServiceChannel" }, "outputFileDefinitionName": { "type": "integer", "description": "Name of OutputFileDefinition of Channel", "format": "int64" }, "mainOutputFile": { "type": "boolean", "description": "If true, this Proof element is the MAIN OutputFile of the virtual Shipment" }, "startIndex": { "type": "string", "description": "Start page of this Proof element within the concatenated proof file (first page is 1)" } }, "description": "a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple"}

    a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple

    Properties

    NameTypeRequiredRestrictionsDescription
    packGroupIdinteger(int64)falsenoneId of PackGroup
    serviceChannelLabelstringfalsenonelabel of ServiceChannel
    outputFileDefinitionNameinteger(int64)falsenoneName of OutputFileDefinition of Channel
    mainOutputFilebooleanfalsenoneIf true, this Proof element is the MAIN OutputFile of the virtual Shipment
    startIndexstringfalsenoneStart page of this Proof element within the concatenated proof file (first page is 1)

    DeliveryCounters

    { "type": "object", "properties": { "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
    » additionalPropertiesinteger(int64)falsenonenone
    deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
    » additionalPropertiesinteger(int64)falsenonenone

    Group

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "organizationalUnitId": { "type": "integer", "format": "int64" }, "name": { "type": "string" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    organizationalUnitIdinteger(int64)falsenonenone
    namestringfalsenonenone

    I18n

    { "type": "object"}

    Properties

    None

    IdentifierDTO

    { "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"}

    In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    namestringfalsenonelogin or displayable name

    InputFile

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "fileRelativePathname": { "type": "string", "description": "Only valid if file comes from a BoxArchive (Zip)" }, "originFileName": { "type": "string" }, "boxName": { "type": "string" }, "boxType": { "type": "string", "enum": [ "PDF", "DATA_FILE", "ARCHIVE" ] }, "appositionId": { "type": "string", "description": "Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object" }, "indexInBox": { "type": "integer" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "filesize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "inputFile object, storedDate is epoch millis"}

    inputFile object, storedDate is epoch millis

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    fileRelativePathnamestringfalsenoneOnly valid if file comes from a BoxArchive (Zip)
    originFileNamestringfalsenonenone
    boxNamestringfalsenonenone
    boxTypestringfalsenonenone
    appositionIdstringfalsenoneOptional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object
    indexInBoxintegerfalsenonenone
    filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    filesizeinteger(int64)falsenonenone
    storedDateinteger(int64)falsenonenone

    Enumerated Values

    PropertyValue
    boxTypePDF
    boxTypeDATA_FILE
    boxTypeARCHIVE

    JobCreationParameter

    { "type": "object", "properties": { "jobName": { "type": "string", "description": "User-specified Job.name (if not given, will use MAIN file name)" }, "targetOwnerId": { "type": "integer", "description": "Optional ; allow to create a Job on behalf of a target Owner different from current logged User", "format": "int64" }, "serviceId": { "type": "integer", "format": "int64" }, "splitConfiguration": { "type": "object", "additionalProperties": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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." } } } ] } ] } }, "packRequirements": { "type": "object", "additionalProperties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "description": "Map (\"Pack\" scope) {requirementName -> Expression}" }, "shipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "description": "Map (\"Shipment\" scope) {serviceChannelLabel -> requirementName -> Expression}" }, "rawJobMetadatas": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Service / Job Metadata (constant String values)" }, "autoCreateDeliveryCommand": { "type": "boolean", "description": "if true, try to create DeliveryCommand if all Job PackGroups are eligible" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    jobNamestringfalsenoneUser-specified Job.name (if not given, will use MAIN file name)
    targetOwnerIdinteger(int64)falsenoneOptional ; allow to create a Job on behalf of a target Owner different from current logged User
    serviceIdinteger(int64)falsenonenone
    splitConfigurationobjectfalsenonenone
    » additionalPropertiesBoxSplitConfigurationfalsenonenone
    packRequirementsobjectfalsenoneMap ("Pack" scope) {requirementName -> Expression}
    » additionalPropertiesExpressionfalsenonenone
    shipmentRequirementsobjectfalsenoneMap ("Shipment" scope) {serviceChannelLabel -> requirementName -> Expression}
    » additionalPropertiesobjectfalsenonenone
    »» additionalPropertiesExpressionfalsenonenone
    rawJobMetadatasobjectfalsenoneService / Job Metadata (constant String values)
    » additionalPropertiesstringfalsenonenone
    autoCreateDeliveryCommandbooleanfalsenoneif true, try to create DeliveryCommand if all Job PackGroups are eligible

    JobResult

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "submittedDate": { "type": "string" }, "autoCreateDeliveryCommand": { "type": "boolean", "description": "if true, try to create DeliveryCommand if all Job PackGroups are eligible" }, "validatedJobMetadatas": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Validated Job / Service Metadata" }, "orphanChunkIds": { "type": "array", "items": { "type": "integer", "format": "int64" } }, "state": { "type": "string" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "errorMessage": { "type": "string" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "displayBilling": { "type": "boolean" }, "service": { "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" }, "thumbnailPurged": { "type": "boolean", "description": "If true, the thumbnail of the Job has been purged (invalid storage reference)" }, "inputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "fileRelativePathname": { "type": "string", "description": "Only valid if file comes from a BoxArchive (Zip)" }, "originFileName": { "type": "string" }, "boxName": { "type": "string" }, "boxType": { "type": "string", "enum": [ "PDF", "DATA_FILE", "ARCHIVE" ] }, "appositionId": { "type": "string", "description": "Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object" }, "indexInBox": { "type": "integer" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "filesize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "inputFile object, storedDate is epoch millis" } }, "packGroupCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer" }, "packGroupCountPerFallbackStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback" }, "deliveryCommandCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64" }, "deliveryCountPerStates": { "type": "object", "additionalProperties": { "type": "integer" }, "description": "Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    namestringfalsenonenone
    submittedDatestringfalsenonenone
    autoCreateDeliveryCommandbooleanfalsenoneif true, try to create DeliveryCommand if all Job PackGroups are eligible
    validatedJobMetadatasobjectfalsenoneValidated Job / Service Metadata
    » additionalPropertiesstringfalsenonenone
    orphanChunkIds[integer]falsenonenone
    statestringfalsenonenone
    invalidatedbooleanfalsenonenone
    frozenbooleanfalsenonenone
    errorMessagestringfalsenonenone
    ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    displayBillingbooleanfalsenonenone
    serviceIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    thumbnailPurgedbooleanfalsenoneIf true, the thumbnail of the Job has been purged (invalid storage reference)
    inputFiles[InputFile]falsenone[inputFile object, storedDate is epoch millis]
    packGroupCountPerStatesobjectfalsenoneMap PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer
    » additionalPropertiesintegerfalsenonenone
    packGroupCountPerFallbackStatesobjectfalsenoneMap PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback
    » additionalPropertiesintegerfalsenonenone
    deliveryCommandCountPerStatesobjectfalsenoneMap DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64
    » additionalPropertiesintegerfalsenonenone
    deliveryCountPerStatesobjectfalsenoneMap Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64
    » additionalPropertiesintegerfalsenonenone

    JobCounters

    { "type": "object", "properties": { "jobCountPerStates": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map Job.state -> count ; Job.state is string representation of JobState Enum ; count is positive int64" }, "pendingJobCount": { "type": "integer", "description": "Jobs which are NOT in Error (ie in PACK_GROUPS_CREATED State), NOT frozen and have unassigned PackGoups (can be used to create DeliveyCommand / Deliveries)", "format": "int64" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    jobCountPerStatesobjectfalsenoneMap Job.state -> count ; Job.state is string representation of JobState Enum ; count is positive int64
    » additionalPropertiesinteger(int64)falsenonenone
    pendingJobCountinteger(int64)falsenoneJobs which are NOT in Error (ie in PACK_GROUPS_CREATED State), NOT frozen and have unassigned PackGoups (can be used to create DeliveyCommand / Deliveries)

    Metadata

    { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    namestringfalsenonenone
    metadataKindstringfalsenonenone
    metadataTypestringfalsenonenone
    valuestringfalsenonenone
    filePurgedbooleanfalsenoneIf true, the stored tracking file has been purged (invalid storage reference)
    countryCodestringfalsenonepresent if metadataType is POSTAL_ADDRESS
    serverTimestampinteger(int64)falsenoneDate of creation of this Metadata on IHM Server

    Enumerated Values

    PropertyValue
    metadataKindREQUIREMENT
    metadataKindMETADATA
    metadataKindTRACKING
    metadataTypeSHORT_VALUE
    metadataTypeLONG_TEXT
    metadataTypePOSTAL_ADDRESS
    metadataTypeSTORAGE_REFERENCE

    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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } } }, "senderAccount": { "type": "boolean", "description": "Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)" }, "enabled": { "type": "boolean" }, "accountExpired": { "type": "boolean" }, "removed": { "type": "boolean" } }, "description": "Note: parent parameter can be NULL if root OU"}

    Note: parent parameter can be NULL if root OU

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    creationdateinteger(int64)falseread-onlynone
    accountIdentifierstringfalsenoneOnly ASCII 0-9 A-Z a-z and -._~
    namestringfalsenonenone
    brandingIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    parentIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    allowOUChildrenbooleanfalsenonenone
    freezeDelayDaysintegerfalsenonenone
    fileDelayDaysintegerfalsenonenone
    dataDelayDaysintegerfalsenonenone
    accountingCodestringfalsenonenone
    productionCodestringfalsenonenone
    partnerCodestringfalsenonenone
    billingTypestringfalsenonenone
    defaultMailCountrystringfalsenonenone
    minPasswordEntropyinteger(int32)falsenoneMinimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0
    maxPasswordValidityDaysinteger(int32)falsenoneMaximum number of days between password change by User ; only checked if > 0
    propertiesOrganizationalUnitPropertiesfalsenonenone
    senderAccountbooleanfalsenoneTechnical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database)
    enabledbooleanfalsenonenone
    accountExpiredbooleanfalsenonenone
    removedbooleanfalsenonenone

    OrganizationalUnitProperties

    { "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" } }, "webHookURL": { "type": "string", "description": "URL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications." } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    emailAddressstringfalsenonenone
    senderAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
    returnAddressPostalAddressfalsenonePostalAddress: addressLines separated by \n. countryCode with 2 chars
    siretstringfalsenonenone
    controlledValues[ControlledValue]falsenone[Can be used as ControlledValueMetadata in Service Metadata]
    webHookURLstringfalsenoneURL to be called by WebHook notifications on Shipment status and tracking events. Must be absolute with protocol http or https and have a path after the domain name (root URL not allowed)). See UserEvent object for the format of WebHook notifications.

    ControlledValue

    { "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"}

    Can be used as ControlledValueMetadata in Service Metadata

    Properties

    NameTypeRequiredRestrictionsDescription
    namestringfalsenonenone
    elements[ElementValue]falsenonenone
    allowFreeValuebooleanfalsenoneIf true, user can enter a metadat value outside the elements list

    ElementValue

    { "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" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    valuestringfalsenoneTechnical value (must NOT be empty)
    labelstringfalsenoneUser-friendly label (must NOT be null), can be equal to value

    Pack

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "chunks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "startIndex": { "type": "integer" }, "pageCount": { "type": "integer" }, "properties": { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of extracted Metadata for orphan Chunk (including transient Metadata)" } } }, "inputFile": { "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": { "metadataValues": { "type": "object", "description": "Map of peristed Metadata for this Pack" }, "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "eligibility": { "type": "object", "additionalProperties": { "type": "object", "properties": { "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "validatedShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }, "eligibile": { "type": "boolean" }, "errorMessage": { "type": "string", "description": "Optional error message about this ServiceChannel non-eligibility" } } } }, "eligibleSendingStrategyGroups": { "type": "array", "description": "If not null, list of eligible StrategyGroup names", "items": { "type": "string" } }, "falseSendingStrategyGroups": { "type": "array", "description": "If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match", "items": { "type": "string" } } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    chunks[Chunk]falsenonenone
    propertiesPackPropertiesfalsenonenone

    PackGroup

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "state": { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ] }, "fallbackState": { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ] }, "packs": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "chunks": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "startIndex": { "type": "integer" }, "pageCount": { "type": "integer" }, "properties": { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of extracted Metadata for orphan Chunk (including transient Metadata)" } } }, "inputFile": { "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": { "metadataValues": { "type": "object", "description": "Map of peristed Metadata for this Pack" }, "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "eligibility": { "type": "object", "additionalProperties": { "type": "object", "properties": { "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "validatedShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }, "eligibile": { "type": "boolean" }, "errorMessage": { "type": "string", "description": "Optional error message about this ServiceChannel non-eligibility" } } } }, "eligibleSendingStrategyGroups": { "type": "array", "description": "If not null, list of eligible StrategyGroup names", "items": { "type": "string" } }, "falseSendingStrategyGroups": { "type": "array", "description": "If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match", "items": { "type": "string" } } } } } } } }, "description": "fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR"}

    fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    statePackGroupStatefalsenonenone
    fallbackStatePackGroupStatefalsenonenone
    packs[Pack]falsenonenone

    PackProperties

    { "type": "object", "properties": { "metadataValues": { "type": "object", "description": "Map of peristed Metadata for this Pack" }, "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "eligibility": { "type": "object", "additionalProperties": { "type": "object", "properties": { "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "validatedShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }, "eligibile": { "type": "boolean" }, "errorMessage": { "type": "string", "description": "Optional error message about this ServiceChannel non-eligibility" } } } }, "eligibleSendingStrategyGroups": { "type": "array", "description": "If not null, list of eligible StrategyGroup names", "items": { "type": "string" } }, "falseSendingStrategyGroups": { "type": "array", "description": "If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match", "items": { "type": "string" } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    metadataValuesobjectfalsenoneMap of peristed Metadata for this Pack
    rawPackRequirementsobjectfalsenonenone
    » additionalPropertiesRequirementValuefalsenonenone
    eligibilityobjectfalsenonenone
    » additionalPropertiesServiceChannelEligibilityfalsenonenone
    eligibleSendingStrategyGroups[string]falsenoneIf not null, list of eligible StrategyGroup names
    falseSendingStrategyGroups[string]falsenoneIf not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match

    RequirementValue

    { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
    valuestringfalsenonenone
    countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
    propertiesobjectfalsenoneFor raw Requirement, property key "PODX_forceValidation", persist false, value "true" can be used to "force" the validation fo an Address Requirement at Pack or Shipment "scope" if there is a "force" validation method defined in the Channel
    » additionalPropertiesobjectfalsenonenone
    »» persistbooleanfalsenonenone
    »» valuestringfalsenonenone

    PackGroupState

    { "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ]}

    Properties

    NameTypeRequiredRestrictionsDescription
    anonymousstringfalsenonenone

    Enumerated Values

    PropertyValue
    anonymousCREATED
    anonymousREJECTED
    anonymousSHIPMENT_IN_CREATION
    anonymousSHIPMENT_ASSOCIATED
    anonymousSHIPMENT_CREATION_ERROR
    anonymousNOT_ELIGIBLE

    PdfExtractPage

    { "type": "object", "properties": { "page": { "type": "integer" }, "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." } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    pageintegerfalsenonenone
    areaZoneAreafalsenoneZoneArea object
    extractionParametersExtractionParametersfalsenoneParameters for the extraction. Depends on the library used.

    PdfExtractText

    { "type": "object", "properties": { "submittedFile": { "type": "string", "format": "binary" }, "parameters": { "type": "object", "properties": { "page": { "type": "integer" }, "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." } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    submittedFilestring(binary)falsenonenone
    parametersPdfExtractPagefalsenonenone

    PostalAddress

    { "type": "object", "properties": { "addressLines": { "type": "string" }, "countryCode": { "type": "string" } }, "description": "PostalAddress: addressLines separated by \\n. countryCode with 2 chars"}

    PostalAddress: addressLines separated by \n. countryCode with 2 chars

    Properties

    NameTypeRequiredRestrictionsDescription
    addressLinesstringfalsenonenone
    countryCodestringfalsenonenone

    RoleTemplate

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string", "description": "super-admin | Account Admin Users | Account Admin Services | Hierarchy Admin Services | Group Validator | User | User Validator" }, "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": "RoleTemplate to create most used Profiles"}

    RoleTemplate to create most used Profiles

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    namestringfalsenonesuper-admin
    permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    permissionsOnOUintegerfalsenonePermissions 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)

    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"}

    field can be null id super admin

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    namestringfalsenonenone
    roleNamestringfalsenonename of RoleTemplaate or [CUSTOM]
    permissionsintegerfalsenonePermissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER)
    permissionsOnGroupintegerfalsenonePermissions on Group (for Goup validator)
    permissionsOnOUintegerfalsenonePermissions 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)

    Service

    { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } } }, "serviceFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration" } }, "removed": { "type": "boolean" }, "allowJobCreation": { "type": "boolean" }, "inconsistent": { "type": "boolean", "description": "true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false", "readOnly": true }, "forceServiceUpdate": { "type": "boolean", "description": "Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error", "writeOnly": true } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idintegerfalsenonenone
    typestringfalsenonenone
    namestringfalsenonenone
    organizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    propertiesServicePropertiesfalsenonenone
    serviceFiles[ServiceFile]falsenone[File associated to the service for background configuration]
    removedbooleanfalsenonenone
    allowJobCreationbooleanfalsenonenone
    inconsistentbooleanfalseread-onlytrue if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false
    forceServiceUpdatebooleanfalsewrite-onlyForce Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error

    Enumerated Values

    PropertyValue
    typeSIMPLE_UNIQUE
    typeSIMPLE_MULTIPLE
    typePREPROCESSING_UNIQUE
    typePREPROCESSING
    typeADVANCED

    ServiceChannel

    { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations"}

    See Channel Entity for Requirement and OutputFile configurations

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenoneId of Channel entity (MUST be allowed in OU)
    labelstringfalsenonenone
    shipmentRequirementsobjectfalsenonenone
    » additionalPropertiesRequirementEvaluablefalsenonenone
    outputFilesConfigobjectfalsenonenone
    » additionalPropertiesServiceChannelOutputFilefalsenonenone

    ServiceChannelOutputFile

    { "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    options[ServiceChannelOutputFileOption]falsenonenone
    compositionobjectfalsenonenone
    » operations[ServiceChannelOutputFileComposition]falsenone[Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:
    - Boxes based, in which case all elements of files related to the
    recipient will be added. The parameter boxIdentifier is used to
    match the Box.
    - Blank pages, in which case a blank (white) page will be added.
    The parameter pageSize indicates the format of the page to add. ]

    ServiceChannelOutputFileComposition

    { "type": "object", "properties": { "boxIdentifier": { "type": "object", "properties": { "main": { "type": "boolean", "description": "If true, the target box is any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. "}

    Elements of the composition.
    One and only of the parameters boxIdentifier and pageSize must be set.
    Can be either:

    Properties

    NameTypeRequiredRestrictionsDescription
    boxIdentifierobjectfalsenone

    Composition of elements of the target Box.

    pageSize cannot be set if boxIdentifier is set.

    » mainbooleanfalsenoneIf true, the target box is any MAIN box
    » boxNamestringfalsenoneIgnored if main is true. Otherwise, indicates the name of the target box
    serializedPageFilterstringfalsenone

    Ignore when boxIdentifier is NOT set.

    Page description, can be

    • a single page number

    • an interval (1:3)

    • an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above)

    • keywords among 'odd' and 'even' for respective page description

    It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '

    pageSizestringfalsenone

    Cannot be set when boxIdentifier is set.

    Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.

    This parameter is the format of the page to add.

    Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.

    rotationDirectionstringfalsenonenone
    marginsobjectfalsenonenone
    » additionalPropertiesMarginAreafalsenoneMarginArea object
    nbDuplicatesinteger(int64)falsenonenone
    canStartOnBackSidebooleanfalsenonetrue if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page)
    skipAddressPagebooleanfalsenoneIgnore when boxIdentifier is NOT set. true if the address page of the box should not be added to the composition (available only if the box has an address page)
    duplicateOnRegroupbooleanfalsenonetrue if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main)
    addLastBackSidebooleanfalsenonetrue 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.
    printOnSidestringfalsenoneOn 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.
    appositions[ServiceChannelOutputFileCompositionApposition]falsenonenone

    Enumerated Values

    PropertyValue
    pageSizeA0
    pageSizeA1
    pageSizeA2
    pageSizeA3
    pageSizeA4
    pageSizeA5
    pageSizeA6
    pageSizeSRA3
    pageSizeA0-L
    pageSizeA1-L
    pageSizeA2-L
    pageSizeA3-L
    pageSizeA4-L
    pageSizeA5-L
    pageSizeA6-L
    pageSizeLETTER
    pageSizeLEGAL
    rotationDirectionLEFT
    rotationDirectionRIGHT
    rotationDirectionNONE
    printOnSideALL
    printOnSideFRONT_SIDE
    printOnSideBACK_SIDE

    ServiceChannelOutputFileCompositionApposition

    { "discriminator": { "propertyName": "@type", "mapping": { "ofa.RECTANGLE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ]}

    Properties

    oneOf

    NameTypeRequiredRestrictionsDescription
    anonymousServiceChannelOutputFileCompositionAppositionRectanglefalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousServiceChannelOutputFileCompositionAppositionTextfalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCodefalsenonenone

    ServiceChannelOutputFileCompositionAppositionBase

    { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringtruenonenone
    pageFilterstringfalsenonePage 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.

    ServiceChannelOutputFileCompositionAppositionRectangle

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousAppositionConfigRectanglefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeofa.RECTANGLE

    ServiceChannelOutputFileCompositionAppositionText

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousAppositionConfigTextfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousAppositionWithContentfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone

    Enumerated Values

    PropertyValue
    @typeofa.TEXT

    ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode

    { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousServiceChannelOutputFileCompositionAppositionBasefalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousAppositionWithContentfalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » textAppositionConfigTextfalsenonenone
    » qrCodeAppositionConfigQRCodefalsenonenone

    Enumerated Values

    PropertyValue
    @typeofa.RS.QRCODE

    ServiceChannelOutputFileOption

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "rank": { "type": "integer" }, "default": { "type": "boolean" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    rankintegerfalsenonenone
    defaultbooleanfalsenonenone

    ServiceFile

    { "type": "object", "properties": { "id": { "type": "string" }, "originalFileName": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "storedDate": { "type": "integer", "format": "int64" } }, "description": "File associated to the service for background configuration"}

    File associated to the service for background configuration

    Properties

    NameTypeRequiredRestrictionsDescription
    idstringfalsenonenone
    originalFileNamestringfalsenonenone
    fileSizeinteger(int64)falsenonenone
    storedDateinteger(int64)falsenonenone

    ServiceProperties

    { "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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" ] }, "integrityPreservable": { "type": "boolean", "description": "if true, this Box can be the source of an OutputFile with \"preserveIntegrity\" flag" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "bsc.NONE" ] } } } ] }, { "allOf": [ { "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } } }, { "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" } } }, { "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 ServiceChannelOutputFileComposition.serializedPageFilter" }, "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" }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } }, "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.DATA_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" }, "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" }, "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" }, "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" } } } ] } ] } }, "jobNameExpression": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "jobNameEditable": { "type": "boolean", "description": "Job name value is editable on job creation (default true)" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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 any MAIN box" }, "boxName": { "type": "string", "description": "Ignored if main is true. Otherwise, indicates the name of the target box" } }, "description": "<p>Composition of elements of the target Box.</p> <p>pageSize cannot be set if boxIdentifier is set.</p>" }, "serializedPageFilter": { "type": "string", "description": "<p>Ignore when boxIdentifier is NOT set.</p> Page description, can be <ul>\n <li>a single page number</li>\n <li>an interval (1:3)</li>\n <li>an open interval (includes a single excluded boundary i.e. :3 means strictly below page 3, hence page 1 or 2, 2: is for page 3 and above) </li>\n <li>keywords among 'odd' and 'even' for respective page description</li>\n</ul> <p>It is also possible to combine elements, with '&' to have all the condition matching at the same time, or '|' to have any of the condition matching.</p> <p>Precedence of operators are (all,even,odd,\\d) > : > & > |</p> <p>Note that there are no parenthesis allowed in the syntax, so '&' operator always takes precedence over '|' operator.</p> <p>Example: 5|3&:-1|even means page 5 or (page 3 if it is not the last one) or an even page</p>" }, "pageSize": { "type": "string", "description": "<p>Cannot be set when boxIdentifier is set.</p> <p>Used to add a blank page in composition rather than pages from files of a Box. In such case, boxIdentifier MUST be set to null.</p> <p>This parameter is the format of the page to add. </p> <p>Note: values with '-L' are landscape versions. Example with A4 (210x297 mm): A4-L is 297x210 mm.</p>", "enum": [ "A0", "A1", "A2", "A3", "A4", "A5", "A6", "SRA3", "A0-L", "A1-L", "A2-L", "A3-L", "A4-L", "A5-L", "A6-L", "LETTER", "LEGAL" ] }, "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": "Ignore when boxIdentifier is NOT set. 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/ServiceChannelOutputFileCompositionAppositionRectangle", "ofa.TEXT": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionText", "ofa.RS.QRCODE": "#/components/schemas/ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode" } }, "oneOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RECTANGLE" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.TEXT" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" }, "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." } } }, { "required": [ "contentEvaluator" ], "type": "object", "properties": { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "ofa.RS.QRCODE" ] }, "text": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "fontName": { "type": "string" }, "fontSize": { "type": "number", "format": "float" }, "fontColor": { "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" }, "lineSpace": { "type": "integer", "format": "float" }, "hAlign": { "type": "string", "description": "Horizontal alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "CENTER", "LEFT", "RIGHT" ] }, "vAlign": { "type": "string", "description": "Vertical alignment of TEXT inside the box. Only applies for type TEXT.", "enum": [ "BOTTOM", "MIDDLE", "TOP" ] }, "rtl": { "type": "boolean" }, "lineBreakMode": { "type": "string", "description": "How to handle text when end of line is reached. Defaults to NEVER (text will be truncated).", "enum": [ "NEVER", "NORMAL", "ALL_CHARS", "BREAK_WORD" ] } } } ] }, "qrCode": { "allOf": [ { "required": [ "area" ], "type": "object", "properties": { "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" }, "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" }, "margins": { "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" } } }, { "type": "object", "properties": { "color": { "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" } } } ] } } } ] } ] } } }, "description": "Elements of the composition.<br /> One and only of the parameters boxIdentifier and pageSize must be set.<br /> Can be either:\n - Boxes based, in which case all elements of files related to the \n recipient will be added. The parameter boxIdentifier is used to\n match the Box.\n - Blank pages, in which case a blank (white) page will be added.\n The parameter pageSize indicates the format of the page to add. " } } } } } } } }, "description": "See Channel Entity for Requirement and OutputFile configurations" } }, "groupingConfiguration": { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup" }, "sendingStrategy": { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    descriptionstringfalsenonenone
    iconColorColorfalsenoneColor object int values between 0 and 255, alpha use a float value between 0.0 and 1.0
    iconNamestringfalsenonenone
    boxes[Box]falsenonenone
    serviceMetadatas[ServiceMetadata]falsenoneOptional list of ServiceMetadata (common to whole Job)
    jobNameExpressionExpressionfalsenonenone
    jobNameEditablebooleanfalsenoneJob name value is editable on job creation (default true)
    packRequirementsobjectfalsenonenone
    » additionalPropertiesRequirementEvaluablefalsenonenone
    channels[ServiceChannel]falsenone[See Channel Entity for Requirement and OutputFile configurations]
    groupingConfigurationSendingStrategyfalsenoneAll main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup
    sendingStrategyGroupingConfigurationfalsenonenone

    GroupingConfiguration

    { "type": "object", "properties": { "groupingMetadataName": { "type": "string", "description": "Name of Metadata OR Requirement used for grouping strategy" }, "groupOnRequirement": { "type": "boolean", "description": "If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    groupingMetadataNamestringfalsenoneName of Metadata OR Requirement used for grouping strategy
    groupOnRequirementbooleanfalsenoneIf true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata

    SendingStrategy

    { "type": "object", "properties": { "name": { "type": "string" }, "groups": { "type": "array", "description": "SendingGroup names MUST be unique whithin a SendingStrategy", "items": { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true." } } }, "description": "All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup"}

    All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup

    Properties

    NameTypeRequiredRestrictionsDescription
    namestringfalsenonenone
    groups[SendingGroup]falsenoneSendingGroup names MUST be unique whithin a SendingStrategy

    SendingGroup

    { "type": "object", "properties": { "name": { "type": "string" }, "serviceChannels": { "type": "array", "description": "array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "fallbacks": { "type": "array", "description": "array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)", "items": { "type": "string" } }, "additionalCondition": { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.AND", "exb.OR" ] }, "expr1": "[Circular]", "expr2": "[Circular]" } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.NOT" ] }, "expr": "[Circular]" } } ] }, { "allOf": [ { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "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" } } }, { "type": "object", "properties": { "@type": { "type": "string" }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] } } } ] }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.LessThan", "exb.LessThanOrEqual", "exb.NumericEqual" ] } } } ] }, { "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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." } } } ] } ] } }, "description": "Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true."}

    Optional 'additionalCondition' field additional boolean condition matched after ServiceChannels eligibility. If not used assume always true.

    Properties

    NameTypeRequiredRestrictionsDescription
    namestringfalsenonenone
    serviceChannels[string]falsenonearray (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    fallbacks[string]falsenonearray (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService)
    additionalConditionBooleanExpressionfalsenonenone

    ServiceMetadata

    { "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" }, "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" }, "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" } } } ] } ]}

    Properties

    oneOf

    NameTypeRequiredRestrictionsDescription
    anonymousConstantMetadatafalsenonenone

    xor

    NameTypeRequiredRestrictionsDescription
    anonymousControlledValueMetadatafalsenonenone

    BaseServiceMetadata

    { "required": [ "@type", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "name": { "type": "string" }, "editable": { "type": "boolean", "description": "if true, can be entered by User on Job creation" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    @typestringtruenonenone
    namestringtruenonenone
    editablebooleanfalsenoneif true, can be entered by User on Job creation

    ConstantMetadata

    { "allOf": [ { "required": [ "@type", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBaseServiceMetadatafalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » mandatorybooleanfalsenoneIf true, Job must be created with a non-empty value for this Metadata
    » propertiesobjectfalsenoneOpaque JSON node describing format, mask or RegEx validation for Front-end GUI

    Enumerated Values

    PropertyValue
    @typesvm.ConstantMetadata

    ControlledValueMetadata

    { "allOf": [ { "required": [ "@type", "name" ], "type": "object", "properties": { "@type": { "type": "string" }, "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" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousBaseServiceMetadatafalsenonenone

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » @typestringfalsenonenone
    » controlledValueNamestringfalsenoneName of a ControlledValue in the OrganizationalUnit associated with this Service

    Enumerated Values

    PropertyValue
    @typesvm.ControlledValue

    RequirementEvaluable

    { "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.Coalesce": "#/components/schemas/ExpressionCoalesce", "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", "exv.JobFileNameValue": "#/components/schemas/JobFileNameValue" } }, "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 allowed, depending on context :\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, NAME, ID\n * For OUTPUT_FILE allowed reference names are : NUID\n", "enum": [ "METADATA", "REQUIREMENT", "ORGANIZATIONAL_UNIT", "OUTPUT_FILE" ] }, "identifier": { "type": "string", "description": "Identifier of the element" } }, "description": "Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata" }, { "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.Coalesce" ] }, "operands": { "type": "array", "items": "[Circular]" } }, "description": "Coalesce: retrieve the first non-empty evaluation of its operands" }, { "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": [ "exv.JobFileNameValue" ] }, "boxName": { "type": "string", "description": "Name of the Box (must exist in the Service)" }, "indexInBox": { "type": "integer", "description": "Index of file in the Box. 1 (default) is first file. -1 is last file." }, "keepExtension": { "type": "boolean", "description": "If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension." } }, "description": "Name of a file in a box. Can be used in JobNameExpression on Job creation." } ] }, "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)" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    contentExpressionfalsenonenone
    editableConfigurationbooleanfalsenoneExpression configuration can be redefined on Job creation
    editableValuebooleanfalsenoneExpression value can be edited after Pack/PackGroup creation (to modify eligibility)

    ValidatedRequirementValue

    { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    typeRequirementTypefalsenoneAll types except HTML are limitted to 512 UTF-16 chars
    valuestringfalsenoneString value of the element
    countryCodestringfalsenoneISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS
    propertiesobjectfalsenoneAdditional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)
    » additionalPropertiesobjectfalsenonenone
    »» persistbooleanfalsenonenone
    »» valuestringfalsenonenone
    statusintegerfalsenonestatus values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)
    validbooleanfalsenonevalid if (status == 0)
    errorMessagestringfalsenoneOptional

    Enumerated Values

    PropertyValue
    status0
    status100
    status150
    status200
    status300

    ServiceChannelEligibility

    { "type": "object", "properties": { "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "validatedShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }, "eligibile": { "type": "boolean" }, "errorMessage": { "type": "string", "description": "Optional error message about this ServiceChannel non-eligibility" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    rawShipmentRequirementsobjectfalsenonenone
    » additionalPropertiesRequirementValuefalsenonenone
    validatedShipmentRequirementsobjectfalsenonenone
    » additionalPropertiesValidatedRequirementValuefalsenonenone
    eligibilebooleanfalsenonenone
    errorMessagestringfalsenoneOptional error message about this ServiceChannel non-eligibility

    RequirementType

    { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ]}

    All types except HTML are limitted to 512 UTF-16 chars

    Properties

    NameTypeRequiredRestrictionsDescription
    anonymousstringfalsenoneAll types except HTML are limitted to 512 UTF-16 chars

    Enumerated Values

    PropertyValue
    anonymousPOSTAL_ADDRESS
    anonymousTEXT
    anonymousMULTILINE
    anonymousHTML
    anonymousPHONE

    Shipment

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "externalId": { "type": "string" }, "status": { "type": "integer" }, "lastModifiedState": { "type": "integer", "format": "int64" }, "eventDate": { "type": "integer", "description": "Optional , date of the current status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } }, "packGroupId": { "type": "integer", "format": "int64" }, "delivery": { "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" }, "deliveryExternalId": { "type": "string" }, "deliveryCreationDate": { "type": "integer", "format": "int64" }, "deliveryPostDate": { "type": "integer", "format": "int64" }, "channel": { "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" }, "deliveryCommandCreationDate": { "type": "integer", "format": "int64" }, "job": { "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" }, "owner": { "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" }, "ownerOrganizationalUnit": { "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" }, "metadatas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "metadataKind": { "type": "string", "enum": [ "REQUIREMENT", "METADATA", "TRACKING" ] }, "metadataType": { "type": "string", "enum": [ "SHORT_VALUE", "LONG_TEXT", "POSTAL_ADDRESS", "STORAGE_REFERENCE" ] }, "value": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored tracking file has been purged (invalid storage reference)" }, "countryCode": { "type": "string", "description": "present if metadataType is POSTAL_ADDRESS" }, "serverTimestamp": { "type": "integer", "description": "Date of creation of this Metadata on IHM Server", "format": "int64" } } } }, "outputFiles": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    externalIdstringfalsenonenone
    statusintegerfalsenonenone
    lastModifiedStateinteger(int64)falsenonenone
    eventDateinteger(int64)falsenoneOptional , date of the current status from the provider tracking file
    userAcknowledgmentUserAcknowledgmentfalsenonenone
    packGroupIdinteger(int64)falsenonenone
    deliveryIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    deliveryExternalIdstringfalsenonenone
    deliveryCreationDateinteger(int64)falsenonenone
    deliveryPostDateinteger(int64)falsenonenone
    channelIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    deliveryCommandCreationDateinteger(int64)falsenonenone
    jobIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    ownerIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    ownerOrganizationalUnitIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    metadatas[Metadata]falsenonenone
    outputFiles[OutputFile]falsenonenone

    ShipmentCounters

    { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map Shipment.status -> count ; Shipment.status is signed int32 ; count is positive int64"}

    Map Shipment.status -> count ; Shipment.status is signed int32 ; count is positive int64

    Properties

    NameTypeRequiredRestrictionsDescription
    additionalPropertiesinteger(int64)falsenonenone

    OutputFile

    { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "nuid": { "type": "string" }, "filePurged": { "type": "boolean", "description": "If true, the stored file has been purged (invalid storage reference)" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" }, "forcedAddressPages": { "type": "integer", "description": "Number of added \"forced\" AddressPages default 0" }, "outputFileDefinition": { "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" }, "mainOutputFile": { "type": "boolean", "description": "If true, this is the MAIN OutputFile of the Shipment" }, "preserveIntegrity": { "type": "boolean", "description": "If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature" }, "outputFileOptionIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    nuidstringfalsenonenone
    filePurgedbooleanfalsenoneIf true, the stored file has been purged (invalid storage reference)
    fileSizeinteger(int64)falsenonenone
    pageCountintegerfalsenonenone
    forcedAddressPagesintegerfalsenoneNumber of added "forced" AddressPages default 0
    outputFileDefinitionIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    mainOutputFilebooleanfalsenoneIf true, this is the MAIN OutputFile of the Shipment
    preserveIntegritybooleanfalsenoneIf true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature
    outputFileOptionIds[integer]falsenonenone

    TempFile

    { "type": "object", "properties": { "fileId": { "type": "string" }, "originFileName": { "type": "string" }, "storedDate": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    fileIdstringfalsenonenone
    originFileNamestringfalsenonenone
    storedDatestringfalsenonenone
    fileSizeinteger(int64)falsenonenone
    pageCountintegerfalsenonenone

    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 } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    idinteger(int64)falsenonenone
    creationDateinteger(int64)falseread-onlynone
    profileProfilefalsenonefield can be null id super admin
    loginstringfalsenonenone
    passwordstring(password)falsenonenone
    lastPasswordUpdateinteger(int64)falseread-onlynone
    allowAddressesstringfalsenoneOptional 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
    titlestringfalsenonenone
    firstNamestringfalsenonenone
    lastNamestringfalsenonenone
    emailAddressstring(email)falsenonenone
    phoneNumberstringfalsenonenone
    mobileNumberstringfalsenonenone
    localestringfalsenonefr-FR
    allowEMailNotificationsbooleanfalsenoneallow generation of e-mail notifications for this User
    uipreferencesobjectfalsenoneOpaque JSON node used by Front-end GUI
    enablebooleanfalsenonenone
    accountExpiredbooleanfalsenonenone
    removedbooleanfalsenonenone
    groupIdentifierDTOfalsenoneIn JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object
    passwordExpireDaysintegerfalseread-onlyNumber of days before password expire. Null if not known (Super-Admin has NO OU). Integer.MAX_VALUE if no expiration policy in User OU.
    creationLinkstringfalsewrite-onlyIf 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)

    UserPassword

    { "type": "object", "properties": { "currentPassword": { "type": "string" }, "newPassword": { "type": "string" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    currentPasswordstringfalsenonenone
    newPasswordstringfalsenonenone

    ExtractionParameters

    { "type": "object", "additionalProperties": { "type": "string" }, "description": "Parameters for the extraction. Depends on the library used."}

    Parameters for the extraction. Depends on the library used.

    Properties

    NameTypeRequiredRestrictionsDescription
    additionalPropertiesstringfalsenonenone

    MarginArea

    { "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"}

    MarginArea object

    Properties

    NameTypeRequiredRestrictionsDescription
    leftnumber(float)falsenonenone
    topnumber(float)falsenonenone
    rightnumber(float)falsenonenone
    bottomnumber(float)falsenonenone

    ZoneArea

    { "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"}

    ZoneArea object

    Properties

    NameTypeRequiredRestrictionsDescription
    leftnumber(float)falsenonenone
    topnumber(float)falsenonenone
    widthnumber(float)falsenonenone
    heightnumber(float)falsenonenone

    PackGroupIdsParameter

    { "type": "object", "properties": { "packGroupIds": { "type": "array", "items": { "type": "integer", "format": "int64" } } }, "description": "JSON array of PackGroup Ids to reject"}

    JSON array of PackGroup Ids to reject

    Properties

    NameTypeRequiredRestrictionsDescription
    packGroupIds[integer]falsenonenone

    PackRequirementsDTO

    { "type": "object", "properties": { "rawPackRequirements": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } }, "description": "Pack 'scope' Requirements requirementName -> value" }, "rawShipmentRequirements": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "For raw Requirement, property key \"PODX_forceValidation\", persist false, value \"true\" can be used to \"force\" the validation fo an Address Requirement at Pack or Shipment \"scope\" if there is a \"force\" validation method defined in the Channel" } } } }, "description": "Shipment 'scope' Requirements ServiceChannel.label -> requirementName -> value" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    rawPackRequirementsobjectfalsenonePack 'scope' Requirements requirementName -> value
    » additionalPropertiesRequirementValuefalsenonenone
    rawShipmentRequirementsobjectfalsenoneShipment 'scope' Requirements ServiceChannel.label -> requirementName -> value
    » additionalPropertiesobjectfalsenonenone
    »» additionalPropertiesRequirementValuefalsenonenone

    CheckOptionsResult

    { "type": "object", "properties": { "selectableOptions": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "description": "List (Set) of Option ids", "items": { "type": "integer", "format": "int64" } } } } }, "description": "Map of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id" }, "compositionErrors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Map of PackGroup Id -> array of ServiceChannel.label" }, "postDatePerServiceChannelLabels": { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map of ServiceChannel.label -> post date (UTC epoch milli)" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    selectableOptionsSelectableOptionsfalsenoneMap of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id
    compositionErrorsCompositionErrorsfalsenoneMap of PackGroup Id -> array of ServiceChannel.label
    postDatePerServiceChannelLabelsPostDatePerServiceChannelLabelsfalsenoneMap of ServiceChannel.label -> post date (UTC epoch milli)

    SelectableOptions

    { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "array", "description": "List (Set) of Option ids", "items": { "type": "integer", "format": "int64" } } } } }, "description": "Map of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id"}

    Map of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id

    Properties

    NameTypeRequiredRestrictionsDescription
    additionalPropertiesobjectfalsenonenone
    » additionalPropertiesobjectfalsenonenone
    »» additionalPropertiesobjectfalsenonenone
    »»» additionalProperties[integer]falsenoneList (Set) of Option ids

    CompositionErrors

    { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "Map of PackGroup Id -> array of ServiceChannel.label"}

    Map of PackGroup Id -> array of ServiceChannel.label

    Properties

    NameTypeRequiredRestrictionsDescription
    additionalProperties[string]falsenonenone

    PostDatePerServiceChannelLabels

    { "type": "object", "additionalProperties": { "type": "integer", "format": "int64" }, "description": "Map of ServiceChannel.label -> post date (UTC epoch milli)"}

    Map of ServiceChannel.label -> post date (UTC epoch milli)

    Properties

    NameTypeRequiredRestrictionsDescription
    additionalPropertiesinteger(int64)falsenonenone

    DataFileTestParameter

    { "type": "object", "properties": { "serviceId": { "type": "integer", "description": "Can be null (Optional)", "format": "int64" }, "boxDataFileName": { "type": "string" }, "parserConfiguration": { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } } } }, "description": "Should define either a (serviceId, boxDataFileName) or a ParserConfiguration"}

    Should define either a (serviceId, boxDataFileName) or a ParserConfiguration

    Properties

    NameTypeRequiredRestrictionsDescription
    serviceIdinteger(int64)falsenoneCan be null (Optional)
    boxDataFileNamestringfalsenonenone
    parserConfigurationParserConfigurationfalsenonenone

    ValidatedRequirementWrapper

    { "type": "object", "properties": { "rawValue": { "type": "string", "description": "String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)" }, "detectedCountryCode": { "type": "string", "description": "For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code" }, "useDefaultCountry": { "type": "boolean", "description": "For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry" }, "validatedRequirementValue": { "type": "object", "properties": { "type": { "type": "string", "description": "All types except HTML are limitted to 512 UTF-16 chars", "enum": [ "POSTAL_ADDRESS", "TEXT", "MULTILINE", "HTML", "PHONE" ] }, "value": { "type": "string", "description": "String value of the element" }, "countryCode": { "type": "string", "description": "ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS" }, "properties": { "type": "object", "additionalProperties": { "type": "object", "properties": { "persist": { "type": "boolean" }, "value": { "type": "string" } } }, "description": "Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...)" }, "status": { "type": "integer", "description": "status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES)", "enum": [ 0, 100, 150, 200, 300 ] }, "valid": { "type": "boolean", "description": "valid if (status == 0)" }, "errorMessage": { "type": "string", "description": "Optional" } } } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    rawValuestringfalsenoneString value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS)
    detectedCountryCodestringfalsenoneFor POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code
    useDefaultCountrybooleanfalsenoneFor POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry
    validatedRequirementValueValidatedRequirementValuefalsenonenone

    CheckOUExportResult

    { "type": "object", "properties": { "exportDirectoryUsableSize": { "type": "integer", "description": "Usable (available) size in export directory (can be null if I/O error)", "format": "int64" }, "expectedExportSize": { "type": "integer", "description": "estimated total size of the files to export (sum of non-purged InputFiles size)", "format": "int64" }, "exportPossible": { "type": "boolean", "description": "true if export should be attempted with current size" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    exportDirectoryUsableSizeinteger(int64)falsenoneUsable (available) size in export directory (can be null if I/O error)
    expectedExportSizeinteger(int64)falsenoneestimated total size of the files to export (sum of non-purged InputFiles size)
    exportPossiblebooleanfalsenonetrue if export should be attempted with current size

    Revision

    { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events"}

    clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events

    Properties

    NameTypeRequiredRestrictionsDescription
    revisioninteger(int64)truenoneRevision Primary Key (global for all entities)
    timestampinteger(int64)truenoneEpoch millis
    clientAddressstringfalsenoneIP address of front-end client if any
    loggedUserIdinteger(int64)falsenonenone
    loggedUserLoginstringfalsenonenone

    JobRevision

    { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "Job Id", "format": "int64" }, "state": { "type": "string", "description": "JobState" }, "invalidated": { "type": "boolean" }, "frozen": { "type": "boolean" }, "purgeState": { "type": "integer", "description": "Bit field of purge state 2^0 FILES_PURGED, 2^1 INPUT_FILES_ARCHIVED, 2^2 OUTPUT_FILES_ARCHIVED, 2^3 TRACKING_FILES_ARCHIVED" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » idinteger(int64)falsenoneJob Id
    » statestringfalsenoneJobState
    » invalidatedbooleanfalsenonenone
    » frozenbooleanfalsenonenone
    » purgeStateintegerfalsenoneBit field of purge state 2^0 FILES_PURGED, 2^1 INPUT_FILES_ARCHIVED, 2^2 OUTPUT_FILES_ARCHIVED, 2^3 TRACKING_FILES_ARCHIVED

    PackGroupRevision

    { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "PackGroup Id", "format": "int64" }, "state": { "type": "string", "description": "PackGroupState" }, "additionalEvent": { "type": "string", "description": "Possible values EDITED_nnn" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » idinteger(int64)falsenonePackGroup Id
    » statestringfalsenonePackGroupState
    » additionalEventstringfalsenonePossible values EDITED_nnn

    DeliveryCommandRevision

    { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "DeliveryCommand Id", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState" }, "freed": { "type": "boolean" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » idinteger(int64)falsenoneDeliveryCommand Id
    » statestringfalsenoneDeliveryState
    » freedbooleanfalsenonenone

    DeliveryRevision

    { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "Delivery Id", "format": "int64" }, "state": { "type": "string", "description": "DeliveryState" } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » idinteger(int64)falsenoneDelivery Id
    » statestringfalsenoneDeliveryState

    ShipmentRevision

    { "allOf": [ { "required": [ "revision", "timestamp" ], "type": "object", "properties": { "revision": { "type": "integer", "description": "Revision Primary Key (global for all entities)", "format": "int64" }, "timestamp": { "type": "integer", "description": "Epoch millis", "format": "int64" }, "clientAddress": { "type": "string", "description": "IP address of front-end client if any" }, "loggedUserId": { "type": "integer", "format": "int64" }, "loggedUserLogin": { "type": "string" } }, "description": "clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events" }, { "type": "object", "properties": { "id": { "type": "integer", "description": "Shipment Id", "format": "int64" }, "status": { "type": "integer", "description": "Numeric status of Shipment" }, "eventDate": { "type": "integer", "description": "Optional , date of this status from the provider tracking file", "format": "int64" }, "userAcknowledgment": { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } } } } } ]}

    Properties

    allOf

    NameTypeRequiredRestrictionsDescription
    anonymousRevisionfalsenoneclientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events

    and

    NameTypeRequiredRestrictionsDescription
    anonymousobjectfalsenonenone
    » idinteger(int64)falsenoneShipment Id
    » statusintegerfalsenoneNumeric status of Shipment
    » eventDateinteger(int64)falsenoneOptional , date of this status from the provider tracking file
    » userAcknowledgmentUserAcknowledgmentfalsenonenone

    ExternalOutputParameter

    { "type": "object", "properties": { "targetPostDate": { "type": "integer", "description": "Target post date (epoch millis) ; can be in the future", "format": "int64" }, "targetDeliveryId": { "type": "integer", "description": "Id of target Delivery to force output ; 'targetPostDate' must NOT be set to force output of a specific Delivery", "format": "int64" } }, "description": "Must give either 'targetPostDate' OR 'targetDeliveryId'"}

    Must give either 'targetPostDate' OR 'targetDeliveryId'

    Properties

    NameTypeRequiredRestrictionsDescription
    targetPostDateinteger(int64)falsenoneTarget post date (epoch millis) ; can be in the future
    targetDeliveryIdinteger(int64)falsenoneId of target Delivery to force output ; 'targetPostDate' must NOT be set to force output of a specific Delivery

    ShipmentPostParameter

    { "type": "object", "properties": { "externalIds": { "type": "array", "items": { "type": "string" } }, "outputFileNUIDs": { "type": "array", "items": { "type": "string" } }, "trackingValues": { "type": "array", "items": { "type": "string" } } }, "description": "Must give either 'externalIds' OR 'outputFileNUIDs' OR 'trackingValues' arrays"}

    Must give either 'externalIds' OR 'outputFileNUIDs' OR 'trackingValues' arrays

    Properties

    NameTypeRequiredRestrictionsDescription
    externalIds[string]falsenonenone
    outputFileNUIDs[string]falsenonenone
    trackingValues[string]falsenonenone

    ForceStatusParameter

    { "type": "object", "properties": { "externalId": { "type": "string", "description": "ExternalId of the Shipment to update" }, "outputFileNUID": { "type": "string", "description": "NUID of the MAIN OutputFile" }, "status": { "type": "integer", "description": "must be <= -400 or >= 400 (outputted)" }, "eventDate": { "type": "integer", "description": "Optional, epoch millis", "format": "int64" } }, "description": "Must give either 'externalId' OR 'outputFileNUID'"}

    Must give either 'externalId' OR 'outputFileNUID'

    Properties

    NameTypeRequiredRestrictionsDescription
    externalIdstringfalsenoneExternalId of the Shipment to update
    outputFileNUIDstringfalsenoneNUID of the MAIN OutputFile
    statusintegerfalsenonemust be <= -400 or >= 400 (outputted)
    eventDateinteger(int64)falsenoneOptional, epoch millis

    UserAcknowledgment

    { "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    messagestringfalsenoneOptional user provided info

    AcknowledgmentParameter

    { "type": "object", "properties": { "shipmentIds": { "type": "array", "items": { "type": "integer", "description": "Array of Id of Shipments to acknowledge", "format": "int64" } }, "message": { "type": "string", "description": "Optional user provided info" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    shipmentIds[integer]falsenonenone
    messagestringfalsenoneOptional user provided info

    UserEvent

    { "type": "object", "properties": { "eventType": { "type": "string", "description": "SHIPMENT_STATUS , TRACKING_TEXT , TRACKING_FILE" }, "shipmentId": { "type": "integer", "description": "Id of the Shipment", "format": "int64" }, "shipmentExternalId": { "type": "string", "description": "External Id of the Shipment" }, "name": { "type": "string", "description": "Name of the tracking type (can be used to retrieve a tracking file) ; null if eventType is SHIPMENT_STATUS" }, "value": { "type": "string", "description": "For SHIPMENT_STATUS it is a numeric Shipment status ; for TRACKING_TEXT the value depends of the name (ex. registration number) ; for TRACKING_FILE this is the original file name" }, "serverTimestamp": { "type": "integer", "description": "Timestamp is long epoch millis. Date of the processing of the event on PODX / IHM server", "format": "int64" }, "eventDate": { "type": "integer", "description": "Timestamp is long epoch millis or null. Date of the event as given by an external provider.", "format": "int64" } }}

    Properties

    NameTypeRequiredRestrictionsDescription
    eventTypestringfalsenoneSHIPMENT_STATUS , TRACKING_TEXT , TRACKING_FILE
    shipmentIdinteger(int64)falsenoneId of the Shipment
    shipmentExternalIdstringfalsenoneExternal Id of the Shipment
    namestringfalsenoneName of the tracking type (can be used to retrieve a tracking file) ; null if eventType is SHIPMENT_STATUS
    valuestringfalsenoneFor SHIPMENT_STATUS it is a numeric Shipment status ; for TRACKING_TEXT the value depends of the name (ex. registration number) ; for TRACKING_FILE this is the original file name
    serverTimestampinteger(int64)falsenoneTimestamp is long epoch millis. Date of the processing of the event on PODX / IHM server
    eventDateinteger(int64)falsenoneTimestamp is long epoch millis or null. Date of the event as given by an external provider.