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
- API Key (ApiKeyAuth)
- Parameter Name: X-Auth-Token, in: header.
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| withProfileDetail | query | string | false | true or false to get the services |
| login | body | string | false | none |
| password | body | string | false | none |
Enumerated Values
| Parameter | Value |
|---|---|
| withProfileDetail | true |
| withProfileDetail | false |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | AuthenticateResponse | false | none | organizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin |
| »» authToken | string | false | none | none |
| »» authTokenExpirationDate | string | false | none | none |
| »» user | User | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» creationDate | integer(int64) | false | read-only | none |
| »»» profile | Profile | false | none | field can be null id super admin |
| »»»» id | integer(int64) | false | none | none |
| »»»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | login or displayable name |
| »»»» name | string | false | none | none |
| »»»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»»» permissionsOnOU | integer | false | none | 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) |
| »»» login | string | false | none | none |
| »»» password | string(password) | false | none | none |
| »»» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »»» allowAddresses | string | false | none | 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 | string | false | none | none |
| »»» firstName | string | false | none | none |
| »»» lastName | string | false | none | none |
| »»» emailAddress | string(email) | false | none | none |
| »»» phoneNumber | string | false | none | none |
| »»» mobileNumber | string | false | none | none |
| »»» locale | string | false | none | fr-FR |
| »»» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »»» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »»» enable | boolean | false | none | none |
| »»» accountExpired | boolean | false | none | none |
| »»» removed | boolean | false | none | none |
| »»» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» passwordExpireDays | integer | false | read-only | 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. |
| »»» creationLink | string | false | write-only | 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) |
| »» organizationalUnit | OrganizationalUnit | false | none | Note: parent parameter can be NULL if root OU |
| »»» id | integer(int64) | false | none | none |
| »»» creationdate | integer(int64) | false | read-only | none |
| »»» accountIdentifier | string | false | none | Only ASCII 0-9 A-Z a-z and -._~ |
| »»» name | string | false | none | none |
| »»» branding | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» parent | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» allowOUChildren | boolean | false | none | none |
| »»» freezeDelayDays | integer | false | none | none |
| »»» fileDelayDays | integer | false | none | none |
| »»» dataDelayDays | integer | false | none | none |
| »»» accountingCode | string | false | none | none |
| »»» productionCode | string | false | none | none |
| »»» partnerCode | string | false | none | none |
| »»» billingType | string | false | none | none |
| »»» defaultMailCountry | string | false | none | none |
| »»» minPasswordEntropy | integer(int32) | false | none | Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0 |
| »»» maxPasswordValidityDays | integer(int32) | false | none | Maximum number of days between password change by User ; only checked if > 0 |
| »»» properties | OrganizationalUnitProperties | false | none | none |
| »»»» emailAddress | string | false | none | none |
| »»»» senderAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»»» addressLines | string | false | none | none |
| »»»»» countryCode | string | false | none | none |
| »»»» returnAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»» siret | string | false | none | none |
| »»»» controlledValues | [ControlledValue] | false | none | [Can be used as ControlledValueMetadata in Service Metadata] |
| »»»»» name | string | false | none | none |
| »»»»» elements | [ElementValue] | false | none | none |
| »»»»»» value | string | false | none | Technical value (must NOT be empty) |
| »»»»»» label | string | false | none | User-friendly label (must NOT be null), can be equal to value |
| »»»»» allowFreeValue | boolean | false | none | If true, user can enter a metadat value outside the elements list |
| »»»» webHookURL | string | false | none | 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 | boolean | false | none | Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database) |
| »»» enabled | boolean | false | none | none |
| »»» accountExpired | boolean | false | none | none |
| »»» removed | boolean | false | none | none |
| »» services | [Service] | false | none | none |
| »»» id | integer | false | none | none |
| »»» type | string | false | none | none |
| »»» name | string | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» properties | ServiceProperties | false | none | none |
| »»»» description | string | false | none | none |
| »»»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» r | integer | false | none | none |
| »»»»» g | integer | false | none | none |
| »»»»» b | integer | false | none | none |
| »»»»» a | number(float) | false | none | none |
| »»»» iconName | string | false | none | none |
| »»»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»»» @type | string | true | none | none |
| »»»»»»»» name | string | true | none | none |
| »»»»»»»» label | string | false | none | none |
| »»»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»»» minElements | integer | true | none | none |
| »»»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»»» name | string | false | none | none |
| »»»»»»»»» persist | boolean | false | none | none |
| »»»»»»»»» editable | boolean | false | none | none |
| »»»»»»»»» content | Expression | false | none | none |
| »»»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»»» condition | any | true | none | none |
| »»»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»» value | string | true | none | none |
| »»»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»»» @type | string | true | none | none |
| »»»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»»» targetType | string | true | none | none |
| »»»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»»» background | boolean | true | none | none |
| »»»»»»»» editable | boolean | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» jobNameExpression | Expression | false | none | none |
| »»»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»»» packRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»»» content | Expression | false | none | none |
| »»»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»»» label | string | false | none | none |
| »»»»» shipmentRequirements | object | false | none | none |
| »»»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» outputFilesConfig | object | false | none | none |
| »»»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»»» id | integer(int64) | false | none | none |
| »»»»»»»» rank | integer | false | none | none |
| »»»»»»»» default | boolean | false | none | none |
| »»»»»»» composition | object | false | none | none |
| »»»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»»» margins | object | false | none | none |
| »»»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»»» name | string | false | none | none |
| »»»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»»» name | string | false | none | none |
| »»»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»»» additionalCondition | any | false | none | none |
| »»»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »»» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»»» id | string | false | none | none |
| »»»» originalFileName | string | false | none | none |
| »»»» fileSize | integer(int64) | false | none | none |
| »»»» storedDate | integer(int64) | false | none | none |
| »»» removed | boolean | false | none | none |
| »»» allowJobCreation | boolean | false | none | none |
| »»» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »»» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | AuthenticateResponse | false | none | organizationalUnit an services are optional fields (only returned if 'withProfileDetail' is true) ; organizationalUnit is never returned for Super-Admin |
| »» authToken | string | false | none | none |
| »» authTokenExpirationDate | string | false | none | none |
| »» user | User | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» creationDate | integer(int64) | false | read-only | none |
| »»» profile | Profile | false | none | field can be null id super admin |
| »»»» id | integer(int64) | false | none | none |
| »»»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | login or displayable name |
| »»»» name | string | false | none | none |
| »»»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»»» permissionsOnOU | integer | false | none | 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) |
| »»» login | string | false | none | none |
| »»» password | string(password) | false | none | none |
| »»» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »»» allowAddresses | string | false | none | 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 | string | false | none | none |
| »»» firstName | string | false | none | none |
| »»» lastName | string | false | none | none |
| »»» emailAddress | string(email) | false | none | none |
| »»» phoneNumber | string | false | none | none |
| »»» mobileNumber | string | false | none | none |
| »»» locale | string | false | none | fr-FR |
| »»» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »»» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »»» enable | boolean | false | none | none |
| »»» accountExpired | boolean | false | none | none |
| »»» removed | boolean | false | none | none |
| »»» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» passwordExpireDays | integer | false | read-only | 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. |
| »»» creationLink | string | false | write-only | 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) |
| »» organizationalUnit | OrganizationalUnit | false | none | Note: parent parameter can be NULL if root OU |
| »»» id | integer(int64) | false | none | none |
| »»» creationdate | integer(int64) | false | read-only | none |
| »»» accountIdentifier | string | false | none | Only ASCII 0-9 A-Z a-z and -._~ |
| »»» name | string | false | none | none |
| »»» branding | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» parent | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» allowOUChildren | boolean | false | none | none |
| »»» freezeDelayDays | integer | false | none | none |
| »»» fileDelayDays | integer | false | none | none |
| »»» dataDelayDays | integer | false | none | none |
| »»» accountingCode | string | false | none | none |
| »»» productionCode | string | false | none | none |
| »»» partnerCode | string | false | none | none |
| »»» billingType | string | false | none | none |
| »»» defaultMailCountry | string | false | none | none |
| »»» minPasswordEntropy | integer(int32) | false | none | Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0 |
| »»» maxPasswordValidityDays | integer(int32) | false | none | Maximum number of days between password change by User ; only checked if > 0 |
| »»» properties | OrganizationalUnitProperties | false | none | none |
| »»»» emailAddress | string | false | none | none |
| »»»» senderAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»»» addressLines | string | false | none | none |
| »»»»» countryCode | string | false | none | none |
| »»»» returnAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»» siret | string | false | none | none |
| »»»» controlledValues | [ControlledValue] | false | none | [Can be used as ControlledValueMetadata in Service Metadata] |
| »»»»» name | string | false | none | none |
| »»»»» elements | [ElementValue] | false | none | none |
| »»»»»» value | string | false | none | Technical value (must NOT be empty) |
| »»»»»» label | string | false | none | User-friendly label (must NOT be null), can be equal to value |
| »»»»» allowFreeValue | boolean | false | none | If true, user can enter a metadat value outside the elements list |
| »»»» webHookURL | string | false | none | 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 | boolean | false | none | Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database) |
| »»» enabled | boolean | false | none | none |
| »»» accountExpired | boolean | false | none | none |
| »»» removed | boolean | false | none | none |
| »» services | [Service] | false | none | none |
| »»» id | integer | false | none | none |
| »»» type | string | false | none | none |
| »»» name | string | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» properties | ServiceProperties | false | none | none |
| »»»» description | string | false | none | none |
| »»»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» r | integer | false | none | none |
| »»»»» g | integer | false | none | none |
| »»»»» b | integer | false | none | none |
| »»»»» a | number(float) | false | none | none |
| »»»» iconName | string | false | none | none |
| »»»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»»» @type | string | true | none | none |
| »»»»»»»» name | string | true | none | none |
| »»»»»»»» label | string | false | none | none |
| »»»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»»» minElements | integer | true | none | none |
| »»»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | object | false | none | none |
| »»»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»»» name | string | false | none | none |
| »»»»»»»»» persist | boolean | false | none | none |
| »»»»»»»»» editable | boolean | false | none | none |
| »»»»»»»»» content | Expression | false | none | none |
| »»»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»»» condition | any | true | none | none |
| »»»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»» value | string | true | none | none |
| »»»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»»» @type | string | true | none | none |
| »»»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»»» targetType | string | true | none | none |
| »»»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»»» background | boolean | true | none | none |
| »»»»»»»» editable | boolean | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» jobNameExpression | Expression | false | none | none |
| »»»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»»» packRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»»» content | Expression | false | none | none |
| »»»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»»» label | string | false | none | none |
| »»»»» shipmentRequirements | object | false | none | none |
| »»»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» outputFilesConfig | object | false | none | none |
| »»»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»»» id | integer(int64) | false | none | none |
| »»»»»»»» rank | integer | false | none | none |
| »»»»»»»» default | boolean | false | none | none |
| »»»»»»» composition | object | false | none | none |
| »»»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»»» margins | object | false | none | none |
| »»»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»»» name | string | false | none | none |
| »»»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»»» name | string | false | none | none |
| »»»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»»» additionalCondition | any | false | none | none |
| »»»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »»» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»»» id | string | false | none | none |
| »»»» originalFileName | string | false | none | none |
| »»»» fileSize | integer(int64) | false | none | none |
| »»»» storedDate | integer(int64) | false | none | none |
| »»» removed | boolean | false | none | none |
| »»» allowJobCreation | boolean | false | none | none |
| »»» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »»» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| userEMailAddress | body | string | false | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | 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 |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| userLogin | body | string | false | none |
| lostPasswordToken | body | string | false | Given by e-mail sent by triggerLostPassword operation |
| newPassword | body | string | false | new 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | Or "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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| password | body | string | false | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» score | integer | false | none | Zxcvbn score (0 risky password ; 4 very strong password) |
| »» entropyBits | number(double) | false | none | Number 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| applicationURL | query | string | false | Informations 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Branding | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | none |
| »» applicationName | string | false | none | Displayed commercial name of the application |
| »» virtualHost | string | false | none | virtual.host.name:port ; cannot be null |
| »» properties | object | false | none | Opaque JSON node containing css or other Front-end data for this Branding |
| »» backgroundImageURL | string | false | none | none |
| »» logoImageURL | string | false | none | none |
| »» authenticationRealm | string | false | none | Should 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [OptionType] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | none |
| »» recomputeTrigger | boolean | false | none | Modifying 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | OptionType | true | OptionType 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | OptionType | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | none |
| »» recomputeTrigger | boolean | false | none | Modifying 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| optionTypeId | path | integer(int64) | true | Id of the OptionType to delete |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | Map of type.id -> array of Options |
| »» additionalProperties | [Option] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» optionType | OptionType | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | none |
| »»»» recomputeTrigger | boolean | false | none | Modifying this OptionType must recompute Options with selectable condition |
| »»» value | string | false | none | none |
| »»» rank | integer | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»» default | boolean | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»» properties | OptionProperties | false | none | none |
| »»»» selectableCondition | object | false | none | BooleanExpression 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Option | true | Option 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Option | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» optionType | OptionType | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | none |
| »»» recomputeTrigger | boolean | false | none | Modifying this OptionType must recompute Options with selectable condition |
| »» value | string | false | none | none |
| »» rank | integer | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »» default | boolean | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »» properties | OptionProperties | false | none | none |
| »»» selectableCondition | object | false | none | BooleanExpression 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| optionId | path | integer(int64) | true | Option id to delete |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryId | path | integer(int64) | true | Delivery 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Delivery | false | none | 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 |
| »» id | integer(int64) | false | none | none |
| »» nuid | string | false | none | none |
| »» externalId | string | false | none | none |
| »» name | string | false | none | none |
| »» creationDate | integer(int64) | false | none | none |
| »» postDate | integer(int64) | false | none | none |
| »» state | string | false | none | DeliveryState enum |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» deliveryCommandId | integer(int64) | false | none | none |
| »» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »» fallbackFromDelivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» serviceChannelLabel | string | false | none | none |
| »» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» shipments | [Shipment] | false | none | optional |
| »»» id | integer(int64) | false | none | none |
| »»» externalId | string | false | none | none |
| »»» status | integer | false | none | none |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»» message | string | false | none | Optional user provided info |
| »»» packGroupId | integer(int64) | false | none | none |
| »»» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryExternalId | string | false | none | none |
| »»» deliveryCreationDate | integer(int64) | false | none | none |
| »»» deliveryPostDate | integer(int64) | false | none | none |
| »»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» metadatas | [Metadata] | false | none | none |
| »»»» name | string | false | none | none |
| »»»» metadataKind | string | false | none | none |
| »»»» metadataType | string | false | none | none |
| »»»» value | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »»» outputFiles | [OutputFile] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» nuid | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»» fileSize | integer(int64) | false | none | none |
| »»»» pageCount | integer | false | none | none |
| »»»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»»» outputFileOptionIds | [integer] | false | none | none |
| »» shipmentCount | integer | false | none | Number of shipments computed even if shipments are not fetched |
| »» lateShipmentCount | integer | false | none | Number of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | query | integer(int64) | false | Id of the Job |
| deliveryCommandId | query | integer(int64) | false | Id of the DeliveryCommand |
| externalId | query | string | false | Delivery 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Delivery] | false | none | [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] |
| »» id | integer(int64) | false | none | none |
| »» nuid | string | false | none | none |
| »» externalId | string | false | none | none |
| »» name | string | false | none | none |
| »» creationDate | integer(int64) | false | none | none |
| »» postDate | integer(int64) | false | none | none |
| »» state | string | false | none | DeliveryState enum |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» deliveryCommandId | integer(int64) | false | none | none |
| »» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »» fallbackFromDelivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» serviceChannelLabel | string | false | none | none |
| »» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» shipments | [Shipment] | false | none | optional |
| »»» id | integer(int64) | false | none | none |
| »»» externalId | string | false | none | none |
| »»» status | integer | false | none | none |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»» message | string | false | none | Optional user provided info |
| »»» packGroupId | integer(int64) | false | none | none |
| »»» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryExternalId | string | false | none | none |
| »»» deliveryCreationDate | integer(int64) | false | none | none |
| »»» deliveryPostDate | integer(int64) | false | none | none |
| »»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» metadatas | [Metadata] | false | none | none |
| »»»» name | string | false | none | none |
| »»»» metadataKind | string | false | none | none |
| »»»» metadataType | string | false | none | none |
| »»»» value | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »»» outputFiles | [OutputFile] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» nuid | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»» fileSize | integer(int64) | false | none | none |
| »»»» pageCount | integer | false | none | none |
| »»»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»»» outputFileOptionIds | [integer] | false | none | none |
| »» shipmentCount | integer | false | none | Number of shipments computed even if shipments are not fetched |
| »» lateShipmentCount | integer | false | none | Number of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | DeliveryCreation | true | Array (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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Map of Options per PackGroup Ids | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | CheckOptionsResult | false | none | none |
| »» selectableOptions | SelectableOptions | false | none | Map of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id |
| »»» additionalProperties | object | false | none | none |
| »»»» additionalProperties | object | false | none | none |
| »»»»» additionalProperties | object | false | none | none |
| »»»»»» additionalProperties | [integer] | false | none | List (Set) of Option ids |
| »» compositionErrors | CompositionErrors | false | none | Map of PackGroup Id -> array of ServiceChannel.label |
| »»» additionalProperties | [string] | false | none | none |
| »» postDatePerServiceChannelLabels | PostDatePerServiceChannelLabels | false | none | Map of ServiceChannel.label -> post date (UTC epoch milli) |
| »»» additionalProperties | integer(int64) | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | DeliveryCreation | true | Array (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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | return of computeProof() operation ; tempFile is the concatenated pdf file of Proof elements temporarily stored in logged user Session |
| »» tempFile | TempFile | false | none | none |
| »»» fileId | string | false | none | none |
| »»» originFileName | string | false | none | none |
| »»» storedDate | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» pageCount | integer | false | none | none |
| »» proofElements | [ProofElement] | false | none | [a Proof element is defined for each OutputFile (PackGroup, ServiceFile, OutputFileDefinition) tuple] |
| »»» packGroupId | integer(int64) | false | none | Id of PackGroup |
| »»» serviceChannelLabel | string | false | none | label of ServiceChannel |
| »»» outputFileDefinitionName | integer(int64) | false | none | Name of OutputFileDefinition of Channel |
| »»» mainOutputFile | boolean | false | none | If true, this Proof element is the MAIN OutputFile of the virtual Shipment |
| »»» startIndex | string | false | none | Start 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | query | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [DeliveryCommand] | false | none | [meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.] |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | none | none |
| »» expectedPostDate | integer(int64) | false | none | Can be null if ASAP |
| »» state | string | false | none | DeliveryState enum (same as Delivery entity) |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» validationReason | string | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» jobFrozen | boolean | false | none | true if parent Job is "frozen" |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» displayBilling | boolean | false | none | Optional property |
| »» properties | DeliveryCommandProperties | false | none | none |
| »»» jobId | integer(int64) | false | none | 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 |
| »»» packGroupIds | [integer] | false | none | none |
| »»» givenServiceChannelOptions | object | false | none | Map of ServiceChannel.label -> OutputFile.name -> array of Option Id |
| »»»» additionalProperties | object | false | none | none |
| »»»»» additionalProperties | [integer] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | DeliveryCreation | true | Array (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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | DeliveryCommand | false | none | meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job. |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | none | none |
| »» expectedPostDate | integer(int64) | false | none | Can be null if ASAP |
| »» state | string | false | none | DeliveryState enum (same as Delivery entity) |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» validationReason | string | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» jobFrozen | boolean | false | none | true if parent Job is "frozen" |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» displayBilling | boolean | false | none | Optional property |
| »» properties | DeliveryCommandProperties | false | none | none |
| »»» jobId | integer(int64) | false | none | 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 |
| »»» packGroupIds | [integer] | false | none | none |
| »»» givenServiceChannelOptions | object | false | none | Map of ServiceChannel.label -> OutputFile.name -> array of Option Id |
| »»»» additionalProperties | object | false | none | none |
| »»»»» additionalProperties | [integer] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | Id of target Owner/User of Jobs |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To date (yyyy-mm-dd) |
| maxResults | query | integer | false | Limit 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [DeliveryCommand] | false | none | [meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.] |
| »»» id | integer(int64) | false | none | none |
| »»» creationDate | integer(int64) | false | none | none |
| »»» expectedPostDate | integer(int64) | false | none | Can be null if ASAP |
| »»» state | string | false | none | DeliveryState enum (same as Delivery entity) |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» validationReason | string | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» jobFrozen | boolean | false | none | true if parent Job is "frozen" |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» displayBilling | boolean | false | none | Optional property |
| »»» properties | DeliveryCommandProperties | false | none | none |
| »»»» jobId | integer(int64) | false | none | 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 |
| »»»» packGroupIds | [integer] | false | none | none |
| »»»» givenServiceChannelOptions | object | false | none | Map of ServiceChannel.label -> OutputFile.name -> array of Option Id |
| »»»»» additionalProperties | object | false | none | none |
| »»»»»» additionalProperties | [integer] | false | none | none |
| »» maxResult | boolean | false | none | true 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryCommandId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [DeliveryCommand] | false | none | [meta DeliveryCommand entity. owner and ownerOrganizationalUnit DTO are only fetched if not queried by Job.] |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | none | none |
| »» expectedPostDate | integer(int64) | false | none | Can be null if ASAP |
| »» state | string | false | none | DeliveryState enum (same as Delivery entity) |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» validationReason | string | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» jobFrozen | boolean | false | none | true if parent Job is "frozen" |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» displayBilling | boolean | false | none | Optional property |
| »» properties | DeliveryCommandProperties | false | none | none |
| »»» jobId | integer(int64) | false | none | 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 |
| »»» packGroupIds | [integer] | false | none | none |
| »»» givenServiceChannelOptions | object | false | none | Map of ServiceChannel.label -> OutputFile.name -> array of Option Id |
| »»»» additionalProperties | object | false | none | none |
| »»»»» additionalProperties | [integer] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryCommandId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
| »»» revision | integer(int64) | true | none | Revision Primary Key (global for all entities) |
| »»» timestamp | integer(int64) | true | none | Epoch millis |
| »»» clientAddress | string | false | none | IP address of front-end client if any |
| »»» loggedUserId | integer(int64) | false | none | none |
| »»» loggedUserLogin | string | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» id | integer(int64) | false | none | DeliveryCommand Id |
| »»» state | string | false | none | DeliveryState |
| »»» freed | boolean | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryCommandId | path | integer(int64) | true | Id of the DeliveryCommand |
| body | body | DeliveryCommandValidation | false | Optional validationReason |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryCommandId | path | integer(int64) | true | Id of the DeliveryCommand |
| body | body | DeliveryCommandValidation | false | Optional reject Reason |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryCommandId | path | integer(int64) | true | Id of the DeliveryCommand |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryCommandId | path | integer(int64) | true | Id of the DeliveryCommand |
| body | body | DeliveryCommandValidation | false | Optional cancel Reason |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
| »»» revision | integer(int64) | true | none | Revision Primary Key (global for all entities) |
| »»» timestamp | integer(int64) | true | none | Epoch millis |
| »»» clientAddress | string | false | none | IP address of front-end client if any |
| »»» loggedUserId | integer(int64) | false | none | none |
| »»» loggedUserLogin | string | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» id | integer(int64) | false | none | Delivery Id |
| »»» state | string | false | none | DeliveryState |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| deliveryId | path | integer(int64) | true | Id of the Delivery to export |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | Id of target Owner/User of Jobs |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To date (yyyy-mm-dd) |
| maxResults | query | integer | false | Limit 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [Delivery] | false | none | [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] |
| »»» id | integer(int64) | false | none | none |
| »»» nuid | string | false | none | none |
| »»» externalId | string | false | none | none |
| »»» name | string | false | none | none |
| »»» creationDate | integer(int64) | false | none | none |
| »»» postDate | integer(int64) | false | none | none |
| »»» state | string | false | none | DeliveryState enum |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryCommandId | integer(int64) | false | none | none |
| »»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»» fallbackFromDelivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» serviceChannelLabel | string | false | none | none |
| »»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» shipments | [Shipment] | false | none | optional |
| »»»» id | integer(int64) | false | none | none |
| »»»» externalId | string | false | none | none |
| »»»» status | integer | false | none | none |
| »»»» lastModifiedState | integer(int64) | false | none | none |
| »»»» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »»»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»»» message | string | false | none | Optional user provided info |
| »»»» packGroupId | integer(int64) | false | none | none |
| »»»» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» deliveryExternalId | string | false | none | none |
| »»»» deliveryCreationDate | integer(int64) | false | none | none |
| »»»» deliveryPostDate | integer(int64) | false | none | none |
| »»»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» metadatas | [Metadata] | false | none | none |
| »»»»» name | string | false | none | none |
| »»»»» metadataKind | string | false | none | none |
| »»»»» metadataType | string | false | none | none |
| »»»»» value | string | false | none | none |
| »»»»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»»»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»»»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »»»» outputFiles | [OutputFile] | false | none | none |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» nuid | string | false | none | none |
| »»»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»»» fileSize | integer(int64) | false | none | none |
| »»»»» pageCount | integer | false | none | none |
| »»»»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»»»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»»»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»»»» outputFileOptionIds | [integer] | false | none | none |
| »»» shipmentCount | integer | false | none | Number of shipments computed even if shipments are not fetched |
| »»» lateShipmentCount | integer | false | none | Number of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation |
| »» maxResult | boolean | false | none | true if array may be truncated |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | Id of target Owner/User of Jobs |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | DeliveryCounters | false | none | none |
| »» deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer(int64) | false | none | none |
| »» deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer(int64) | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| latePostDate | query | string | false | From date (yyyy-mm-dd) ; default is today @ T00:00:00 UTC |
| lateStatus | query | integer | false | Check Shipment.status < lateStatus ; must be > 0 ; default is 600 (Posted) |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "integer" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | integer | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| latePostDate | query | string | false | From date (yyyy-mm-dd) ; default is today @ T00:00:00 UTC |
| lateStatus | query | integer | false | Check 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [Delivery] | false | none | [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] |
| »»» id | integer(int64) | false | none | none |
| »»» nuid | string | false | none | none |
| »»» externalId | string | false | none | none |
| »»» name | string | false | none | none |
| »»» creationDate | integer(int64) | false | none | none |
| »»» postDate | integer(int64) | false | none | none |
| »»» state | string | false | none | DeliveryState enum |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryCommandId | integer(int64) | false | none | none |
| »»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»» fallbackFromDelivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» serviceChannelLabel | string | false | none | none |
| »»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» shipments | [Shipment] | false | none | optional |
| »»»» id | integer(int64) | false | none | none |
| »»»» externalId | string | false | none | none |
| »»»» status | integer | false | none | none |
| »»»» lastModifiedState | integer(int64) | false | none | none |
| »»»» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »»»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»»» message | string | false | none | Optional user provided info |
| »»»» packGroupId | integer(int64) | false | none | none |
| »»»» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» deliveryExternalId | string | false | none | none |
| »»»» deliveryCreationDate | integer(int64) | false | none | none |
| »»»» deliveryPostDate | integer(int64) | false | none | none |
| »»»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» metadatas | [Metadata] | false | none | none |
| »»»»» name | string | false | none | none |
| »»»»» metadataKind | string | false | none | none |
| »»»»» metadataType | string | false | none | none |
| »»»»» value | string | false | none | none |
| »»»»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»»»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»»»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »»»» outputFiles | [OutputFile] | false | none | none |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» nuid | string | false | none | none |
| »»»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»»» fileSize | integer(int64) | false | none | none |
| »»»»» pageCount | integer | false | none | none |
| »»»»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»»»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»»»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»»»» outputFileOptionIds | [integer] | false | none | none |
| »»» shipmentCount | integer | false | none | Number of shipments computed even if shipments are not fetched |
| »»» lateShipmentCount | integer | false | none | Number of "late" Shipments in this Delivery only present when calling getDeliveriesWithLateShipments() "/deliveries/late" operation |
| »» maxResult | boolean | false | none | true if array may be truncated |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| packGroupId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
| »»» revision | integer(int64) | true | none | Revision Primary Key (global for all entities) |
| »»» timestamp | integer(int64) | true | none | Epoch millis |
| »»» clientAddress | string | false | none | IP address of front-end client if any |
| »»» loggedUserId | integer(int64) | false | none | none |
| »»» loggedUserLogin | string | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» id | integer(int64) | false | none | PackGroup Id |
| »»» state | string | false | none | PackGroupState |
| »»» additionalEvent | string | false | none | Possible 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | PackGroupIdsParameter | false | none |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "integer", "description": "Ids of rejected PackGroups", "format": "int64" } } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call trigger | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [integer] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| packGroupId | path | integer(int64) | true | Id of PackGroup to edit (edit Requirements of the "first" Pack of given PackGroup) |
| body | body | PackRequirementsDTO | false | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | PackGroup | false | none | fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR |
| »» id | integer(int64) | false | none | none |
| »» state | PackGroupState | false | none | none |
| »» fallbackState | PackGroupState | false | none | none |
| »» packs | [Pack] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» chunks | [Chunk] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» startIndex | integer | false | none | none |
| »»»» pageCount | integer | false | none | none |
| »»»» properties | object | false | none | none |
| »»»»» metadataValues | object | false | none | Map of extracted Metadata for orphan Chunk (including transient Metadata) |
| »»»» inputFile | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | login or displayable name |
| »»» properties | PackProperties | false | none | none |
| »»»» metadataValues | object | false | none | Map of peristed Metadata for this Pack |
| »»»» rawPackRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementValue | false | none | none |
| »»»»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»»»» value | string | false | none | none |
| »»»»»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»»»»» properties | object | false | none | 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 |
| »»»»»»» additionalProperties | object | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» value | string | false | none | none |
| »»»» eligibility | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelEligibility | false | none | none |
| »»»»»» rawShipmentRequirements | object | false | none | none |
| »»»»»»» additionalProperties | RequirementValue | false | none | none |
| »»»»»» validatedShipmentRequirements | object | false | none | none |
| »»»»»»» additionalProperties | ValidatedRequirementValue | false | none | none |
| »»»»»»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»»»»»» value | string | false | none | String value of the element |
| »»»»»»»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»»»»»»» properties | object | false | none | Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...) |
| »»»»»»»»» additionalProperties | object | false | none | none |
| »»»»»»»»»» persist | boolean | false | none | none |
| »»»»»»»»»» value | string | false | none | none |
| »»»»»»»» status | integer | false | none | status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES) |
| »»»»»»»» valid | boolean | false | none | valid if (status == 0) |
| »»»»»»»» errorMessage | string | false | none | Optional |
| »»»»»» eligibile | boolean | false | none | none |
| »»»»»» errorMessage | string | false | none | Optional error message about this ServiceChannel non-eligibility |
| »»»» eligibleSendingStrategyGroups | [string] | false | none | If not null, list of eligible StrategyGroup names |
| »»»» falseSendingStrategyGroups | [string] | false | none | If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match |
Enumerated Values
| Property | Value |
|---|---|
| state | CREATED |
| state | REJECTED |
| state | SHIPMENT_IN_CREATION |
| state | SHIPMENT_ASSOCIATED |
| state | SHIPMENT_CREATION_ERROR |
| state | NOT_ELIGIBLE |
| fallbackState | CREATED |
| fallbackState | REJECTED |
| fallbackState | SHIPMENT_IN_CREATION |
| fallbackState | SHIPMENT_ASSOCIATED |
| fallbackState | SHIPMENT_CREATION_ERROR |
| fallbackState | NOT_ELIGIBLE |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| status | 0 |
| status | 100 |
| status | 150 |
| status | 200 |
| status | 300 |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| packGroupIds | query | string | true | Ids 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [string] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| packGroupId | path | integer(int64) | true | Id of PackGroup to retrieve |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | octet-stream of requested Pdf file | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | query | integer(int64) | true | ouId 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Group] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» organizationalUnitId | integer(int64) | false | none | none |
| »» name | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Group | true | Option 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Group | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» organizationalUnitId | integer(int64) | false | none | none |
| »» name | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| groupId | path | integer(int64) | true | Id of Group to delete |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "description": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | SUCCESS |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOwnerId | query | integer(int64) | false | Id of target Owner/User of Jobs |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [JobResult] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | none |
| »» submittedDate | string | false | none | none |
| »» autoCreateDeliveryCommand | boolean | false | none | if true, try to create DeliveryCommand if all Job PackGroups are eligible |
| »» validatedJobMetadatas | object | false | none | Validated Job / Service Metadata |
| »»» additionalProperties | string | false | none | none |
| »» orphanChunkIds | [integer] | false | none | none |
| »» state | string | false | none | none |
| »» invalidated | boolean | false | none | none |
| »» frozen | boolean | false | none | none |
| »» errorMessage | string | false | none | none |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» displayBilling | boolean | false | none | none |
| »» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» thumbnailPurged | boolean | false | none | If true, the thumbnail of the Job has been purged (invalid storage reference) |
| »» inputFiles | [InputFile] | false | none | [inputFile object, storedDate is epoch millis] |
| »»» id | integer(int64) | false | none | none |
| »»» fileRelativePathname | string | false | none | Only valid if file comes from a BoxArchive (Zip) |
| »»» originFileName | string | false | none | none |
| »»» boxName | string | false | none | none |
| »»» boxType | string | false | none | none |
| »»» appositionId | string | false | none | Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object |
| »»» indexInBox | integer | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»» filesize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» packGroupCountPerStates | object | false | none | Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer |
| »»» additionalProperties | integer | false | none | none |
| »» packGroupCountPerFallbackStates | object | false | none | Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback |
| »»» additionalProperties | integer | false | none | none |
| »» deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer | false | none | none |
| »» deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| boxType | |
| boxType | DATA_FILE |
| boxType | ARCHIVE |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| parameters | body | JobCreationParameter | false | none |
| » jobName | body | string | false | User-specified Job.name (if not given, will use MAIN file name) |
| » targetOwnerId | body | integer(int64) | false | Optional ; allow to create a Job on behalf of a target Owner different from current logged User |
| » serviceId | body | integer(int64) | false | none |
| » splitConfiguration | body | object | false | none |
| »» additionalProperties | body | any | false | none |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | BoxSplitConfigurationBasic | false | none |
| »»»»» editable | body | boolean | true | none |
| »»»»» @type | body | string | true | none |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | BoxSplitConfigurationBasic | false | none |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» pages | body | integer | true | none |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | BoxSplitConfigurationBasic | false | none |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» area | body | ZoneArea | true | ZoneArea object |
| »»»»»» left | body | number(float) | false | none |
| »»»»»» top | body | number(float) | false | none |
| »»»»»» width | body | number(float) | false | none |
| »»»»»» height | body | number(float) | false | none |
| »»»»» value | body | string | true | none |
| »»»»» pages | body | integer | true | none |
| »»»»» extractionParameters | body | ExtractionParameters | false | Parameters for the extraction. Depends on the library used. |
| »»»»»» additionalProperties | body | string | false | none |
| » packRequirements | body | object | false | Map ("Pack" scope) {requirementName -> Expression} |
| »» additionalProperties | body | Expression | false | none |
| »»» anonymous | body | ExpressionConstant | false | Pre-defined text value |
| »»»» @type | body | string | false | none |
| »»»» value | body | string | false | none |
| »»» anonymous | body | ExpressionReference | false | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»» @type | body | string | false | none |
| »»»» namespace | body | ReferenceNamespace | false | namespaces allowed, depending on context : |
| »»»» identifier | body | string | false | Identifier of the element |
| »»» anonymous | body | any | false | Part of the name of the underlying file of the box |
| »»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»»» @type | body | string | false | none |
| »»»»» fromMain | body | boolean | false | If true, the target box is a MAIN box |
| »»»»» boxName | body | string | false | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» begin | body | integer | false | none |
| »»»»» end | body | integer | false | none |
| »»» anonymous | body | any | false | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
| »»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» page | body | integer | false | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»» area | body | ZoneArea | false | ZoneArea object |
| »»»»» extractionParameters | body | ExtractionParameters | false | Parameters for the extraction. Depends on the library used. |
| »»» anonymous | body | any | false | PDF metadata value from the underlying PDF file of the box |
| »»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» metadataName | body | string | false | Name of the PDF metadata to extract |
| »»» anonymous | body | ExpressionConcat | false | Concat: concatenates all Expressions given in argument |
| »»»» @type | body | string | false | none |
| »»»» operands | body | [oneOf] | false | none |
| »»» anonymous | body | ExpressionCoalesce | false | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»» @type | body | string | false | none |
| »»»» operands | body | [oneOf] | false | none |
| »»» anonymous | body | ExpressionStrClean | false | Cleans a string |
| »»»» @type | body | string | false | none |
| »»»» expr | body | Expression | false | none |
| »»»» normalizeSpace | body | boolean | false | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»» removeDiacritics | body | boolean | false | Replaces the accentuated letters with their un-accentuated version |
| »»»» multiline | body | boolean | false | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»» trim | body | boolean | false | Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string. |
| »»» anonymous | body | ExpressionStrNormalizeCase | false | Normalizes the case of the String |
| »»»» @type | body | string | false | none |
| »»»» expr | body | Expression | false | none |
| »»»» toUpper | body | boolean | false | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
| »»» anonymous | body | ExpressionStrReplace | false | Normalizes the case of the String |
| »»»» @type | body | string | false | none |
| »»»» expr | body | Expression | false | none |
| »»»» regExpPattern | body | string | false | valid Regular Expression that the input string should match |
| »»»» replacement | body | string | false | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»» firstOnly | body | boolean | false | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
| »»» anonymous | body | any | false | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
| »»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»» anonymous | body | ExpressionNumSheets | false | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»» @type | body | string | false | none |
| »»» anonymous | body | ExpressionSubstring | false | Extract a portion of the string |
| »»»» @type | body | string | false | none |
| »»»» expr | body | Expression | false | none |
| »»»» beginIndex | body | integer | false | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»» endIndex | body | integer | false | Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1. |
| »»» anonymous | body | CurrentDate | false | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»» @type | body | string | false | none |
| »»» anonymous | body | DateParse | false | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»» @type | body | string | false | none |
| »»»» expr | body | Expression | true | none |
| »»»» pattern | body | string | true | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»» timeZone | body | string | true | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»» locale | body | string | false | Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used) |
| »»» anonymous | body | DateFormat | false | Format a date (given as long epoch milli) into a human readable string |
| »»»» @type | body | string | false | none |
| »»»» expr | body | Expression | true | none |
| »»»» pattern | body | string | true | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»» timeZone | body | string | true | TimeZone used to format the date. |
| »»»» locale | body | string | false | Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used) |
| »»» anonymous | body | JobFileNameValue | false | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»» @type | body | string | false | none |
| »»»» boxName | body | string | false | Name of the Box (must exist in the Service) |
| »»»» indexInBox | body | integer | false | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»» keepExtension | body | boolean | false | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
| »»» anonymous | body | any | false | none |
| » shipmentRequirements | body | object | false | Map ("Shipment" scope) {serviceChannelLabel -> requirementName -> Expression} |
| »» additionalProperties | body | object | false | none |
| »»» additionalProperties | body | Expression | false | none |
| » rawJobMetadatas | body | object | false | Service / Job Metadata (constant String values) |
| »» additionalProperties | body | string | false | none |
| » autoCreateDeliveryCommand | body | boolean | false | if true, try to create DeliveryCommand if all Job PackGroups are eligible |
| file__file_MAIN_0 | body | string(binary) | false | Name of the part is file____. |
| file__file_ACH_0 | body | string(binary) | false | none |
| session__file_MAIN_0 | body | string(string) | false | 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____. |
Detailed descriptions
»»»» namespace: 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
Enumerated Values
| Parameter | Value |
|---|---|
| »»»»» @type | bsc.NONE |
| »»»»» @type | bsc.PAGE |
| »»»»» @type | bsc.PDF_AREA |
| »»»» @type | exv.Value |
| »»»» @type | exv.Reference |
| »»»» namespace | METADATA |
| »»»» namespace | REQUIREMENT |
| »»»» namespace | ORGANIZATIONAL_UNIT |
| »»»» namespace | OUTPUT_FILE |
| »»»»» @type | exv.FileName |
| »»»»» @type | exv.PdfText |
| »»»»» @type | exv.PdfMetadata |
| »»»» @type | exv.Concat |
| »»»» @type | exv.Coalesce |
| »»»» @type | exv.StrClean |
| »»»» @type | exv.StrNormalizeCase |
| »»»» @type | exv.StrReplace |
| »»»»» @type | exv.PositionInBox |
| »»»» @type | exv.NumSheetsValue |
| »»»» @type | exv.Substring |
| »»»» @type | exv.CurrentDate |
| »»»» @type | exv.DateParse |
| »»»» @type | exv.DateFormat |
| »»»» @type | exv.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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | JobResult | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | none |
| »» submittedDate | string | false | none | none |
| »» autoCreateDeliveryCommand | boolean | false | none | if true, try to create DeliveryCommand if all Job PackGroups are eligible |
| »» validatedJobMetadatas | object | false | none | Validated Job / Service Metadata |
| »»» additionalProperties | string | false | none | none |
| »» orphanChunkIds | [integer] | false | none | none |
| »» state | string | false | none | none |
| »» invalidated | boolean | false | none | none |
| »» frozen | boolean | false | none | none |
| »» errorMessage | string | false | none | none |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» displayBilling | boolean | false | none | none |
| »» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» thumbnailPurged | boolean | false | none | If true, the thumbnail of the Job has been purged (invalid storage reference) |
| »» inputFiles | [InputFile] | false | none | [inputFile object, storedDate is epoch millis] |
| »»» id | integer(int64) | false | none | none |
| »»» fileRelativePathname | string | false | none | Only valid if file comes from a BoxArchive (Zip) |
| »»» originFileName | string | false | none | none |
| »»» boxName | string | false | none | none |
| »»» boxType | string | false | none | none |
| »»» appositionId | string | false | none | Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object |
| »»» indexInBox | integer | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»» filesize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» packGroupCountPerStates | object | false | none | Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer |
| »»» additionalProperties | integer | false | none | none |
| »» packGroupCountPerFallbackStates | object | false | none | Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback |
| »»» additionalProperties | integer | false | none | none |
| »» deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer | false | none | none |
| »» deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| boxType | |
| boxType | DATA_FILE |
| boxType | ARCHIVE |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | Id of target Owner/User of Jobs |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To date (yyyy-mm-dd) |
| maxResults | query | integer | false | Limit the count of latest returned entities (default is BackEnd maximum) |
| pending | query | boolean | false | If 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [JobResult] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | none |
| »»» submittedDate | string | false | none | none |
| »»» autoCreateDeliveryCommand | boolean | false | none | if true, try to create DeliveryCommand if all Job PackGroups are eligible |
| »»» validatedJobMetadatas | object | false | none | Validated Job / Service Metadata |
| »»»» additionalProperties | string | false | none | none |
| »»» orphanChunkIds | [integer] | false | none | none |
| »»» state | string | false | none | none |
| »»» invalidated | boolean | false | none | none |
| »»» frozen | boolean | false | none | none |
| »»» errorMessage | string | false | none | none |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» displayBilling | boolean | false | none | none |
| »»» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» thumbnailPurged | boolean | false | none | If true, the thumbnail of the Job has been purged (invalid storage reference) |
| »»» inputFiles | [InputFile] | false | none | [inputFile object, storedDate is epoch millis] |
| »»»» id | integer(int64) | false | none | none |
| »»»» fileRelativePathname | string | false | none | Only valid if file comes from a BoxArchive (Zip) |
| »»»» originFileName | string | false | none | none |
| »»»» boxName | string | false | none | none |
| »»»» boxType | string | false | none | none |
| »»»» appositionId | string | false | none | Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object |
| »»»» indexInBox | integer | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»» filesize | integer(int64) | false | none | none |
| »»»» storedDate | integer(int64) | false | none | none |
| »»» packGroupCountPerStates | object | false | none | Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer |
| »»»» additionalProperties | integer | false | none | none |
| »»» packGroupCountPerFallbackStates | object | false | none | Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback |
| »»»» additionalProperties | integer | false | none | none |
| »»» deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| »»»» additionalProperties | integer | false | none | none |
| »»» deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| »»»» additionalProperties | integer | false | none | none |
| »» maxResult | boolean | false | none | true if array may be truncated |
Enumerated Values
| Property | Value |
|---|---|
| boxType | |
| boxType | DATA_FILE |
| boxType | ARCHIVE |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | Id of target Owner/User of Jobs |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | JobCounters | false | none | none |
| »» jobCountPerStates | object | false | none | Map Job.state -> count ; Job.state is string representation of JobState Enum ; count is positive int64 |
| »»» additionalProperties | integer(int64) | false | none | none |
| »» pendingJobCount | integer(int64) | false | none | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | JobResult | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | none |
| »» submittedDate | string | false | none | none |
| »» autoCreateDeliveryCommand | boolean | false | none | if true, try to create DeliveryCommand if all Job PackGroups are eligible |
| »» validatedJobMetadatas | object | false | none | Validated Job / Service Metadata |
| »»» additionalProperties | string | false | none | none |
| »» orphanChunkIds | [integer] | false | none | none |
| »» state | string | false | none | none |
| »» invalidated | boolean | false | none | none |
| »» frozen | boolean | false | none | none |
| »» errorMessage | string | false | none | none |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» displayBilling | boolean | false | none | none |
| »» service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» thumbnailPurged | boolean | false | none | If true, the thumbnail of the Job has been purged (invalid storage reference) |
| »» inputFiles | [InputFile] | false | none | [inputFile object, storedDate is epoch millis] |
| »»» id | integer(int64) | false | none | none |
| »»» fileRelativePathname | string | false | none | Only valid if file comes from a BoxArchive (Zip) |
| »»» originFileName | string | false | none | none |
| »»» boxName | string | false | none | none |
| »»» boxType | string | false | none | none |
| »»» appositionId | string | false | none | Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object |
| »»» indexInBox | integer | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»» filesize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» packGroupCountPerStates | object | false | none | Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer |
| »»» additionalProperties | integer | false | none | none |
| »» packGroupCountPerFallbackStates | object | false | none | Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback |
| »»» additionalProperties | integer | false | none | none |
| »» deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer | false | none | none |
| »» deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| »»» additionalProperties | integer | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| boxType | |
| boxType | DATA_FILE |
| boxType | ARCHIVE |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
| »»»» revision | integer(int64) | true | none | Revision Primary Key (global for all entities) |
| »»»» timestamp | integer(int64) | true | none | Epoch millis |
| »»»» clientAddress | string | false | none | IP address of front-end client if any |
| »»»» loggedUserId | integer(int64) | false | none | none |
| »»»» loggedUserLogin | string | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» anonymous | object | false | none | none |
| »»»» id | integer(int64) | false | none | Job Id |
| »»»» state | string | false | none | JobState |
| »»»» invalidated | boolean | false | none | none |
| »»»» frozen | boolean | false | none | none |
| »»»» purgeState | integer | false | none | Bit 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id of the Job |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id of the Job |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | integer | false | none | Number 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobIds | query | string | true | Ids 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [string] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| inputFileId | path | integer(int64) | true | Id of the inputFile |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [PackGroup] | false | none | [fallbackState is null if NO fallback or one of SHIPMENT_IN_CREATION, SHIPMENT_ASSOCIATED, SHIPMENT_CREATION_ERROR] |
| »» id | integer(int64) | false | none | none |
| »» state | PackGroupState | false | none | none |
| »» fallbackState | PackGroupState | false | none | none |
| »» packs | [Pack] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» chunks | [Chunk] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» startIndex | integer | false | none | none |
| »»»» pageCount | integer | false | none | none |
| »»»» properties | object | false | none | none |
| »»»»» metadataValues | object | false | none | Map of extracted Metadata for orphan Chunk (including transient Metadata) |
| »»»» inputFile | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | login or displayable name |
| »»» properties | PackProperties | false | none | none |
| »»»» metadataValues | object | false | none | Map of peristed Metadata for this Pack |
| »»»» rawPackRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementValue | false | none | none |
| »»»»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»»»» value | string | false | none | none |
| »»»»»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»»»»» properties | object | false | none | 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 |
| »»»»»»» additionalProperties | object | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» value | string | false | none | none |
| »»»» eligibility | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelEligibility | false | none | none |
| »»»»»» rawShipmentRequirements | object | false | none | none |
| »»»»»»» additionalProperties | RequirementValue | false | none | none |
| »»»»»» validatedShipmentRequirements | object | false | none | none |
| »»»»»»» additionalProperties | ValidatedRequirementValue | false | none | none |
| »»»»»»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»»»»»» value | string | false | none | String value of the element |
| »»»»»»»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»»»»»»» properties | object | false | none | Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...) |
| »»»»»»»»» additionalProperties | object | false | none | none |
| »»»»»»»»»» persist | boolean | false | none | none |
| »»»»»»»»»» value | string | false | none | none |
| »»»»»»»» status | integer | false | none | status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES) |
| »»»»»»»» valid | boolean | false | none | valid if (status == 0) |
| »»»»»»»» errorMessage | string | false | none | Optional |
| »»»»»» eligibile | boolean | false | none | none |
| »»»»»» errorMessage | string | false | none | Optional error message about this ServiceChannel non-eligibility |
| »»»» eligibleSendingStrategyGroups | [string] | false | none | If not null, list of eligible StrategyGroup names |
| »»»» falseSendingStrategyGroups | [string] | false | none | If not null, list of NOT eligible StrategyGroup names because additionalCondition does NOT match |
Enumerated Values
| Property | Value |
|---|---|
| state | CREATED |
| state | REJECTED |
| state | SHIPMENT_IN_CREATION |
| state | SHIPMENT_ASSOCIATED |
| state | SHIPMENT_CREATION_ERROR |
| state | NOT_ELIGIBLE |
| fallbackState | CREATED |
| fallbackState | REJECTED |
| fallbackState | SHIPMENT_IN_CREATION |
| fallbackState | SHIPMENT_ASSOCIATED |
| fallbackState | SHIPMENT_CREATION_ERROR |
| fallbackState | NOT_ELIGIBLE |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| status | 0 |
| status | 100 |
| status | 150 |
| status | 200 |
| status | 300 |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| jobId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Chunk] | false | none | Can be empty if this Job has NO orphan Chunk |
| »» id | integer(int64) | false | none | none |
| »» startIndex | integer | false | none | none |
| »» pageCount | integer | false | none | none |
| »» properties | object | false | none | none |
| »»» metadataValues | object | false | none | Map of extracted Metadata for orphan Chunk (including transient Metadata) |
| »» inputFile | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| serviceId | query | integer(int64) | true | Id of the Service |
| targetOwnerId | query | integer(int64) | false | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» additionalProperties | ValidatedRequirementWrapper | false | none | none |
| »»» rawValue | string | false | none | String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS) |
| »»» detectedCountryCode | string | false | none | For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code |
| »»» useDefaultCountry | boolean | false | none | For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry |
| »»» validatedRequirementValue | ValidatedRequirementValue | false | none | none |
| »»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»» value | string | false | none | String value of the element |
| »»»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»»» properties | object | false | none | Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...) |
| »»»»» additionalProperties | object | false | none | none |
| »»»»»» persist | boolean | false | none | none |
| »»»»»» value | string | false | none | none |
| »»»» status | integer | false | none | status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES) |
| »»»» valid | boolean | false | none | valid if (status == 0) |
| »»»» errorMessage | string | false | none | Optional |
Enumerated Values
| Property | Value |
|---|---|
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| status | 0 |
| status | 100 |
| status | 150 |
| status | 200 |
| status | 300 |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| serviceId | body | integer(int64) | false | none |
| targetOwnerId | body | integer(int64) | false | Optional, Id of target Owner/User of Jobs |
| requirementName | body | string | false | none |
| requirementValue | body | RequirementValue | false | none |
| » type | body | RequirementType | false | All types except HTML are limitted to 512 UTF-16 chars |
| » value | body | string | false | none |
| » countryCode | body | string | false | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| » properties | body | object | false | 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 |
| »» additionalProperties | body | object | false | none |
| »»» persist | body | boolean | false | none |
| »»» value | body | string | false | none |
Enumerated Values
| Parameter | Value |
|---|---|
| » type | POSTAL_ADDRESS |
| » type | TEXT |
| » type | MULTILINE |
| » type | HTML |
| » type | PHONE |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | ValidatedRequirementWrapper | false | none | none |
| »» rawValue | string | false | none | String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS) |
| »» detectedCountryCode | string | false | none | For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code |
| »» useDefaultCountry | boolean | false | none | For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry |
| »» validatedRequirementValue | ValidatedRequirementValue | false | none | none |
| »»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»» value | string | false | none | String value of the element |
| »»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»» properties | object | false | none | Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...) |
| »»»» additionalProperties | object | false | none | none |
| »»»»» persist | boolean | false | none | none |
| »»»»» value | string | false | none | none |
| »»» status | integer | false | none | status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES) |
| »»» valid | boolean | false | none | valid if (status == 0) |
| »»» errorMessage | string | false | none | Optional |
Enumerated Values
| Property | Value |
|---|---|
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| status | 0 |
| status | 100 |
| status | 150 |
| status | 200 |
| status | 300 |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| submittedFile | body | string(binary) | true | file to upload |
| parameters | body | object | false | none |
| » serviceId | body | integer(int64) | false | none |
| » targetOwnerId | body | integer(int64) | false | Optional, Id of target Owner/User of Jobs |
| » requirementName | body | string | false | none |
| » area | body | ZoneArea | false | ZoneArea object |
| »» left | body | number(float) | false | none |
| »» top | body | number(float) | false | none |
| »» width | body | number(float) | false | none |
| »» height | body | number(float) | false | none |
| » extractionParameters | body | ExtractionParameters | false | Parameters for the extraction. Depends on the library used. |
| »» additionalProperties | body | string | false | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | ValidatedRequirementWrapper | false | none | none |
| »» rawValue | string | false | none | String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS) |
| »» detectedCountryCode | string | false | none | For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code |
| »» useDefaultCountry | boolean | false | none | For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry |
| »» validatedRequirementValue | ValidatedRequirementValue | false | none | none |
| »»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»» value | string | false | none | String value of the element |
| »»» countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| »»» properties | object | false | none | Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...) |
| »»»» additionalProperties | object | false | none | none |
| »»»»» persist | boolean | false | none | none |
| »»»»» value | string | false | none | none |
| »»» status | integer | false | none | status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES) |
| »»» valid | boolean | false | none | valid if (status == 0) |
| »»» errorMessage | string | false | none | Optional |
Enumerated Values
| Property | Value |
|---|---|
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| status | 0 |
| status | 100 |
| status | 150 |
| status | 200 |
| status | 300 |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| includeRemoved | query | boolean | false | For 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [OrganizationalUnit] | false | none | [Note: parent parameter can be NULL if root OU] |
| »» id | integer(int64) | false | none | none |
| »» creationdate | integer(int64) | false | read-only | none |
| »» accountIdentifier | string | false | none | Only ASCII 0-9 A-Z a-z and -._~ |
| »» name | string | false | none | none |
| »» branding | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» parent | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» allowOUChildren | boolean | false | none | none |
| »» freezeDelayDays | integer | false | none | none |
| »» fileDelayDays | integer | false | none | none |
| »» dataDelayDays | integer | false | none | none |
| »» accountingCode | string | false | none | none |
| »» productionCode | string | false | none | none |
| »» partnerCode | string | false | none | none |
| »» billingType | string | false | none | none |
| »» defaultMailCountry | string | false | none | none |
| »» minPasswordEntropy | integer(int32) | false | none | Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0 |
| »» maxPasswordValidityDays | integer(int32) | false | none | Maximum number of days between password change by User ; only checked if > 0 |
| »» properties | OrganizationalUnitProperties | false | none | none |
| »»» emailAddress | string | false | none | none |
| »»» senderAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»» addressLines | string | false | none | none |
| »»»» countryCode | string | false | none | none |
| »»» returnAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»» siret | string | false | none | none |
| »»» controlledValues | [ControlledValue] | false | none | [Can be used as ControlledValueMetadata in Service Metadata] |
| »»»» name | string | false | none | none |
| »»»» elements | [ElementValue] | false | none | none |
| »»»»» value | string | false | none | Technical value (must NOT be empty) |
| »»»»» label | string | false | none | User-friendly label (must NOT be null), can be equal to value |
| »»»» allowFreeValue | boolean | false | none | If true, user can enter a metadat value outside the elements list |
| »»» webHookURL | string | false | none | 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 | boolean | false | none | Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database) |
| »» enabled | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | OrganizationalUnit | true | Option 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | OrganizationalUnit | false | none | Note: parent parameter can be NULL if root OU |
| »» id | integer(int64) | false | none | none |
| »» creationdate | integer(int64) | false | read-only | none |
| »» accountIdentifier | string | false | none | Only ASCII 0-9 A-Z a-z and -._~ |
| »» name | string | false | none | none |
| »» branding | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» parent | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» allowOUChildren | boolean | false | none | none |
| »» freezeDelayDays | integer | false | none | none |
| »» fileDelayDays | integer | false | none | none |
| »» dataDelayDays | integer | false | none | none |
| »» accountingCode | string | false | none | none |
| »» productionCode | string | false | none | none |
| »» partnerCode | string | false | none | none |
| »» billingType | string | false | none | none |
| »» defaultMailCountry | string | false | none | none |
| »» minPasswordEntropy | integer(int32) | false | none | Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0 |
| »» maxPasswordValidityDays | integer(int32) | false | none | Maximum number of days between password change by User ; only checked if > 0 |
| »» properties | OrganizationalUnitProperties | false | none | none |
| »»» emailAddress | string | false | none | none |
| »»» senderAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»» addressLines | string | false | none | none |
| »»»» countryCode | string | false | none | none |
| »»» returnAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»» siret | string | false | none | none |
| »»» controlledValues | [ControlledValue] | false | none | [Can be used as ControlledValueMetadata in Service Metadata] |
| »»»» name | string | false | none | none |
| »»»» elements | [ElementValue] | false | none | none |
| »»»»» value | string | false | none | Technical value (must NOT be empty) |
| »»»»» label | string | false | none | User-friendly label (must NOT be null), can be equal to value |
| »»»» allowFreeValue | boolean | false | none | If true, user can enter a metadat value outside the elements list |
| »»» webHookURL | string | false | none | 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 | boolean | false | none | Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database) |
| »» enabled | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | OrganizationalUnit | false | none | Note: parent parameter can be NULL if root OU |
| »» id | integer(int64) | false | none | none |
| »» creationdate | integer(int64) | false | read-only | none |
| »» accountIdentifier | string | false | none | Only ASCII 0-9 A-Z a-z and -._~ |
| »» name | string | false | none | none |
| »» branding | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» parent | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» allowOUChildren | boolean | false | none | none |
| »» freezeDelayDays | integer | false | none | none |
| »» fileDelayDays | integer | false | none | none |
| »» dataDelayDays | integer | false | none | none |
| »» accountingCode | string | false | none | none |
| »» productionCode | string | false | none | none |
| »» partnerCode | string | false | none | none |
| »» billingType | string | false | none | none |
| »» defaultMailCountry | string | false | none | none |
| »» minPasswordEntropy | integer(int32) | false | none | Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0 |
| »» maxPasswordValidityDays | integer(int32) | false | none | Maximum number of days between password change by User ; only checked if > 0 |
| »» properties | OrganizationalUnitProperties | false | none | none |
| »»» emailAddress | string | false | none | none |
| »»» senderAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»»» addressLines | string | false | none | none |
| »»»» countryCode | string | false | none | none |
| »»» returnAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| »»» siret | string | false | none | none |
| »»» controlledValues | [ControlledValue] | false | none | [Can be used as ControlledValueMetadata in Service Metadata] |
| »»»» name | string | false | none | none |
| »»»» elements | [ElementValue] | false | none | none |
| »»»»» value | string | false | none | Technical value (must NOT be empty) |
| »»»»» label | string | false | none | User-friendly label (must NOT be null), can be equal to value |
| »»»» allowFreeValue | boolean | false | none | If true, user can enter a metadat value outside the elements list |
| »»» webHookURL | string | false | none | 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 | boolean | false | none | Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database) |
| »» enabled | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | path | integer(int64) | true | Id of OU to remove |
| force | query | boolean | false | Id of OU to remove |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Channel] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» channelType | string | false | none | none |
| »» name | string | false | none | none |
| »» providerName | string | false | none | none |
| »» workingDays | string | false | none | Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday) |
| »» maxFutureDays | integer | false | none | Maximum number of days for future "post date" (must be >= 0) |
| »» cutoffTime | string | false | none | hh:mm:ss (optional minutes and seconds) in provider TimeZone |
| »» timeZone | string | false | none | Provider TimeZone to compute workinDay and cutoffTime for "post date" |
| »» additionalProductionDays | string | false | none | Add some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day) |
| »» externalOutputTrigger | boolean | false | none | If true output of this Channel is trigged by an external-output-token |
| »» resetExternalOutputToken | boolean | false | write-only | If true back-end application regenerate a random external-output-token |
| »» externalOutputToken | string | false | none | Token used to exteranlly trigger output on this Channel |
| »» enabled | boolean | false | none | none |
| »» fallbackOnStatuses | string | false | none | list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450 |
| »» properties | ChannelProperties | false | none | none |
| »»» requirements | [Requirement] | false | none | [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] |
| »»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»» name | string | false | none | none |
| »»»» content | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»» @type | string | false | none | none |
| »»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»» @type | string | false | none | none |
| »»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» begin | integer | false | none | none |
| »»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»» left | number(float) | false | none | none |
| »»»»»»»» top | number(float) | false | none | none |
| »»»»»»»» width | number(float) | false | none | none |
| »»»»»»»» height | number(float) | false | none | none |
| »»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»» @type | string | false | none | none |
| »»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»» @type | string | false | none | none |
| »»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | true | none | none |
| »»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | true | none | none |
| »»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»» @type | string | false | none | none |
| »»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» validation | string | false | none | Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated) |
| »»»» validationParameters | object | false | none | Map String -> String of parameters if needed by the validator |
| »»»»» additionalProperties | string | false | none | none |
| »»»» forceValidation | string | false | none | Name of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement |
| »»»» forceValidationParameters | object | false | none | Map String -> String of parameters if needed by the "force" validator |
| »»»»» additionalProperties | string | false | none | none |
| »»» trackingURLs | object | false | none | Map of URL templates to retrieve external tracking info. Key is name of Tracking |
| »»»» additionalProperties | string | false | none | none |
| »»» trackingProperties | object | false | none | Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application. |
| »»»» additionalProperties | object | false | none | none |
| »» outputFileDefinitions | [OutputFileDefinition] | false | none | none |
| »»» name | string | false | none | must be unique within a Channel |
| »»» mainOutputFile | boolean | false | none | Configuration of the MAIN output file of the Shipment |
| »»» properties | OutputFileDefinitionProperties | false | none | none |
| »»»» preserveIntegrity | boolean | false | none | 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 | [TechnicalArea] | false | none | [Channel technical area] |
| »»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»» type | string | false | none | none |
| »»»»» page | string | false | none | none |
| »»»»» check | string | false | none | none |
| »»»»» colorBAT | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»» r | integer | false | none | none |
| »»»»»» g | integer | false | none | none |
| »»»»»» b | integer | false | none | none |
| »»»»»» a | number(float) | false | none | none |
| »»»»» colorProd | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» colorError | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» contentEvaluator | Expression | false | none | none |
| »»»»» fontName | string | false | none | none |
| »»»»» fontSize | number(float) | false | none | none |
| »»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» linespace | integer(float) | false | none | none |
| »»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»» rtl | boolean | false | none | none |
| »»»» forceAddressPage | boolean | false | none | none |
| »»» outputFileOptions | [Option] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» optionType | OptionType | false | none | none |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | none |
| »»»»» recomputeTrigger | boolean | false | none | Modifying this OptionType must recompute Options with selectable condition |
| »»»» value | string | false | none | none |
| »»»» rank | integer | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»»» default | boolean | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»»» properties | OptionProperties | false | none | none |
| »»»»» selectableCondition | object | false | none | BooleanExpression with ShipmentContext computing getTotalNumSheets |
Enumerated Values
| Property | Value |
|---|---|
| channelType | |
| channelType | REGISTERED |
| channelType | |
| channelType | REGISTERED_EMAIL |
| channelType | LOCAL_PRINT |
| channelType | SAFE_EMAIL |
| channelType | PACKING |
| channelType | SMS |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| type | TEXT |
| type | RECTANGLE |
| type | BARCODE |
| type | DATAMATRIX |
| type | QRCODE |
| page | FIRST |
| page | FRONT_PAGE |
| check | NONE |
| check | TEXT |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Channel] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» channelType | string | false | none | none |
| »» name | string | false | none | none |
| »» providerName | string | false | none | none |
| »» workingDays | string | false | none | Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday) |
| »» maxFutureDays | integer | false | none | Maximum number of days for future "post date" (must be >= 0) |
| »» cutoffTime | string | false | none | hh:mm:ss (optional minutes and seconds) in provider TimeZone |
| »» timeZone | string | false | none | Provider TimeZone to compute workinDay and cutoffTime for "post date" |
| »» additionalProductionDays | string | false | none | Add some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day) |
| »» externalOutputTrigger | boolean | false | none | If true output of this Channel is trigged by an external-output-token |
| »» resetExternalOutputToken | boolean | false | write-only | If true back-end application regenerate a random external-output-token |
| »» externalOutputToken | string | false | none | Token used to exteranlly trigger output on this Channel |
| »» enabled | boolean | false | none | none |
| »» fallbackOnStatuses | string | false | none | list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450 |
| »» properties | ChannelProperties | false | none | none |
| »»» requirements | [Requirement] | false | none | [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] |
| »»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»» name | string | false | none | none |
| »»»» content | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»» @type | string | false | none | none |
| »»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»» @type | string | false | none | none |
| »»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» begin | integer | false | none | none |
| »»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»» left | number(float) | false | none | none |
| »»»»»»»» top | number(float) | false | none | none |
| »»»»»»»» width | number(float) | false | none | none |
| »»»»»»»» height | number(float) | false | none | none |
| »»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»» @type | string | false | none | none |
| »»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»» @type | string | false | none | none |
| »»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | true | none | none |
| »»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | true | none | none |
| »»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»» @type | string | false | none | none |
| »»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» validation | string | false | none | Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated) |
| »»»» validationParameters | object | false | none | Map String -> String of parameters if needed by the validator |
| »»»»» additionalProperties | string | false | none | none |
| »»»» forceValidation | string | false | none | Name of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement |
| »»»» forceValidationParameters | object | false | none | Map String -> String of parameters if needed by the "force" validator |
| »»»»» additionalProperties | string | false | none | none |
| »»» trackingURLs | object | false | none | Map of URL templates to retrieve external tracking info. Key is name of Tracking |
| »»»» additionalProperties | string | false | none | none |
| »»» trackingProperties | object | false | none | Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application. |
| »»»» additionalProperties | object | false | none | none |
| »» outputFileDefinitions | [OutputFileDefinition] | false | none | none |
| »»» name | string | false | none | must be unique within a Channel |
| »»» mainOutputFile | boolean | false | none | Configuration of the MAIN output file of the Shipment |
| »»» properties | OutputFileDefinitionProperties | false | none | none |
| »»»» preserveIntegrity | boolean | false | none | 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 | [TechnicalArea] | false | none | [Channel technical area] |
| »»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»» type | string | false | none | none |
| »»»»» page | string | false | none | none |
| »»»»» check | string | false | none | none |
| »»»»» colorBAT | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»» r | integer | false | none | none |
| »»»»»» g | integer | false | none | none |
| »»»»»» b | integer | false | none | none |
| »»»»»» a | number(float) | false | none | none |
| »»»»» colorProd | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» colorError | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» contentEvaluator | Expression | false | none | none |
| »»»»» fontName | string | false | none | none |
| »»»»» fontSize | number(float) | false | none | none |
| »»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» linespace | integer(float) | false | none | none |
| »»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»» rtl | boolean | false | none | none |
| »»»» forceAddressPage | boolean | false | none | none |
| »»» outputFileOptions | [Option] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» optionType | OptionType | false | none | none |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | none |
| »»»»» recomputeTrigger | boolean | false | none | Modifying this OptionType must recompute Options with selectable condition |
| »»»» value | string | false | none | none |
| »»»» rank | integer | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»»» default | boolean | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»»» properties | OptionProperties | false | none | none |
| »»»»» selectableCondition | object | false | none | BooleanExpression with ShipmentContext computing getTotalNumSheets |
Enumerated Values
| Property | Value |
|---|---|
| channelType | |
| channelType | REGISTERED |
| channelType | |
| channelType | REGISTERED_EMAIL |
| channelType | LOCAL_PRINT |
| channelType | SAFE_EMAIL |
| channelType | PACKING |
| channelType | SMS |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| type | TEXT |
| type | RECTANGLE |
| type | BARCODE |
| type | DATAMATRIX |
| type | QRCODE |
| page | FIRST |
| page | FRONT_PAGE |
| check | NONE |
| check | TEXT |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| submittedFile | body | string(binary) | false | none |
| parameters | body | PdfExtractText | false | none |
| » submittedFile | body | string(binary) | false | none |
| » parameters | body | PdfExtractPage | false | none |
| »» page | body | integer | false | none |
| »» area | body | ZoneArea | false | ZoneArea object |
| »»» left | body | number(float) | false | none |
| »»» top | body | number(float) | false | none |
| »»» width | body | number(float) | false | none |
| »»» height | body | number(float) | false | none |
| »» extractionParameters | body | ExtractionParameters | false | Parameters for the extraction. Depends on the library used. |
| »»» additionalProperties | body | string | false | none |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "Extracted text" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [RoleTemplate] | false | none | [RoleTemplate to create most used Profiles] |
| »» id | integer(int64) | false | none | none |
| »» name | string | false | none | super-admin |
| »» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »» permissionsOnOU | integer | false | none | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | query | integer(int64) | false | Filter 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Profile] | false | none | [field can be null id super admin] |
| »» id | integer(int64) | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» name | string | false | none | none |
| »» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »» permissionsOnOU | integer | false | none | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | Profile | true | Profile 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Profile | false | none | field can be null id super admin |
| »» id | integer(int64) | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» name | string | false | none | none |
| »» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »» permissionsOnOU | integer | false | none | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| profileId | path | integer(int64) | true | Filter 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Service] | false | none | none |
| »» id | integer | false | none | none |
| »» type | string | false | none | none |
| »» name | string | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» properties | ServiceProperties | false | none | none |
| »»» description | string | false | none | none |
| »»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»» r | integer | false | none | none |
| »»»» g | integer | false | none | none |
| »»»» b | integer | false | none | none |
| »»»» a | number(float) | false | none | none |
| »»» iconName | string | false | none | none |
| »»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» label | string | false | none | none |
| »»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»» minElements | integer | true | none | none |
| »»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»» name | string | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» editable | boolean | false | none | none |
| »»»»»»»» content | Expression | false | none | none |
| »»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»» condition | any | true | none | none |
| »»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»» value | string | true | none | none |
| »»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»» targetType | string | true | none | none |
| »»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»» background | boolean | true | none | none |
| »»»»»»» editable | boolean | true | none | none |
| »»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»» @type | string | true | none | none |
| »»»»»» name | string | true | none | none |
| »»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» jobNameExpression | Expression | false | none | none |
| »»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»» packRequirements | object | false | none | none |
| »»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» content | Expression | false | none | none |
| »»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»» label | string | false | none | none |
| »»»» shipmentRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»» outputFilesConfig | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»» id | integer(int64) | false | none | none |
| »»»»»»» rank | integer | false | none | none |
| »»»»»»» default | boolean | false | none | none |
| »»»»»» composition | object | false | none | none |
| »»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»» margins | object | false | none | none |
| »»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»» name | string | false | none | none |
| »»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»» name | string | false | none | none |
| »»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» additionalCondition | any | false | none | none |
| »»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»» id | string | false | none | none |
| »»» originalFileName | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» removed | boolean | false | none | none |
| »» allowJobCreation | boolean | false | none | none |
| »» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| profileId | path | integer(int64) | true | Filter profileId |
| body | body | Profile | true | Profile 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Service] | false | none | none |
| »» id | integer | false | none | none |
| »» type | string | false | none | none |
| »» name | string | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» properties | ServiceProperties | false | none | none |
| »»» description | string | false | none | none |
| »»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»» r | integer | false | none | none |
| »»»» g | integer | false | none | none |
| »»»» b | integer | false | none | none |
| »»»» a | number(float) | false | none | none |
| »»» iconName | string | false | none | none |
| »»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» label | string | false | none | none |
| »»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»» minElements | integer | true | none | none |
| »»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»» name | string | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» editable | boolean | false | none | none |
| »»»»»»»» content | Expression | false | none | none |
| »»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»» condition | any | true | none | none |
| »»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»» value | string | true | none | none |
| »»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»» targetType | string | true | none | none |
| »»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»» background | boolean | true | none | none |
| »»»»»»» editable | boolean | true | none | none |
| »»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»» @type | string | true | none | none |
| »»»»»» name | string | true | none | none |
| »»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» jobNameExpression | Expression | false | none | none |
| »»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»» packRequirements | object | false | none | none |
| »»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» content | Expression | false | none | none |
| »»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»» label | string | false | none | none |
| »»»» shipmentRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»» outputFilesConfig | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»» id | integer(int64) | false | none | none |
| »»»»»»» rank | integer | false | none | none |
| »»»»»»» default | boolean | false | none | none |
| »»»»»» composition | object | false | none | none |
| »»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»» margins | object | false | none | none |
| »»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»» name | string | false | none | none |
| »»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»» name | string | false | none | none |
| »»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» additionalCondition | any | false | none | none |
| »»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»» id | string | false | none | none |
| »»» originalFileName | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» removed | boolean | false | none | none |
| »» allowJobCreation | boolean | false | none | none |
| »» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | query | integer(int64) | true | Filter 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Service] | false | none | none |
| »» id | integer | false | none | none |
| »» type | string | false | none | none |
| »» name | string | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» properties | ServiceProperties | false | none | none |
| »»» description | string | false | none | none |
| »»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»» r | integer | false | none | none |
| »»»» g | integer | false | none | none |
| »»»» b | integer | false | none | none |
| »»»» a | number(float) | false | none | none |
| »»» iconName | string | false | none | none |
| »»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» label | string | false | none | none |
| »»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»» minElements | integer | true | none | none |
| »»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»» name | string | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» editable | boolean | false | none | none |
| »»»»»»»» content | Expression | false | none | none |
| »»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»» condition | any | true | none | none |
| »»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»» value | string | true | none | none |
| »»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»» targetType | string | true | none | none |
| »»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»» background | boolean | true | none | none |
| »»»»»»» editable | boolean | true | none | none |
| »»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»» @type | string | true | none | none |
| »»»»»» name | string | true | none | none |
| »»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» jobNameExpression | Expression | false | none | none |
| »»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»» packRequirements | object | false | none | none |
| »»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» content | Expression | false | none | none |
| »»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»» label | string | false | none | none |
| »»»» shipmentRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»» outputFilesConfig | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»» id | integer(int64) | false | none | none |
| »»»»»»» rank | integer | false | none | none |
| »»»»»»» default | boolean | false | none | none |
| »»»»»» composition | object | false | none | none |
| »»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»» margins | object | false | none | none |
| »»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»» name | string | false | none | none |
| »»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»» name | string | false | none | none |
| »»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» additionalCondition | any | false | none | none |
| »»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»» id | string | false | none | none |
| »»» originalFileName | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» removed | boolean | false | none | none |
| »» allowJobCreation | boolean | false | none | none |
| »» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| submittedFile | body | string(binary) | false | none |
| parameters | body | Service | false | none |
| » id | body | integer | false | none |
| » type | body | string | false | none |
| » name | body | string | false | none |
| » organizationalUnit | body | IdentifierDTO | false | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» id | body | integer(int64) | false | none |
| »» name | body | string | false | login or displayable name |
| » properties | body | ServiceProperties | false | none |
| »» description | body | string | false | none |
| »» iconColor | body | Color | false | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»» r | body | integer | false | none |
| »»» g | body | integer | false | none |
| »»» b | body | integer | false | none |
| »»» a | body | number(float) | false | none |
| »» iconName | body | string | false | none |
| »» boxes | body | [oneOf] | false | none |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | any | false | none |
| »»»»» anonymous | body | AbstractBox | false | none |
| »»»»»» @type | body | string | true | none |
| »»»»»» name | body | string | true | none |
| »»»»»» label | body | string | false | none |
| »»»»»» hidden | body | boolean | true | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»» minElements | body | integer | true | none |
| »»»»»» maxElements | body | integer | true | none |
| »»»»» anonymous | body | object | false | none |
| »»»»»» main | body | boolean | true | true if MAIN ; false if ATTACHMENT |
| »»»»»» parent | body | ParentWrapper | true | 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 |
| »»»»»»» boxName | body | string | false | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»» fileMatcher | body | any | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | BooleanExpressionBasic | false | none |
| »»»»»»»»»» @type | body | string | true | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»» value | body | boolean | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | BooleanExpressionBasic | false | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»» expr1 | body | any | false | none |
| »»»»»»»»»» expr2 | body | any | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | BooleanExpressionBasic | false | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»» expr | body | any | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»»» anonymous | body | BooleanExpressionBasic | false | none |
| »»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»» expr1 | body | Expression | false | none |
| »»»»»»»»»»»» anonymous | body | ExpressionConstant | false | Pre-defined text value |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» value | body | string | false | none |
| »»»»»»»»»»»» anonymous | body | ExpressionReference | false | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» namespace | body | ReferenceNamespace | false | namespaces allowed, depending on context : |
| »»»»»»»»»»»»» identifier | body | string | false | Identifier of the element |
| »»»»»»»»»»»» anonymous | body | any | false | Part of the name of the underlying file of the box |
| »»»»»»»»»»»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»»» fromMain | body | boolean | false | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»» boxName | body | string | false | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
| »»»»»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»»» begin | body | integer | false | none |
| »»»»»»»»»»»»»» end | body | integer | false | none |
| »»»»»»»»»»»» anonymous | body | any | false | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
| »»»»»»»»»»»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»»»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»»» page | body | integer | false | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»» area | body | ZoneArea | false | ZoneArea object |
| »»»»»»»»»»»»»»» left | body | number(float) | false | none |
| »»»»»»»»»»»»»»» top | body | number(float) | false | none |
| »»»»»»»»»»»»»»» width | body | number(float) | false | none |
| »»»»»»»»»»»»»»» height | body | number(float) | false | none |
| »»»»»»»»»»»»»» extractionParameters | body | ExtractionParameters | false | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»» additionalProperties | body | string | false | none |
| »»»»»»»»»»»» anonymous | body | any | false | PDF metadata value from the underlying PDF file of the box |
| »»»»»»»»»»»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»»»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»»» metadataName | body | string | false | Name of the PDF metadata to extract |
| »»»»»»»»»»»» anonymous | body | ExpressionConcat | false | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» operands | body | [oneOf] | false | none |
| »»»»»»»»»»»» anonymous | body | ExpressionCoalesce | false | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» operands | body | [oneOf] | false | none |
| »»»»»»»»»»»» anonymous | body | ExpressionStrClean | false | Cleans a string |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» expr | body | Expression | false | none |
| »»»»»»»»»»»»» normalizeSpace | body | boolean | false | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»» removeDiacritics | body | boolean | false | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»» multiline | body | boolean | false | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»» trim | body | boolean | false | Removes all the control characters at the beginning and the end of the string (Technically, removes all characters equal or below ASCII U+0020 (space character). If multiline is set, applies on all lines rather than the whole string. |
| »»»»»»»»»»»» anonymous | body | ExpressionStrNormalizeCase | false | Normalizes the case of the String |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» expr | body | Expression | false | none |
| »»»»»»»»»»»»» toUpper | body | boolean | false | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
| »»»»»»»»»»»» anonymous | body | ExpressionStrReplace | false | Normalizes the case of the String |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» expr | body | Expression | false | none |
| »»»»»»»»»»»»» regExpPattern | body | string | false | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»» replacement | body | string | false | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»» firstOnly | body | boolean | false | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
| »»»»»»»»»»»» anonymous | body | any | false | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
| »»»»»»»»»»»»» anonymous | body | ExpressionBoxFile | false | Properties common to all box files |
| »»»»»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»» anonymous | body | ExpressionNumSheets | false | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»» anonymous | body | ExpressionSubstring | false | Extract a portion of the string |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» expr | body | Expression | false | none |
| »»»»»»»»»»»»» beginIndex | body | integer | false | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»» endIndex | body | integer | false | Index of the character to end extraction, excluded. 0 and -1 mean last character (takes from the beginIndex to the end of the string). Note: endIndex must be strictly superior to beginIndex or -1. |
| »»»»»»»»»»»» anonymous | body | CurrentDate | false | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»» anonymous | body | DateParse | false | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» expr | body | Expression | true | none |
| »»»»»»»»»»»»» pattern | body | string | true | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»» timeZone | body | string | true | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»» locale | body | string | false | Locale used to parse date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used) |
| »»»»»»»»»»»» anonymous | body | DateFormat | false | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» expr | body | Expression | true | none |
| »»»»»»»»»»»»» pattern | body | string | true | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»» timeZone | body | string | true | TimeZone used to format the date. |
| »»»»»»»»»»»»» locale | body | string | false | Locale used to format the date (example litteral name of month). Can be null if the formatter has no locale-specific token (default system Locale will be used) |
| »»»»»»»»»»»» anonymous | body | JobFileNameValue | false | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»»»»» boxName | body | string | false | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»» indexInBox | body | integer | false | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»» keepExtension | body | boolean | false | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
| »»»»»»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»»»» expr2 | body | Expression | false | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | BooleanExpressionBasic | false | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»» expr | body | Expression | false | none |
| »»»»»»»»»» regExpPattern | body | string | false | valid Regular Expression to check the value against |
| »»»»»»»»»» matchWhole | body | boolean | false | 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. |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»» rank | body | integer | false | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»» metadatas | body | [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.] |
| »»»»»»» name | body | string | false | none |
| »»»»»»» persist | body | boolean | false | none |
| »»»»»»» editable | body | boolean | false | none |
| »»»»»»» content | body | Expression | false | none |
| »»»»»» reconcile | body | BoxReconciliation | true | none |
| »»»»»»» condition | body | any | true | none |
| »»»»»»» minExpected | body | integer | false | default 0. Cannot be negative. |
| »»»»»»» maxExpected | body | integer | false | default -1. Can only be strictly positive or -1. |
| »»»»»»» minMatches | body | integer | false | default 0. Cannot be negative. |
| »»»»»»» maxMatches | body | integer | false | default 1. Can only be strictly positive or -1. |
| »»»»»» configuredFiles | body | [ConfiguredFile] | true | none |
| »»»»»»» serviceFileId | body | string | false | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»» removable | body | boolean | false | if false this ConfiguredFile is mandatory on Job creation |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» integrityPreservable | body | boolean | false | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»» splitConfig | body | any | false | none |
| »»»»»» anonymous | body | any | false | none |
| »»»»»»» anonymous | body | BoxSplitConfigurationBasic | false | none |
| »»»»»»»» editable | body | boolean | true | none |
| »»»»»»»» @type | body | string | true | none |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» @type | body | string | false | none |
| »»»»»» anonymous | body | any | false | none |
| »»»»»»» anonymous | body | BoxSplitConfigurationBasic | false | none |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» @type | body | string | false | none |
| »»»»»»»» pages | body | integer | true | none |
| »»»»»» anonymous | body | any | false | none |
| »»»»»»» anonymous | body | BoxSplitConfigurationBasic | false | none |
| »»»»»»» anonymous | body | object | false | none |
| »»»»»»»» @type | body | string | false | none |
| »»»»»»»» area | body | ZoneArea | true | ZoneArea object |
| »»»»»»»» value | body | string | true | none |
| »»»»»»»» pages | body | integer | true | none |
| »»»»»»»» extractionParameters | body | ExtractionParameters | false | Parameters for the extraction. Depends on the library used. |
| »»»»» hasAddressPage | body | boolean | false | none |
| »»»»» appositions | body | [BoxAppositionFile] | false | none |
| »»»»»» @type | body | string | true | none |
| »»»»»» id | body | string | true | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»» targetType | body | string | true | none |
| »»»»»» serializedPageFilter | body | string | true | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»» background | body | boolean | true | none |
| »»»»»» editable | body | boolean | true | none |
| »»»»»» serviceFileId | body | string | false | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | any | false | none |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» parserConfiguration | body | ParserConfiguration | false | none |
| »»»»»» @type | body | string | true | none |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | AbstractBox | false | none |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» encoding | body | string | false | Encoding of file names within Zip archive (if null default is 'IBM437') |
| »» serviceMetadatas | body | [oneOf] | false | Optional list of ServiceMetadata (common to whole Job) |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | BaseServiceMetadata | false | none |
| »»»»» @type | body | string | true | none |
| »»»»» name | body | string | true | none |
| »»»»» editable | body | boolean | false | if true, can be entered by User on Job creation |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» mandatory | body | boolean | false | If true, Job must be created with a non-empty value for this Metadata |
| »»»»» properties | body | object | false | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
| »»» anonymous | body | any | false | none |
| »»»» anonymous | body | BaseServiceMetadata | false | none |
| »»»» anonymous | body | object | false | none |
| »»»»» @type | body | string | false | none |
| »»»»» controlledValueName | body | string | false | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
| »» jobNameExpression | body | Expression | false | none |
| »» jobNameEditable | body | boolean | false | Job name value is editable on job creation (default true) |
| »» packRequirements | body | object | false | none |
| »»» additionalProperties | body | RequirementEvaluable | false | none |
| »»»» content | body | Expression | false | none |
| »»»» editableConfiguration | body | boolean | false | Expression configuration can be redefined on Job creation |
| »»»» editableValue | body | boolean | false | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »» channels | body | [ServiceChannel] | false | [See Channel Entity for Requirement and OutputFile configurations] |
| »»» id | body | integer(int64) | false | Id of Channel entity (MUST be allowed in OU) |
| »»» label | body | string | false | none |
| »»» shipmentRequirements | body | object | false | none |
| »»»» additionalProperties | body | RequirementEvaluable | false | none |
| »»» outputFilesConfig | body | object | false | none |
| »»»» additionalProperties | body | ServiceChannelOutputFile | false | none |
| »»»»» options | body | [ServiceChannelOutputFileOption] | false | none |
| »»»»»» id | body | integer(int64) | false | none |
| »»»»»» rank | body | integer | false | none |
| »»»»»» default | body | boolean | false | none |
| »»»»» composition | body | object | false | none |
| »»»»»» operations | body | [ServiceChannelOutputFileComposition] | false | [Elements of the composition. One and only of the parameters boxIdentifier and pageSize must be set. Can be either: |
| »»»»»»» boxIdentifier | body | object | false | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»» main | body | boolean | false | If true, the target box is any MAIN box |
| »»»»»»»» boxName | body | string | false | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»» serializedPageFilter | body | string | false | Ignore when boxIdentifier is NOT set. Page description, can be |
| »»»»»»» pageSize | body | string | false | 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. |
| »»»»»»» rotationDirection | body | string | false | none |
| »»»»»»» margins | body | object | false | none |
| »»»»»»»» additionalProperties | body | MarginArea | false | MarginArea object |
| »»»»»»»»» left | body | number(float) | false | none |
| »»»»»»»»» top | body | number(float) | false | none |
| »»»»»»»»» right | body | number(float) | false | none |
| »»»»»»»»» bottom | body | number(float) | false | none |
| »»»»»»» nbDuplicates | body | integer(int64) | false | none |
| »»»»»»» canStartOnBackSide | body | boolean | false | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»» skipAddressPage | body | boolean | false | 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 | body | boolean | false | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»» addLastBackSide | body | boolean | false | 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 | body | string | false | 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. |
| »»»»»»» appositions | body | [oneOf] | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | ServiceChannelOutputFileCompositionAppositionBase | false | none |
| »»»»»»»»»» @type | body | string | true | none |
| »»»»»»»»»» pageFilter | body | string | false | 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. |
| »»»»»»»»» anonymous | body | AppositionConfigRectangle | false | none |
| »»»»»»»»»» area | body | ZoneArea | true | ZoneArea object |
| »»»»»»»»»» bgColor | body | Color | false | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»» margins | body | MarginArea | false | MarginArea object |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | ServiceChannelOutputFileCompositionAppositionBase | false | none |
| »»»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»»» anonymous | body | AppositionConfigBase | false | none |
| »»»»»»»»»»» area | body | ZoneArea | true | ZoneArea object |
| »»»»»»»»»»» bgColor | body | Color | false | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | body | MarginArea | false | MarginArea object |
| »»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»» fontName | body | string | false | none |
| »»»»»»»»»»» fontSize | body | number(float) | false | none |
| »»»»»»»»»»» fontColor | body | Color | false | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» lineSpace | body | integer(float) | false | none |
| »»»»»»»»»»» hAlign | body | string | false | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»» vAlign | body | string | false | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»» rtl | body | boolean | false | none |
| »»»»»»»»»»» lineBreakMode | body | string | false | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
| »»»»»»»»» anonymous | body | AppositionWithContent | false | none |
| »»»»»»»»»» contentEvaluator | body | Expression | true | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»» anonymous | body | any | false | none |
| »»»»»»»»» anonymous | body | ServiceChannelOutputFileCompositionAppositionBase | false | none |
| »»»»»»»»» anonymous | body | AppositionWithContent | false | none |
| »»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»» @type | body | string | false | none |
| »»»»»»»»»» text | body | any | false | none |
| »»»»»»»»»» qrCode | body | any | false | none |
| »»»»»»»»»»» anonymous | body | AppositionConfigBase | false | none |
| »»»»»»»»»»» anonymous | body | object | false | none |
| »»»»»»»»»»»» color | body | Color | false | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »» groupingConfiguration | body | SendingStrategy | false | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»» name | body | string | false | none |
| »»» groups | body | [SendingGroup] | false | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»» name | body | string | false | none |
| »»»» serviceChannels | body | [string] | false | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»» fallbacks | body | [string] | false | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»» additionalCondition | body | any | false | none |
| »» sendingStrategy | body | GroupingConfiguration | false | none |
| »»» groupingMetadataName | body | string | false | Name of Metadata OR Requirement used for grouping strategy |
| »»» groupOnRequirement | body | boolean | false | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| » serviceFiles | body | [ServiceFile] | false | [File associated to the service for background configuration] |
| »» id | body | string | false | none |
| »» originalFileName | body | string | false | none |
| »» fileSize | body | integer(int64) | false | none |
| »» storedDate | body | integer(int64) | false | none |
| » removed | body | boolean | false | none |
| » allowJobCreation | body | boolean | false | none |
| » inconsistent | body | boolean | false | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| » forceServiceUpdate | body | boolean | false | Force 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 :
- 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
»»»»»» operations: [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 therecipient will be added. The parameter boxIdentifier is used tomatch 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. ]
»»»»»»» serializedPageFilter:
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 '|' 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
| Parameter | Value |
|---|---|
| » type | SIMPLE_UNIQUE |
| » type | SIMPLE_MULTIPLE |
| » type | PREPROCESSING_UNIQUE |
| » type | PREPROCESSING |
| » type | ADVANCED |
| »»»»»»»»»» @type | exb.Boolean |
| »»»»»»»»»» @type | exb.AND |
| »»»»»»»»»» @type | exb.OR |
| »»»»»»»»»» @type | exb.NOT |
| »»»»»»»»»»»»» @type | exv.Value |
| »»»»»»»»»»»»» @type | exv.Reference |
| »»»»»»»»»»»»» namespace | METADATA |
| »»»»»»»»»»»»» namespace | REQUIREMENT |
| »»»»»»»»»»»»» namespace | ORGANIZATIONAL_UNIT |
| »»»»»»»»»»»»» namespace | OUTPUT_FILE |
| »»»»»»»»»»»»»» @type | exv.FileName |
| »»»»»»»»»»»»»» @type | exv.PdfText |
| »»»»»»»»»»»»»» @type | exv.PdfMetadata |
| »»»»»»»»»»»»» @type | exv.Concat |
| »»»»»»»»»»»»» @type | exv.Coalesce |
| »»»»»»»»»»»»» @type | exv.StrClean |
| »»»»»»»»»»»»» @type | exv.StrNormalizeCase |
| »»»»»»»»»»»»» @type | exv.StrReplace |
| »»»»»»»»»»»»»» @type | exv.PositionInBox |
| »»»»»»»»»»»»» @type | exv.NumSheetsValue |
| »»»»»»»»»»»»» @type | exv.Substring |
| »»»»»»»»»»»»» @type | exv.CurrentDate |
| »»»»»»»»»»»»» @type | exv.DateParse |
| »»»»»»»»»»»»» @type | exv.DateFormat |
| »»»»»»»»»»»»» @type | exv.JobFileNameValue |
| »»»»»»»»»» @type | exb.ContentEqual |
| »»»»»»»»»» @type | exb.StrContains |
| »»»»»»»»»» @type | exb.StrStartsWith |
| »»»»»»»»»» @type | exb.StrEndsWith |
| »»»»»»»»»» @type | exb.LessThan |
| »»»»»»»»»» @type | exb.LessThanOrEqual |
| »»»»»»»»»» @type | exb.NumericEqual |
| »»»»»»»»»» @type | exb.StrMatches |
| »»»»» @type | box.PDF |
| »»»»»»»» @type | bsc.NONE |
| »»»»»»»» @type | bsc.PAGE |
| »»»»»»»» @type | bsc.PDF_AREA |
| »»»»»» @type | bap.Overlay |
| »»»»»» @type | bap.Image |
| »»»»»» targetType | ADDRESS_PAGE |
| »»»»»» targetType | DOCUMENT |
| »»»»»» targetType | COMPOSED_DOCUMENT |
| »»»»» @type | box.DATA_FILE |
| »»»»»» @type | par.CSV |
| »»»»»» @type | par.FixedWidth |
| »»»»»» @type | par.Seiitra |
| »»»»»» @type | par.JSON |
| »»»»» @type | box.ARCHIVE |
| »»»»» @type | svm.ConstantMetadata |
| »»»»» @type | svm.ControlledValue |
| »»»»»»» pageSize | A0 |
| »»»»»»» pageSize | A1 |
| »»»»»»» pageSize | A2 |
| »»»»»»» pageSize | A3 |
| »»»»»»» pageSize | A4 |
| »»»»»»» pageSize | A5 |
| »»»»»»» pageSize | A6 |
| »»»»»»» pageSize | SRA3 |
| »»»»»»» pageSize | A0-L |
| »»»»»»» pageSize | A1-L |
| »»»»»»» pageSize | A2-L |
| »»»»»»» pageSize | A3-L |
| »»»»»»» pageSize | A4-L |
| »»»»»»» pageSize | A5-L |
| »»»»»»» pageSize | A6-L |
| »»»»»»» pageSize | LETTER |
| »»»»»»» pageSize | LEGAL |
| »»»»»»» rotationDirection | LEFT |
| »»»»»»» rotationDirection | RIGHT |
| »»»»»»» rotationDirection | NONE |
| »»»»»»» printOnSide | ALL |
| »»»»»»» printOnSide | FRONT_SIDE |
| »»»»»»» printOnSide | BACK_SIDE |
| »»»»»»»»»» @type | ofa.RECTANGLE |
| »»»»»»»»»»» hAlign | CENTER |
| »»»»»»»»»»» hAlign | LEFT |
| »»»»»»»»»»» hAlign | RIGHT |
| »»»»»»»»»»» vAlign | BOTTOM |
| »»»»»»»»»»» vAlign | MIDDLE |
| »»»»»»»»»»» vAlign | TOP |
| »»»»»»»»»»» lineBreakMode | NEVER |
| »»»»»»»»»»» lineBreakMode | NORMAL |
| »»»»»»»»»»» lineBreakMode | ALL_CHARS |
| »»»»»»»»»»» lineBreakMode | BREAK_WORD |
| »»»»»»»»»» @type | ofa.TEXT |
| »»»»»»»»»» @type | ofa.RS.QRCODE |
Example responses
```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": "200 Response
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- \n
- a single page number \n
- an interval (1:3) \n
- 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) \n
- keywords among 'odd' and 'even' for respective page description \n
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Service | false | none | none |
| »» id | integer | false | none | none |
| »» type | string | false | none | none |
| »» name | string | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» properties | ServiceProperties | false | none | none |
| »»» description | string | false | none | none |
| »»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»» r | integer | false | none | none |
| »»»» g | integer | false | none | none |
| »»»» b | integer | false | none | none |
| »»»» a | number(float) | false | none | none |
| »»» iconName | string | false | none | none |
| »»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» label | string | false | none | none |
| »»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»» minElements | integer | true | none | none |
| »»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»» name | string | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» editable | boolean | false | none | none |
| »»»»»»»» content | Expression | false | none | none |
| »»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»» condition | any | true | none | none |
| »»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»» value | string | true | none | none |
| »»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»» targetType | string | true | none | none |
| »»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»» background | boolean | true | none | none |
| »»»»»»» editable | boolean | true | none | none |
| »»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»» @type | string | true | none | none |
| »»»»»» name | string | true | none | none |
| »»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» jobNameExpression | Expression | false | none | none |
| »»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»» packRequirements | object | false | none | none |
| »»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» content | Expression | false | none | none |
| »»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»» label | string | false | none | none |
| »»»» shipmentRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»» outputFilesConfig | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»» id | integer(int64) | false | none | none |
| »»»»»»» rank | integer | false | none | none |
| »»»»»»» default | boolean | false | none | none |
| »»»»»» composition | object | false | none | none |
| »»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»» margins | object | false | none | none |
| »»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»» name | string | false | none | none |
| »»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»» name | string | false | none | none |
| »»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» additionalCondition | any | false | none | none |
| »»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»» id | string | false | none | none |
| »»» originalFileName | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» removed | boolean | false | none | none |
| »» allowJobCreation | boolean | false | none | none |
| »» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| serviceId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Service | false | none | none |
| »» id | integer | false | none | none |
| »» type | string | false | none | none |
| »» name | string | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» properties | ServiceProperties | false | none | none |
| »»» description | string | false | none | none |
| »»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»» r | integer | false | none | none |
| »»»» g | integer | false | none | none |
| »»»» b | integer | false | none | none |
| »»»» a | number(float) | false | none | none |
| »»» iconName | string | false | none | none |
| »»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» label | string | false | none | none |
| »»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»» minElements | integer | true | none | none |
| »»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»» name | string | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» editable | boolean | false | none | none |
| »»»»»»»» content | Expression | false | none | none |
| »»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»» condition | any | true | none | none |
| »»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»» value | string | true | none | none |
| »»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»» targetType | string | true | none | none |
| »»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»» background | boolean | true | none | none |
| »»»»»»» editable | boolean | true | none | none |
| »»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»» @type | string | true | none | none |
| »»»»»» name | string | true | none | none |
| »»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» jobNameExpression | Expression | false | none | none |
| »»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»» packRequirements | object | false | none | none |
| »»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» content | Expression | false | none | none |
| »»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»» label | string | false | none | none |
| »»»» shipmentRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»» outputFilesConfig | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»» id | integer(int64) | false | none | none |
| »»»»»»» rank | integer | false | none | none |
| »»»»»»» default | boolean | false | none | none |
| »»»»»» composition | object | false | none | none |
| »»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»» margins | object | false | none | none |
| »»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»» name | string | false | none | none |
| »»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»» name | string | false | none | none |
| »»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» additionalCondition | any | false | none | none |
| »»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»» id | string | false | none | none |
| »»» originalFileName | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» removed | boolean | false | none | none |
| »» allowJobCreation | boolean | false | none | none |
| »» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| serviceId | path | integer(int64) | true | Id of Service to retrieve |
| force | query | boolean | false | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Service | false | none | none |
| »» id | integer | false | none | none |
| »» type | string | false | none | none |
| »» name | string | false | none | none |
| »» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» properties | ServiceProperties | false | none | none |
| »»» description | string | false | none | none |
| »»» iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»» r | integer | false | none | none |
| »»»» g | integer | false | none | none |
| »»»» b | integer | false | none | none |
| »»»» a | number(float) | false | none | none |
| »»» iconName | string | false | none | none |
| »»» boxes | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | AbstractBox | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» name | string | true | none | none |
| »»»»»»» label | string | false | none | none |
| »»»»»»» hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| »»»»»»» minElements | integer | true | none | none |
| »»»»»»» maxElements | integer | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| »»»»»»» parent | ParentWrapper | true | none | 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 |
| »»»»»»»» boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| »»»»»»»» fileMatcher | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» value | boolean | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr1 | any | false | none | none |
| »»»»»»»»»»» expr2 | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | any | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»» expr1 | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»»»»»»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»»»»»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» begin | integer | false | none | none |
| »»»»»»»»»»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»»»»»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» width | number(float) | false | none | none |
| »»»»»»»»»»»»»»»» height | number(float) | false | none | none |
| »»»»»»»»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»»»»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»»»»»»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»»»»»»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»»»»»»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»»»»»»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»»»»»»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»»»»»»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»»»»»»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» expr | Expression | true | none | none |
| »»»»»»»»»»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»»»»»»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»»»»»»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»»»»»»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»»»»»»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» expr2 | Expression | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» expr | Expression | false | none | none |
| »»»»»»»»»»» regExpPattern | string | false | none | valid Regular Expression to check the value against |
| »»»»»»»»»»» matchWhole | boolean | false | none | 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. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» rank | integer | false | none | Used to sort multiple 'fileMatcher' expressions extracting from the same BoxArchive (extractor process will ty to match rank 1, then rank 2 ...) |
| »»»»»»» metadatas | [BoxMetadata] | true | none | [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.] |
| »»»»»»»» name | string | false | none | none |
| »»»»»»»» persist | boolean | false | none | none |
| »»»»»»»» editable | boolean | false | none | none |
| »»»»»»»» content | Expression | false | none | none |
| »»»»»»» reconcile | BoxReconciliation | true | none | none |
| »»»»»»»» condition | any | true | none | none |
| »»»»»»»» minExpected | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| »»»»»»»» minMatches | integer | false | none | default 0. Cannot be negative. |
| »»»»»»»» maxMatches | integer | false | none | default 1. Can only be strictly positive or -1. |
| »»»»»»» configuredFiles | [ConfiguredFile] | true | none | none |
| »»»»»»»» serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| »»»»»»»» removable | boolean | false | none | if false this ConfiguredFile is mandatory on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| »»»»»» splitConfig | any | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
| »»»»»»»»» editable | boolean | true | none | none |
| »»»»»»»»» @type | string | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» pages | integer | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»» @type | string | false | none | none |
| »»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»» value | string | true | none | none |
| »»»»»»»»» pages | integer | true | none | none |
| »»»»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» hasAddressPage | boolean | false | none | none |
| »»»»»» appositions | [BoxAppositionFile] | false | none | none |
| »»»»»»» @type | string | true | none | none |
| »»»»»»» id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| »»»»»»» targetType | string | true | none | none |
| »»»»»»» serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| »»»»»»» background | boolean | true | none | none |
| »»»»»»» editable | boolean | true | none | none |
| »»»»»»» serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» parserConfiguration | ParserConfiguration | false | none | none |
| »»»»»»» @type | string | true | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» serviceMetadatas | [oneOf] | false | none | Optional list of ServiceMetadata (common to whole Job) |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
| »»»»»» @type | string | true | none | none |
| »»»»»» name | string | true | none | none |
| »»»»»» editable | boolean | false | none | if true, can be entered by User on Job creation |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| »»»»»» properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | object | false | none | none |
| »»»»»» @type | string | false | none | none |
| »»»»»» controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» jobNameExpression | Expression | false | none | none |
| »»» jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| »»» packRequirements | object | false | none | none |
| »»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»»» content | Expression | false | none | none |
| »»»»» editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| »»»»» editableValue | boolean | false | none | Expression value can be edited after Pack/PackGroup creation (to modify eligibility) |
| »»» channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| »»»» id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| »»»» label | string | false | none | none |
| »»»» shipmentRequirements | object | false | none | none |
| »»»»» additionalProperties | RequirementEvaluable | false | none | none |
| »»»» outputFilesConfig | object | false | none | none |
| »»»»» additionalProperties | ServiceChannelOutputFile | false | none | none |
| »»»»»» options | [ServiceChannelOutputFileOption] | false | none | none |
| »»»»»»» id | integer(int64) | false | none | none |
| »»»»»»» rank | integer | false | none | none |
| »»»»»»» default | boolean | false | none | none |
| »»»»»» composition | object | false | none | none |
| »»»»»»» operations | [ServiceChannelOutputFileComposition] | false | none | [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. ] |
| »»»»»»»» boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| »»»»»»»»» main | boolean | false | none | If true, the target box is any MAIN box |
| »»»»»»»»» boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| »»»»»»»» serializedPageFilter | string | false | none | 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 ' |
| »»»»»»»» pageSize | string | false | none | 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. |
| »»»»»»»» rotationDirection | string | false | none | none |
| »»»»»»»» margins | object | false | none | none |
| »»»»»»»»» additionalProperties | MarginArea | false | none | MarginArea object |
| »»»»»»»»»» left | number(float) | false | none | none |
| »»»»»»»»»» top | number(float) | false | none | none |
| »»»»»»»»»» right | number(float) | false | none | none |
| »»»»»»»»»» bottom | number(float) | false | none | none |
| »»»»»»»» nbDuplicates | integer(int64) | false | none | none |
| »»»»»»»» canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| »»»»»»»» skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| »»»»»»»» addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| »»»»»»»» appositions | [oneOf] | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
| »»»»»»»»»»» @type | string | true | none | none |
| »»»»»»»»»»» pageFilter | string | false | none | 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. |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionConfigRectangle | false | none | none |
| »»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
| »»»»»»»»»»»» area | ZoneArea | true | none | ZoneArea object |
| »»»»»»»»»»»» bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» margins | MarginArea | false | none | MarginArea object |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»» fontName | string | false | none | none |
| »»»»»»»»»»»» fontSize | number(float) | false | none | none |
| »»»»»»»»»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»»»»»»»» lineSpace | integer(float) | false | none | none |
| »»»»»»»»»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»»»»»»»»» rtl | boolean | false | none | none |
| »»»»»»»»»»»» lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
| »»»»»»»»»»» contentEvaluator | Expression | true | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»» anonymous | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»» @type | string | false | none | none |
| »»»»»»»»»»» text | any | false | none | none |
| »»»»»»»»»»» qrCode | any | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»»»»»»»» anonymous | object | false | none | none |
| »»»»»»»»»»»»» color | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»» groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| »»»» name | string | false | none | none |
| »»»» groups | [SendingGroup] | false | none | SendingGroup names MUST be unique whithin a SendingStrategy |
| »»»»» name | string | false | none | none |
| »»»»» serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| »»»»» additionalCondition | any | false | none | none |
| »»» sendingStrategy | GroupingConfiguration | false | none | none |
| »»»» groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| »»»» groupOnRequirement | boolean | false | none | If true name of a Requirement (Pack or ServiceChannel scope) if false name of a Metadata |
| »» serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| »»» id | string | false | none | none |
| »»» originalFileName | string | false | none | none |
| »»» fileSize | integer(int64) | false | none | none |
| »»» storedDate | integer(int64) | false | none | none |
| »» removed | boolean | false | none | none |
| »» allowJobCreation | boolean | false | none | none |
| »» inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| »» forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
| @type | exb.Boolean |
| @type | exb.AND |
| @type | exb.OR |
| @type | exb.NOT |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.StrEndsWith |
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.NumericEqual |
| @type | exb.StrMatches |
| @type | box.PDF |
| @type | bsc.NONE |
| @type | bsc.PAGE |
| @type | bsc.PDF_AREA |
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_DOCUMENT |
| @type | box.DATA_FILE |
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.JSON |
| @type | box.ARCHIVE |
| @type | svm.ConstantMetadata |
| @type | svm.ControlledValue |
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_SIDE |
| @type | ofa.RECTANGLE |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_WORD |
| @type | ofa.TEXT |
| @type | ofa.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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| serviceId | path | integer(int64) | true | Filter sending Service Id |
| serviceFileUuid | path | string | true | Filter ServiceFile UUID |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| submittedFile | body | string(binary) | true | file to upload |
| parameters | body | DataFileTestParameter | false | Should define either a (serviceId, boxDataFileName) or a ParserConfiguration |
| » serviceId | body | integer(int64) | false | Can be null (Optional) |
| » boxDataFileName | body | string | false | none |
| » parserConfiguration | body | ParserConfiguration | false | none |
| »» @type | body | string | true | none |
Enumerated Values
| Parameter | Value |
|---|---|
| »» @type | par.CSV |
| »» @type | par.FixedWidth |
| »» @type | par.Seiitra |
| »» @type | par.JSON |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [object] | false | none | none |
| »» additionalProperties | string | false | none | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [TempFile] | false | none | none |
| »» fileId | string | false | none | none |
| »» originFileName | string | false | none | none |
| »» storedDate | string | false | none | none |
| »» fileSize | integer(int64) | false | none | none |
| »» pageCount | integer | false | none | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Array 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [TempFile] | false | none | none |
| »» fileId | string | false | none | none |
| »» originFileName | string | false | none | none |
| »» storedDate | string | false | none | none |
| »» fileSize | integer(int64) | false | none | none |
| »» pageCount | integer | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| fileId | path | string | true | Filter fileId |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| externalIds | query | string | false | JSON array of Shipment externalIds (string) ; URL percent encoded |
| outputFileNUIDs | query | string | false | JSON array of OutputFile NUIDs (string) ; URL percent encoded |
| trackingValues | query | string | false | JSON 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Shipment] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» externalId | string | false | none | none |
| »» status | integer | false | none | none |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»» message | string | false | none | Optional user provided info |
| »» packGroupId | integer(int64) | false | none | none |
| »» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» deliveryExternalId | string | false | none | none |
| »» deliveryCreationDate | integer(int64) | false | none | none |
| »» deliveryPostDate | integer(int64) | false | none | none |
| »» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» metadatas | [Metadata] | false | none | none |
| »»» name | string | false | none | none |
| »»» metadataKind | string | false | none | none |
| »»» metadataType | string | false | none | none |
| »»» value | string | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »» outputFiles | [OutputFile] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» nuid | string | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»» fileSize | integer(int64) | false | none | none |
| »»» pageCount | integer | false | none | none |
| »»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»» outputFileOptionIds | [integer] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | ShipmentPostParameter | false | none |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Shipment] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» externalId | string | false | none | none |
| »» status | integer | false | none | none |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»» message | string | false | none | Optional user provided info |
| »» packGroupId | integer(int64) | false | none | none |
| »» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» deliveryExternalId | string | false | none | none |
| »» deliveryCreationDate | integer(int64) | false | none | none |
| »» deliveryPostDate | integer(int64) | false | none | none |
| »» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» metadatas | [Metadata] | false | none | none |
| »»» name | string | false | none | none |
| »»» metadataKind | string | false | none | none |
| »»» metadataType | string | false | none | none |
| »»» value | string | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »» outputFiles | [OutputFile] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» nuid | string | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»» fileSize | integer(int64) | false | none | none |
| »»» pageCount | integer | false | none | none |
| »»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»» outputFileOptionIds | [integer] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| shipmentId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [Shipment] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» externalId | string | false | none | none |
| »» status | integer | false | none | none |
| »» lastModifiedState | integer(int64) | false | none | none |
| »» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»» message | string | false | none | Optional user provided info |
| »» packGroupId | integer(int64) | false | none | none |
| »» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» id | integer(int64) | false | none | none |
| »»» name | string | false | none | login or displayable name |
| »» deliveryExternalId | string | false | none | none |
| »» deliveryCreationDate | integer(int64) | false | none | none |
| »» deliveryPostDate | integer(int64) | false | none | none |
| »» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» metadatas | [Metadata] | false | none | none |
| »»» name | string | false | none | none |
| »»» metadataKind | string | false | none | none |
| »»» metadataType | string | false | none | none |
| »»» value | string | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »» outputFiles | [OutputFile] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» nuid | string | false | none | none |
| »»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»» fileSize | integer(int64) | false | none | none |
| »»» pageCount | integer | false | none | none |
| »»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»» outputFileOptionIds | [integer] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | id of job owner |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To date (yyyy-mm-dd) |
| maxResults | query | integer | false | Limit 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [Shipment] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» externalId | string | false | none | none |
| »»» status | integer | false | none | none |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»» message | string | false | none | Optional user provided info |
| »»» packGroupId | integer(int64) | false | none | none |
| »»» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» deliveryExternalId | string | false | none | none |
| »»» deliveryCreationDate | integer(int64) | false | none | none |
| »»» deliveryPostDate | integer(int64) | false | none | none |
| »»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» metadatas | [Metadata] | false | none | none |
| »»»» name | string | false | none | none |
| »»»» metadataKind | string | false | none | none |
| »»»» metadataType | string | false | none | none |
| »»»» value | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »»» outputFiles | [OutputFile] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» nuid | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»» fileSize | integer(int64) | false | none | none |
| »»»» pageCount | integer | false | none | none |
| »»»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»»» outputFileOptionIds | [integer] | false | none | none |
| »» maxResult | boolean | false | none | true if array may be truncated |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [integer] | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| statusValues | query | integer(int64) | false | If present, comma-separated list of integral status values (URL encoded) . If NOT given, all Shipments with negative (error) status are retrieved |
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | id of job owner |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | object | false | none | none |
| »» array | [Shipment] | false | none | none |
| »»» id | integer(int64) | false | none | none |
| »»» externalId | string | false | none | none |
| »»» status | integer | false | none | none |
| »»» lastModifiedState | integer(int64) | false | none | none |
| »»» eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| »»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»» message | string | false | none | Optional user provided info |
| »»» packGroupId | integer(int64) | false | none | none |
| »»» delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» deliveryExternalId | string | false | none | none |
| »»» deliveryCreationDate | integer(int64) | false | none | none |
| »»» deliveryPostDate | integer(int64) | false | none | none |
| »»» channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» deliveryCommandCreationDate | integer(int64) | false | none | none |
| »»» job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»» metadatas | [Metadata] | false | none | none |
| »»»» name | string | false | none | none |
| »»»» metadataKind | string | false | none | none |
| »»»» metadataType | string | false | none | none |
| »»»» value | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| »»»» countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| »»»» serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
| »»» outputFiles | [OutputFile] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» nuid | string | false | none | none |
| »»»» filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| »»»» fileSize | integer(int64) | false | none | none |
| »»»» pageCount | integer | false | none | none |
| »»»» forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| »»»» outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| »»»» preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| »»»» outputFileOptionIds | [integer] | false | none | none |
| »» maxResult | boolean | false | none | true if array may be truncated |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| targetOUId | query | integer(int64) | false | Id of target OrganizationalUnit filter (either filter on target OU or User) |
| targetOwnerId | query | integer(int64) | false | id of job owner |
| unacknowledged | query | string | false | If 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 |
| lastModifiedDate | query | string | false | If 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 |
| fromDate | query | string | false | From date (yyyy-mm-dd) |
| toDate | query | string | false | To 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | ShipmentCounters | false | none | Map Shipment.status -> count ; Shipment.status is signed int32 ; count is positive int64 |
| »» additionalProperties | integer(int64) | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| shipmentId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [allOf] | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
| »»» revision | integer(int64) | true | none | Revision Primary Key (global for all entities) |
| »»» timestamp | integer(int64) | true | none | Epoch millis |
| »»» clientAddress | string | false | none | IP address of front-end client if any |
| »»» loggedUserId | integer(int64) | false | none | none |
| »»» loggedUserLogin | string | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »» anonymous | object | false | none | none |
| »»» id | integer(int64) | false | none | Shipment Id |
| »»» status | integer | false | none | Numeric status of Shipment |
| »»» eventDate | integer(int64) | false | none | Optional , date of this status from the provider tracking file |
| »»» userAcknowledgment | UserAcknowledgment | false | none | none |
| »»»» message | string | false | none | Optional 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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| shipmentId | path | integer(int64) | true | shipmentId |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| outputFileId | path | integer(int64) | true | outputFileId |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| shipmentId | path | integer | true | Shipment Id (long int64) |
| trackingName | path | string | true | Name (string) of the Metadata of kind TRACKING and type FILE |
Example responses
200 Response
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | string |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | AcknowledgmentParameter | false | none |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | ForceStatusParameter | false | none |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| ouId | query | integer(int64) | false | Optional 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [User] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | read-only | none |
| »» profile | Profile | false | none | field can be null id super admin |
| »»» id | integer(int64) | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» name | string | false | none | none |
| »»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»» permissionsOnOU | integer | false | none | 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) |
| »» login | string | false | none | none |
| »» password | string(password) | false | none | none |
| »» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »» allowAddresses | string | false | none | 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 | string | false | none | none |
| »» firstName | string | false | none | none |
| »» lastName | string | false | none | none |
| »» emailAddress | string(email) | false | none | none |
| »» phoneNumber | string | false | none | none |
| »» mobileNumber | string | false | none | none |
| »» locale | string | false | none | fr-FR |
| »» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »» enable | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
| »» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» passwordExpireDays | integer | false | read-only | 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. |
| »» creationLink | string | false | write-only | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | User | true | Option 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | User | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | read-only | none |
| »» profile | Profile | false | none | field can be null id super admin |
| »»» id | integer(int64) | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» name | string | false | none | none |
| »»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»» permissionsOnOU | integer | false | none | 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) |
| »» login | string | false | none | none |
| »» password | string(password) | false | none | none |
| »» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »» allowAddresses | string | false | none | 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 | string | false | none | none |
| »» firstName | string | false | none | none |
| »» lastName | string | false | none | none |
| »» emailAddress | string(email) | false | none | none |
| »» phoneNumber | string | false | none | none |
| »» mobileNumber | string | false | none | none |
| »» locale | string | false | none | fr-FR |
| »» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »» enable | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
| »» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» passwordExpireDays | integer | false | read-only | 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. |
| »» creationLink | string | false | write-only | 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) |
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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | [User] | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | read-only | none |
| »» profile | Profile | false | none | field can be null id super admin |
| »»» id | integer(int64) | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» name | string | false | none | none |
| »»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»» permissionsOnOU | integer | false | none | 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) |
| »» login | string | false | none | none |
| »» password | string(password) | false | none | none |
| »» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »» allowAddresses | string | false | none | 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 | string | false | none | none |
| »» firstName | string | false | none | none |
| »» lastName | string | false | none | none |
| »» emailAddress | string(email) | false | none | none |
| »» phoneNumber | string | false | none | none |
| »» mobileNumber | string | false | none | none |
| »» locale | string | false | none | fr-FR |
| »» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »» enable | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
| »» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» passwordExpireDays | integer | false | read-only | 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. |
| »» creationLink | string | false | write-only | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| userId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | User | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | read-only | none |
| »» profile | Profile | false | none | field can be null id super admin |
| »»» id | integer(int64) | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» name | string | false | none | none |
| »»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»» permissionsOnOU | integer | false | none | 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) |
| »» login | string | false | none | none |
| »» password | string(password) | false | none | none |
| »» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »» allowAddresses | string | false | none | 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 | string | false | none | none |
| »» firstName | string | false | none | none |
| »» lastName | string | false | none | none |
| »» emailAddress | string(email) | false | none | none |
| »» phoneNumber | string | false | none | none |
| »» mobileNumber | string | false | none | none |
| »» locale | string | false | none | fr-FR |
| »» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »» enable | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
| »» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» passwordExpireDays | integer | false | read-only | 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. |
| »» creationLink | string | false | write-only | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| userId | path | integer(int64) | true | Id of User to remove |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | UserPassword | true | Option objects |
Example responses
200 Response
{ "type": "object", "properties": { "result": { "type": "string", "example": "SUCCESS" } }}Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | string | false | none | none |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| body | body | User | true | Option 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | User | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» creationDate | integer(int64) | false | read-only | none |
| »» profile | Profile | false | none | field can be null id super admin |
| »»» id | integer(int64) | false | none | none |
| »»» organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »»»» id | integer(int64) | false | none | none |
| »»»» name | string | false | none | login or displayable name |
| »»» name | string | false | none | none |
| »»» roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| »»» permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| »»» permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| »»» permissionsOnOU | integer | false | none | 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) |
| »» login | string | false | none | none |
| »» password | string(password) | false | none | none |
| »» lastPasswordUpdate | integer(int64) | false | read-only | none |
| »» allowAddresses | string | false | none | 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 | string | false | none | none |
| »» firstName | string | false | none | none |
| »» lastName | string | false | none | none |
| »» emailAddress | string(email) | false | none | none |
| »» phoneNumber | string | false | none | none |
| »» mobileNumber | string | false | none | none |
| »» locale | string | false | none | fr-FR |
| »» allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| »» uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| »» enable | boolean | false | none | none |
| »» accountExpired | boolean | false | none | none |
| »» removed | boolean | false | none | none |
| »» group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| »» passwordExpireDays | integer | false | read-only | 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. |
| »» creationLink | string | false | write-only | 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) |
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
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| channelId | path | integer(int64) | true | Id 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
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Call triggered | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » result | Channel | false | none | none |
| »» id | integer(int64) | false | none | none |
| »» channelType | string | false | none | none |
| »» name | string | false | none | none |
| »» providerName | string | false | none | none |
| »» workingDays | string | false | none | Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday) |
| »» maxFutureDays | integer | false | none | Maximum number of days for future "post date" (must be >= 0) |
| »» cutoffTime | string | false | none | hh:mm:ss (optional minutes and seconds) in provider TimeZone |
| »» timeZone | string | false | none | Provider TimeZone to compute workinDay and cutoffTime for "post date" |
| »» additionalProductionDays | string | false | none | Add some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day) |
| »» externalOutputTrigger | boolean | false | none | If true output of this Channel is trigged by an external-output-token |
| »» resetExternalOutputToken | boolean | false | write-only | If true back-end application regenerate a random external-output-token |
| »» externalOutputToken | string | false | none | Token used to exteranlly trigger output on this Channel |
| »» enabled | boolean | false | none | none |
| »» fallbackOnStatuses | string | false | none | list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450 |
| »» properties | ChannelProperties | false | none | none |
| »»» requirements | [Requirement] | false | none | [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] |
| »»»» type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| »»»» name | string | false | none | none |
| »»»» content | Expression | false | none | none |
oneOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionConstant | false | none | Pre-defined text value |
| »»»»»» @type | string | false | none | none |
| »»»»»» value | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
| »»»»»» @type | string | false | none | none |
| »»»»»» namespace | ReferenceNamespace | false | none | 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 |
| »»»»»» identifier | string | false | none | Identifier of the element |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Part of the name of the underlying file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» fromMain | boolean | false | none | If true, the target box is a MAIN box |
| »»»»»»» boxName | string | false | none | Ignored if fromMain is true. Otherwise, indicates the name of the target box |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» begin | integer | false | none | none |
| »»»»»»» end | integer | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| »»»»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»»»»» left | number(float) | false | none | none |
| »»»»»»»» top | number(float) | false | none | none |
| »»»»»»»» width | number(float) | false | none | none |
| »»»»»»»» height | number(float) | false | none | none |
| »»»»»»» extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
| »»»»»»»» additionalProperties | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | PDF metadata value from the underlying PDF file of the box |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
| »»»»»»» metadataName | string | false | none | Name of the PDF metadata to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
| »»»»»» @type | string | false | none | none |
| »»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
| »»»»»» @type | string | false | none | none |
| »»»»»» operands | [oneOf] | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrClean | false | none | Cleans a string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| »»»»»» removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| »»»»»» multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| »»»»»» trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| »»»»»» replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| »»»»»» firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | Absolute position of a Chunk in a Box. First Chunk has position 00001 . Can be used to sort Shipments in Packing service by defining a persisted Metadata of value PositionInBox on MAIN Box. |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»»» anonymous | object | false | none | none |
| »»»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
| »»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | false | none | none |
| »»»»»» beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| »»»»»» endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
| »»»»»» @type | string | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | true | none | none |
| »»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| »»»»»» timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| »»»»»» locale | string | false | none | Locale used to 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
| »»»»»» @type | string | false | none | none |
| »»»»»» expr | Expression | true | none | none |
| »»»»»» pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| »»»»»» timeZone | string | true | none | TimeZone used to format the date. |
| »»»»»» locale | string | false | none | Locale used to format 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | JobFileNameValue | false | none | Name of a file in a box. Can be used in JobNameExpression on Job creation. |
| »»»»»» @type | string | false | none | none |
| »»»»»» boxName | string | false | none | Name of the Box (must exist in the Service) |
| »»»»»» indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| »»»»»» keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»»» anonymous | any | false | none | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| »»»» validation | string | false | none | Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated) |
| »»»» validationParameters | object | false | none | Map String -> String of parameters if needed by the validator |
| »»»»» additionalProperties | string | false | none | none |
| »»»» forceValidation | string | false | none | Name of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement |
| »»»» forceValidationParameters | object | false | none | Map String -> String of parameters if needed by the "force" validator |
| »»»»» additionalProperties | string | false | none | none |
| »»» trackingURLs | object | false | none | Map of URL templates to retrieve external tracking info. Key is name of Tracking |
| »»»» additionalProperties | string | false | none | none |
| »»» trackingProperties | object | false | none | Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application. |
| »»»» additionalProperties | object | false | none | none |
| »» outputFileDefinitions | [OutputFileDefinition] | false | none | none |
| »»» name | string | false | none | must be unique within a Channel |
| »»» mainOutputFile | boolean | false | none | Configuration of the MAIN output file of the Shipment |
| »»» properties | OutputFileDefinitionProperties | false | none | none |
| »»»» preserveIntegrity | boolean | false | none | 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 | [TechnicalArea] | false | none | [Channel technical area] |
| »»»»» area | ZoneArea | false | none | ZoneArea object |
| »»»»» type | string | false | none | none |
| »»»»» page | string | false | none | none |
| »»»»» check | string | false | none | none |
| »»»»» colorBAT | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»»» r | integer | false | none | none |
| »»»»»» g | integer | false | none | none |
| »»»»»» b | integer | false | none | none |
| »»»»»» a | number(float) | false | none | none |
| »»»»» colorProd | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» colorError | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» contentEvaluator | Expression | false | none | none |
| »»»»» fontName | string | false | none | none |
| »»»»» fontSize | number(float) | false | none | none |
| »»»»» fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| »»»»» linespace | integer(float) | false | none | none |
| »»»»» hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»» vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| »»»»» rtl | boolean | false | none | none |
| »»»» forceAddressPage | boolean | false | none | none |
| »»» outputFileOptions | [Option] | false | none | none |
| »»»» id | integer(int64) | false | none | none |
| »»»» optionType | OptionType | false | none | none |
| »»»»» id | integer(int64) | false | none | none |
| »»»»» name | string | false | none | none |
| »»»»» recomputeTrigger | boolean | false | none | Modifying this OptionType must recompute Options with selectable condition |
| »»»» value | string | false | none | none |
| »»»» rank | integer | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»»» default | boolean | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| »»»» properties | OptionProperties | false | none | none |
| »»»»» selectableCondition | object | false | none | BooleanExpression with ShipmentContext computing getTotalNumSheets |
Enumerated Values
| Property | Value |
|---|---|
| channelType | |
| channelType | REGISTERED |
| channelType | |
| channelType | REGISTERED_EMAIL |
| channelType | LOCAL_PRINT |
| channelType | SAFE_EMAIL |
| channelType | PACKING |
| channelType | SMS |
| type | POSTAL_ADDRESS |
| type | TEXT |
| type | MULTILINE |
| type | HTML |
| type | PHONE |
| @type | exv.Value |
| @type | exv.Reference |
| namespace | METADATA |
| namespace | REQUIREMENT |
| namespace | ORGANIZATIONAL_UNIT |
| namespace | OUTPUT_FILE |
| @type | exv.FileName |
| @type | exv.PdfText |
| @type | exv.PdfMetadata |
| @type | exv.Concat |
| @type | exv.Coalesce |
| @type | exv.StrClean |
| @type | exv.StrNormalizeCase |
| @type | exv.StrReplace |
| @type | exv.PositionInBox |
| @type | exv.NumSheetsValue |
| @type | exv.Substring |
| @type | exv.CurrentDate |
| @type | exv.DateParse |
| @type | exv.DateFormat |
| @type | exv.JobFileNameValue |
| type | TEXT |
| type | RECTANGLE |
| type | BARCODE |
| type | DATAMATRIX |
| type | QRCODE |
| page | FIRST |
| page | FRONT_PAGE |
| check | NONE |
| check | TEXT |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| authToken | string | false | none | none |
| authTokenExpirationDate | string | false | none | none |
| user | User | false | none | none |
| organizationalUnit | OrganizationalUnit | false | none | Note: parent parameter can be NULL if root OU |
| services | [Service] | false | none | none |
ModuleVersion
{ "type": "object", "properties": { "artifactId": { "type": "string" }, "artifactVersion": { "type": "string" }, "scmrevision": { "type": "string" }, "buildTimestamp": { "type": "string" }, "buildUserName": { "type": "string" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| artifactId | string | false | none | none |
| artifactVersion | string | false | none | none |
| scmrevision | string | false | none | none |
| buildTimestamp | string | false | none | none |
| buildUserName | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| pdfLibName | string | false | none | none |
| availableFonts | [string] | false | none | List the fonts available when writing Text on the document |
| countries | [string] | false | none | List of the countries' codes known by the application. |
| locales | [string] | false | none | List the available locales/languages for the user in the application |
| timeZones | [string] | false | none | List the available TimeZones of the application |
| channels | object | false | none | none |
| » requirementTypeList | [string] | false | none | List of types of requirements managed in the application. Current managed types are POSTAL_ADDRESS, TEXT, HTML and PHONE. |
| » technicalAreasTypeList | [string] | false | none | List of types of technical areas managed in the application. Current managed types are TEXT, RECTANGLE, BARCODE and DATAMATRIX. |
| » technicalAreasPageList | [string] | false | none | List of pages kinds for technical areas managed in the application. Current kinds are FIRST, FRONT_PAGE and ALL. |
| » technicalAreasCheckList | [string] | false | none | List of checks that can be performed on technical areas. Current managed checks are NONE and TEXT. |
| » normalizedRequirementMap | object | false | none | Map of pre-defined requirements known by the application. The key is the name of the requirement, the value its type (one of requirementTypeList). |
| »» additionalProperties | string | false | none | none |
| validation | object | false | none | none |
| » validationProcedures | [string] | false | none | List of validation procedures available for requirements of type TEXT, HTML or PHONE. |
| » addressValidation | [string] | false | none | List of validation procedures available for requirements of type POSTAL_ADDRESS. |
| services | object | false | none | none |
| » fileTypeList | [string] | false | none | List of types of boxes available in the application. Currently known types are PDF, DATA_FILE and ARCHIVE. |
| frontConfiguration | object | false | none | JSON object loaded from FrontConfiguration file |
Enumerated Values
| Property | Value |
|---|---|
| pdfLibName | STANDARD |
| pdfLibName | ADVANCED |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| javaVersion | string | false | none | none |
| moduleVersions | [ModuleVersion] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| area | ZoneArea | true | none | ZoneArea object |
| bgColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| margins | MarginArea | false | none | MarginArea 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » color | Color | false | none | Color 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AppositionConfigBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » fontName | string | false | none | none |
| » fontSize | number(float) | false | none | none |
| » fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| » lineSpace | integer(float) | false | none | none |
| » hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| » vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| » rtl | boolean | false | none | none |
| » lineBreakMode | string | false | none | How to handle text when end of line is reached. Defaults to NEVER (text will be truncated). |
Enumerated Values
| Property | Value |
|---|---|
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
| lineBreakMode | NEVER |
| lineBreakMode | NORMAL |
| lineBreakMode | ALL_CHARS |
| lineBreakMode | BREAK_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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| contentEvaluator | Expression | true | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionConstant | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionAndOr | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionNot | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionStrEqual | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionNumeric | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionStrMatches | false | none | none |
BooleanExpressionBasic
{ "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | true | none | none |
BooleanExpressionConstant
{ "allOf": [ { "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string" } } }, { "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exb.Boolean" ] }, "value": { "type": "boolean" } } } ]}Properties
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » value | boolean | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exb.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » expr1 | BooleanExpression | false | none | none |
| » expr2 | BooleanExpression | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exb.AND |
| @type | exb.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » expr | BooleanExpression | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exb.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » expr1 | Expression | false | none | none |
| » expr2 | Expression | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionOperator | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exb.ContentEqual |
| @type | exb.StrContains |
| @type | exb.StrStartsWith |
| @type | exb.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » expr | Expression | false | none | none |
| » regExpPattern | string | false | none | valid Regular Expression to check the value against |
| » matchWhole | boolean | false | none | 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. |
Enumerated Values
| Property | Value |
|---|---|
| @type | exb.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BooleanExpressionOperator | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exb.LessThan |
| @type | exb.LessThanOrEqual |
| @type | exb.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxDoc | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxDataFile | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxArchive | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | true | none | none |
| name | string | true | none | none |
| label | string | false | none | none |
| hidden | boolean | true | none | If true, Front-end GUI should hide this Box (NOT visible and NOT editable) ; default is false = NOT hidden |
| minElements | integer | true | none | none |
| maxElements | integer | true | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » main | boolean | true | none | true if MAIN ; false if ATTACHMENT |
| » parent | ParentWrapper | true | none | 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 | [BoxMetadata] | true | none | [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 | BoxReconciliation | true | none | none |
| » configuredFiles | [ConfiguredFile] | true | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AbstractInflatedBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » integrityPreservable | boolean | false | none | if true, this Box can be the source of an OutputFile with "preserveIntegrity" flag |
| » splitConfig | BoxSplitConfiguration | false | none | none |
| » hasAddressPage | boolean | false | none | none |
| » appositions | [BoxAppositionFile] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | box.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AbstractInflatedBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » parserConfiguration | ParserConfiguration | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | box.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AbstractBox | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » encoding | string | false | none | Encoding of file names within Zip archive (if null default is 'IBM437') |
Enumerated Values
| Property | Value |
|---|---|
| @type | box.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| boxName | string | false | none | Name of BoxArchive to extract files from. Must be a valid BoxArchive in current Service |
| fileMatcher | BooleanExpression | false | none | none |
| rank | integer | false | none | Used 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | true | none | none |
| id | string | true | none | Identifier of this Apposition (integer or UUID or null for creation of a new Apposition) |
| targetType | string | true | none | none |
| serializedPageFilter | string | true | none | Same as ServiceChannelOutputFileComposition.serializedPageFilter |
| background | boolean | true | none | none |
| editable | boolean | true | none | none |
| serviceFileId | string | false | none | optional, id of the ServiceFile in the list of ServiceFiles of the Service |
Enumerated Values
| Property | Value |
|---|---|
| @type | bap.Overlay |
| @type | bap.Image |
| targetType | ADDRESS_PAGE |
| targetType | DOCUMENT |
| targetType | COMPOSED_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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxAppositionFile | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | bap.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| area | ZoneArea | true | none | ZoneArea object |
| keepAspectRatio | boolean | true | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxAppositionFile | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | bap.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | none |
| persist | boolean | false | none | none |
| editable | boolean | false | none | none |
| content | Expression | false | none | none |
ParserConfiguration
{ "required": [ "@type" ], "type": "object", "properties": { "@type": { "type": "string", "enum": [ "par.CSV", "par.FixedWidth", "par.Seiitra", "par.JSON" ] } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | par.CSV |
| @type | par.FixedWidth |
| @type | par.Seiitra |
| @type | par.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| encoding | string | true | none | Encoding of the file for parsing. Must be a known encoding of the JVM. |
| separator | string | true | none | none |
| quoteChar | string | false | none | none |
| headerPresent | boolean | false | none | none |
| usedColumnNames | [string] | false | none | List of column name. Only one of usedColumnNames or metadataMapping should be configured. |
| metadataMapping | object | false | none | Map of column Index -> Name of column. Only one of usedColumnNames or metadataMapping should be configured. |
| » additionalProperties | string | false | none | none |
| lenient | boolean | false | none | If true, non-existing column does not throw an error, it returns an empty String metadata value |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ParserConfiguration | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | par.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| encoding | string | true | none | none |
| columnWidths | [integer] | true | none | 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]). |
| metadataMapping | object | true | none | Map of column Index -> Name of column |
| » additionalProperties | string | false | none | none |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ParserConfiguration | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | par.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| encoding | string | true | none | none |
| skipLinesBefore | integer | false | none | Number of header lines to skip before parsing data lines (can be 0) |
| skipLinesAfter | integer | false | none | Number of footer lines to skip after parsing data lines (can be 0) |
| separator | string | true | none | Separator can be any non-empty raw string (NOT in regex syntax) |
| metadataMapping | object | true | none | Map of column Index -> Name of column |
| » additionalProperties | string | false | none | none |
| lenient | boolean | false | none | As for CSV, if true, non-existing column does not throw an error, it returns an empty String metadata value |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ParserConfiguration | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | par.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| encoding | string | true | none | JSON parser only support UTF-8 charset |
| elementsJSONPointer | string | false | none | JSON Pointer to locate aray node relative to the JSON root node. The array node should contain child elements |
| metadataMapping | object | false | none | Map of JSON Pointer -> Name of virtual column. The JSON Pointer locates a field (must be a ValueNode) relative to the current child element |
| » additionalProperties | string | false | none | none |
| globalMetadataMapping | object | false | none | Map of JSON Pointer -> Name of virtual column. Same as metadataMapping but relative to the JSON root node |
| » additionalProperties | string | false | none | none |
| lenient | boolean | false | none | If a JSON field is missing, the parser does not throw an error, it returns an empty String metadata value |
allOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ParserConfiguration | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | par.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxSplitConfigurationNone | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxSplitConfigurationPage | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxSplitConfigurationPDFArea | false | none | none |
BoxSplitConfigurationBasic
{ "required": [ "@type", "editable" ], "type": "object", "properties": { "editable": { "type": "boolean" }, "@type": { "type": "string" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| editable | boolean | true | none | none |
| @type | string | true | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | bsc.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » pages | integer | true | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | bsc.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BoxSplitConfigurationBasic | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » area | ZoneArea | true | none | ZoneArea object |
| » value | string | true | none | none |
| » pages | integer | true | none | none |
| » extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
Enumerated Values
| Property | Value |
|---|---|
| @type | bsc.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| condition | BooleanExpression | true | none | none |
| minExpected | integer | false | none | default 0. Cannot be negative. |
| maxExpected | integer | false | none | default -1. Can only be strictly positive or -1. |
| minMatches | integer | false | none | default 0. Cannot be negative. |
| maxMatches | integer | false | none | default 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| serviceFileId | string | false | none | UUID of a ServiceFile (nul l when adding a new ServiceFile ; if noot null, must exist in current Service) |
| removable | boolean | false | none | if 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| name | string | false | none | none |
| applicationName | string | false | none | Displayed commercial name of the application |
| virtualHost | string | false | none | virtual.host.name:port ; cannot be null |
| properties | object | false | none | Opaque JSON node containing css or other Front-end data for this Branding |
| backgroundImageURL | string | false | none | none |
| logoImageURL | string | false | none | none |
| authenticationRealm | string | false | none | Should 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| channelType | string | false | none | none |
| name | string | false | none | none |
| providerName | string | false | none | none |
| workingDays | string | false | none | Comma ',' separated numeric DayOfWeek (from '1' Monday to '7' Sunday) |
| maxFutureDays | integer | false | none | Maximum number of days for future "post date" (must be >= 0) |
| cutoffTime | string | false | none | hh:mm:ss (optional minutes and seconds) in provider TimeZone |
| timeZone | string | false | none | Provider TimeZone to compute workinDay and cutoffTime for "post date" |
| additionalProductionDays | string | false | none | Add some days (in addition to the "cuttof" day) to product the Documents of this Channel (default is 0 day) |
| externalOutputTrigger | boolean | false | none | If true output of this Channel is trigged by an external-output-token |
| resetExternalOutputToken | boolean | false | write-only | If true back-end application regenerate a random external-output-token |
| externalOutputToken | string | false | none | Token used to exteranlly trigger output on this Channel |
| enabled | boolean | false | none | none |
| fallbackOnStatuses | string | false | none | list of status or status ranges (range separator is ':' because of negative statuses) as 733,-810:-800,400-450 |
| properties | ChannelProperties | false | none | none |
| outputFileDefinitions | [OutputFileDefinition] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| channelType | |
| channelType | REGISTERED |
| channelType | |
| channelType | REGISTERED_EMAIL |
| channelType | LOCAL_PRINT |
| channelType | SAFE_EMAIL |
| channelType | PACKING |
| channelType | SMS |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionConstant | false | none | Pre-defined text value |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionReference | false | none | Reference another element, depends on the context. For JobNameExpression, only METADATA namespace is allowed to reference Service / Job scoped Metadata |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionFileName | false | none | Part of the name of the underlying file of the box |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionPdfText | false | none | Text extraction from the underlying PDF file of the box. The area parameter is where is located the text to extract |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionPdfMetadata | false | none | PDF metadata value from the underlying PDF file of the box |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionConcat | false | none | Concat: concatenates all Expressions given in argument |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionCoalesce | false | none | Coalesce: retrieve the first non-empty evaluation of its operands |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionStrClean | false | none | Cleans a string |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionStrNormalizeCase | false | none | Normalizes the case of the String |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionStrReplace | false | none | Normalizes the case of the String |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | PositionInBoxValue | false | none | Absolute position of a Chunk in a Box. First 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionNumSheets | false | none | Returns the number of sheets. Only used in Channel Options Condition context. |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionSubstring | false | none | Extract a portion of the string |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | CurrentDate | false | none | Retrieve current Date/Time formated as long epoch milli (can be used as source of DateFormat) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | DateParse | false | none | Parse a string as a date and return a long epoch milli (can be used as source of DateFormat) |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | DateFormat | false | none | Format a date (given as long epoch milli) into a human readable string |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | JobFileNameValue | false | none | Name 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| operands | [Expression] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| operands | [Expression] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.Coalesce |
ExpressionConstant
{ "type": "object", "properties": { "@type": { "type": "string", "enum": [ "exv.Value" ] }, "value": { "type": "string" } }, "description": "Pre-defined text value"}Pre-defined text value
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| value | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| fromMain | boolean | false | none | If true, the target box is a MAIN box |
| boxName | string | false | none | Ignored 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » begin | integer | false | none | none |
| » end | integer | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » metadataName | string | false | none | Name of the PDF metadata to extract |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ExpressionBoxFile | false | none | Properties common to all box files |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » page | integer | false | none | Page on which to extract the text. Page -1 means last page, -2 means before last page, and so on. Page starts at 1. Page 0 is invalid and will always return "". |
| » area | ZoneArea | false | none | ZoneArea object |
| » extractionParameters | ExtractionParameters | false | none | Parameters for the extraction. Depends on the library used. |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| namespace | ReferenceNamespace | false | none | 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 |
| identifier | string | false | none | Identifier of the element |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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 :
- 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
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | 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 |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | METADATA |
| anonymous | REQUIREMENT |
| anonymous | ORGANIZATIONAL_UNIT |
| anonymous | OUTPUT_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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| expr | Expression | false | none | none |
| beginIndex | integer | false | none | Index of the character to start extraction, included. 0 means start from the first character, 1 from the second, ... |
| endIndex | integer | false | none | Index of the character to end extraction, excluded. 0 and -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
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| expr | Expression | false | none | none |
| normalizeSpace | boolean | false | none | Replaces all Unicode spaces with standard space character (\u0020) then replace consecutive space characters by a single one. |
| removeDiacritics | boolean | false | none | Replaces the accentuated letters with their un-accentuated version |
| multiline | boolean | false | none | Replaces every Unicode line terminator character to the standard linefeed character (\u000A) and de-duplicates them. If trim is set, it applies on each line. Trim also removes blank lines. |
| trim | boolean | false | none | Removes all the control characters at the beginning and the end of the string (Technically, 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
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| expr | Expression | false | none | none |
| toUpper | boolean | false | none | is set, the normalization will be to Upper Case, otherwise it will be to Lower Case |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| expr | Expression | false | none | none |
| regExpPattern | string | false | none | valid Regular Expression that the input string should match |
| replacement | string | false | none | The replacement to use for each match of the string. The replacement can contain $1, $2, ... elements that will be replaced by capturing groups of the match. '' is an escape character, so to have a real '$' sign in replacement, use '$'. Same for the escape character itself, use '\'. |
| firstOnly | boolean | false | none | If set, the match/replacement will be applied to the first match of the string only, otherwise it will apply on all matches. |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| expr | Expression | true | none | none |
| pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) . Pattern should be trimmed as Matadata used as input are trimmed |
| timeZone | string | true | none | Default TimeZone used to parse date if the parsed expr does not explicitely contains an offset or TimeZone. |
| locale | string | false | none | Locale used to 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
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| expr | Expression | true | none | none |
| pattern | string | true | none | Pattern of the formatter (see https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/format/DateTimeFormatter.html ) |
| timeZone | string | true | none | TimeZone used to format the date. |
| locale | string | false | none | Locale used to format 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
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | false | none | none |
| boxName | string | false | none | Name of the Box (must exist in the Service) |
| indexInBox | integer | false | none | Index of file in the Box. 1 (default) is first file. -1 is last file. |
| keepExtension | boolean | false | none | If true, preserve the extension of the file name like .pdf, .txt ... Default is file which remove the file extension. |
Enumerated Values
| Property | Value |
|---|---|
| @type | exv.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | must be unique within a Channel |
| mainOutputFile | boolean | false | none | Configuration of the MAIN output file of the Shipment |
| properties | OutputFileDefinitionProperties | false | none | none |
| outputFileOptions | [Option] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| optionType | OptionType | false | none | none |
| value | string | false | none | none |
| rank | integer | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| default | boolean | false | none | Only defined if associated with an Channel OutputFileDefinaition |
| properties | OptionProperties | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| name | string | false | none | none |
| recomputeTrigger | boolean | false | none | Modifying 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| requirements | [Requirement] | false | none | [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 | object | false | none | Map of URL templates to retrieve external tracking info. Key is name of Tracking |
| » additionalProperties | string | false | none | none |
| trackingProperties | object | false | none | Key is name of Tracking. Value is a JSON object to handle display of custom tracking values in Front-end application. |
| » additionalProperties | object | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| name | string | false | none | none |
| content | Expression | false | none | none |
| validation | string | false | none | Name of the nominal validation method for this Requirement (if null Requirement is NOT cleaned neither validated) |
| validationParameters | object | false | none | Map String -> String of parameters if needed by the validator |
| » additionalProperties | string | false | none | none |
| forceValidation | string | false | none | Name of the validation method used when "forcing" the validation of this Address Requirement ; if null, forcing is NOT allowed on this Requirement |
| forceValidationParameters | object | false | none | Map String -> String of parameters if needed by the "force" validator |
| » additionalProperties | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| preserveIntegrity | boolean | false | none | 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 | [TechnicalArea] | false | none | [Channel technical area] |
| forceAddressPage | boolean | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| area | ZoneArea | false | none | ZoneArea object |
| type | string | false | none | none |
| page | string | false | none | none |
| check | string | false | none | none |
| colorBAT | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| colorProd | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| colorError | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| contentEvaluator | Expression | false | none | none |
| fontName | string | false | none | none |
| fontSize | number(float) | false | none | none |
| fontColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| linespace | integer(float) | false | none | none |
| hAlign | string | false | none | Horizontal alignment of TEXT inside the box. Only applies for type TEXT. |
| vAlign | string | false | none | Vertical alignment of TEXT inside the box. Only applies for type TEXT. |
| rtl | boolean | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| type | TEXT |
| type | RECTANGLE |
| type | BARCODE |
| type | DATAMATRIX |
| type | QRCODE |
| page | FIRST |
| page | FRONT_PAGE |
| check | NONE |
| check | TEXT |
| hAlign | CENTER |
| hAlign | LEFT |
| hAlign | RIGHT |
| vAlign | BOTTOM |
| vAlign | MIDDLE |
| vAlign | TOP |
OptionProperties
{ "type": "object", "properties": { "selectableCondition": { "type": "object", "description": "BooleanExpression with ShipmentContext computing getTotalNumSheets" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| selectableCondition | object | false | none | BooleanExpression 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| startIndex | integer | false | none | none |
| pageCount | integer | false | none | none |
| properties | object | false | none | none |
| » metadataValues | object | false | none | Map of extracted Metadata for orphan Chunk (including transient Metadata) |
| inputFile | IdentifierDTO | false | none | In 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| r | integer | false | none | none |
| g | integer | false | none | none |
| b | integer | false | none | none |
| a | number(float) | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| creationDate | integer(int64) | false | none | none |
| expectedPostDate | integer(int64) | false | none | Can be null if ASAP |
| state | string | false | none | DeliveryState enum (same as Delivery entity) |
| lastModifiedState | integer(int64) | false | none | none |
| validationReason | string | false | none | none |
| job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| jobFrozen | boolean | false | none | true if parent Job is "frozen" |
| owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| displayBilling | boolean | false | none | Optional property |
| properties | DeliveryCommandProperties | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| jobId | integer(int64) | false | none | 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 |
| packGroupIds | [integer] | false | none | none |
| givenServiceChannelOptions | object | false | none | Map of ServiceChannel.label -> OutputFile.name -> array of Option Id |
| » additionalProperties | object | false | none | none |
| »» additionalProperties | [integer] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| nuid | string | false | none | none |
| externalId | string | false | none | none |
| name | string | false | none | none |
| creationDate | integer(int64) | false | none | none |
| postDate | integer(int64) | false | none | none |
| state | string | false | none | DeliveryState enum |
| lastModifiedState | integer(int64) | false | none | none |
| job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| deliveryCommandId | integer(int64) | false | none | none |
| deliveryCommandCreationDate | integer(int64) | false | none | none |
| fallbackFromDelivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| serviceChannelLabel | string | false | none | none |
| channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| shipments | [Shipment] | false | none | optional |
| shipmentCount | integer | false | none | Number of shipments computed even if shipments are not fetched |
| lateShipmentCount | integer | false | none | Number 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| jobId | integer(int64) | false | none | none |
| packGroupIds | [integer] | false | none | Either a Job Id or an array of PackGroup Ids |
| serviceChannelOptions | object | false | none | Map of ServiceChannel.label -> OutputFile.name -> array of Option Id |
| » additionalProperties | object | false | none | none |
| »» additionalProperties | [integer] | false | none | none |
| expectedPostDate | integer(int64) | false | none | 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 |
| expectedProofsPerServiceChannelLabel | integer | false | none | Only 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| validationReason | string | false | none | Message 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| tempFile | TempFile | false | none | none |
| proofElements | [ProofElement] | false | none | [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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| packGroupId | integer(int64) | false | none | Id of PackGroup |
| serviceChannelLabel | string | false | none | label of ServiceChannel |
| outputFileDefinitionName | integer(int64) | false | none | Name of OutputFileDefinition of Channel |
| mainOutputFile | boolean | false | none | If true, this Proof element is the MAIN OutputFile of the virtual Shipment |
| startIndex | string | false | none | Start 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| » additionalProperties | integer(int64) | false | none | none |
| deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| » additionalProperties | integer(int64) | false | none | none |
Group
{ "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "organizationalUnitId": { "type": "integer", "format": "int64" }, "name": { "type": "string" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| organizationalUnitId | integer(int64) | false | none | none |
| name | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| name | string | false | none | login 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| fileRelativePathname | string | false | none | Only valid if file comes from a BoxArchive (Zip) |
| originFileName | string | false | none | none |
| boxName | string | false | none | none |
| boxType | string | false | none | none |
| appositionId | string | false | none | Optional, only defined is this InputFile is an Apposition (background Overlay) id of the BoxApposition JSON object |
| indexInBox | integer | false | none | none |
| filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| filesize | integer(int64) | false | none | none |
| storedDate | integer(int64) | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| boxType | |
| boxType | DATA_FILE |
| boxType | ARCHIVE |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| jobName | string | false | none | User-specified Job.name (if not given, will use MAIN file name) |
| targetOwnerId | integer(int64) | false | none | Optional ; allow to create a Job on behalf of a target Owner different from current logged User |
| serviceId | integer(int64) | false | none | none |
| splitConfiguration | object | false | none | none |
| » additionalProperties | BoxSplitConfiguration | false | none | none |
| packRequirements | object | false | none | Map ("Pack" scope) {requirementName -> Expression} |
| » additionalProperties | Expression | false | none | none |
| shipmentRequirements | object | false | none | Map ("Shipment" scope) {serviceChannelLabel -> requirementName -> Expression} |
| » additionalProperties | object | false | none | none |
| »» additionalProperties | Expression | false | none | none |
| rawJobMetadatas | object | false | none | Service / Job Metadata (constant String values) |
| » additionalProperties | string | false | none | none |
| autoCreateDeliveryCommand | boolean | false | none | if 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| name | string | false | none | none |
| submittedDate | string | false | none | none |
| autoCreateDeliveryCommand | boolean | false | none | if true, try to create DeliveryCommand if all Job PackGroups are eligible |
| validatedJobMetadatas | object | false | none | Validated Job / Service Metadata |
| » additionalProperties | string | false | none | none |
| orphanChunkIds | [integer] | false | none | none |
| state | string | false | none | none |
| invalidated | boolean | false | none | none |
| frozen | boolean | false | none | none |
| errorMessage | string | false | none | none |
| owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| displayBilling | boolean | false | none | none |
| service | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| thumbnailPurged | boolean | false | none | If true, the thumbnail of the Job has been purged (invalid storage reference) |
| inputFiles | [InputFile] | false | none | [inputFile object, storedDate is epoch millis] |
| packGroupCountPerStates | object | false | none | Map PackGroup.state -> count ; PackGroup.state is string representation of PackGroupState Enum ; count is positive integer |
| » additionalProperties | integer | false | none | none |
| packGroupCountPerFallbackStates | object | false | none | Map PackGroup.fallbackState -> count ; Same enum as PackGroupState. This Map can be null if NO fallback |
| » additionalProperties | integer | false | none | none |
| deliveryCommandCountPerStates | object | false | none | Map DeliveryCommand.state -> count ; DeliveryCommand.state is string representation of DeliveryState enum ; count is positive int64 |
| » additionalProperties | integer | false | none | none |
| deliveryCountPerStates | object | false | none | Map Delivery.state -> count ; Delivery.state is string representation of DeliveryState enum ; count is positive int64 |
| » additionalProperties | integer | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| jobCountPerStates | object | false | none | Map Job.state -> count ; Job.state is string representation of JobState Enum ; count is positive int64 |
| » additionalProperties | integer(int64) | false | none | none |
| pendingJobCount | integer(int64) | false | none | 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) |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | none |
| metadataKind | string | false | none | none |
| metadataType | string | false | none | none |
| value | string | false | none | none |
| filePurged | boolean | false | none | If true, the stored tracking file has been purged (invalid storage reference) |
| countryCode | string | false | none | present if metadataType is POSTAL_ADDRESS |
| serverTimestamp | integer(int64) | false | none | Date of creation of this Metadata on IHM Server |
Enumerated Values
| Property | Value |
|---|---|
| metadataKind | REQUIREMENT |
| metadataKind | METADATA |
| metadataKind | TRACKING |
| metadataType | SHORT_VALUE |
| metadataType | LONG_TEXT |
| metadataType | POSTAL_ADDRESS |
| metadataType | STORAGE_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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| creationdate | integer(int64) | false | read-only | none |
| accountIdentifier | string | false | none | Only ASCII 0-9 A-Z a-z and -._~ |
| name | string | false | none | none |
| branding | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| parent | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| allowOUChildren | boolean | false | none | none |
| freezeDelayDays | integer | false | none | none |
| fileDelayDays | integer | false | none | none |
| dataDelayDays | integer | false | none | none |
| accountingCode | string | false | none | none |
| productionCode | string | false | none | none |
| partnerCode | string | false | none | none |
| billingType | string | false | none | none |
| defaultMailCountry | string | false | none | none |
| minPasswordEntropy | integer(int32) | false | none | Minimum number of entropy bits, interger part of log2(guesses) ; only checked if > 0 |
| maxPasswordValidityDays | integer(int32) | false | none | Maximum number of days between password change by User ; only checked if > 0 |
| properties | OrganizationalUnitProperties | false | none | none |
| senderAccount | boolean | false | none | Technical state if this OU is a SenderAccount (can be null if not retrieved from RecipientStrategy database) |
| enabled | boolean | false | none | none |
| accountExpired | boolean | false | none | none |
| removed | boolean | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| emailAddress | string | false | none | none |
| senderAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| returnAddress | PostalAddress | false | none | PostalAddress: addressLines separated by \n. countryCode with 2 chars |
| siret | string | false | none | none |
| controlledValues | [ControlledValue] | false | none | [Can be used as ControlledValueMetadata in Service Metadata] |
| webHookURL | string | false | none | 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. |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | none |
| elements | [ElementValue] | false | none | none |
| allowFreeValue | boolean | false | none | If 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | string | false | none | Technical value (must NOT be empty) |
| label | string | false | none | User-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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| chunks | [Chunk] | false | none | none |
| properties | PackProperties | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| state | PackGroupState | false | none | none |
| fallbackState | PackGroupState | false | none | none |
| packs | [Pack] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| metadataValues | object | false | none | Map of peristed Metadata for this Pack |
| rawPackRequirements | object | false | none | none |
| » additionalProperties | RequirementValue | false | none | none |
| eligibility | object | false | none | none |
| » additionalProperties | ServiceChannelEligibility | false | none | none |
| eligibleSendingStrategyGroups | [string] | false | none | If not null, list of eligible StrategyGroup names |
| falseSendingStrategyGroups | [string] | false | none | If 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| value | string | false | none | none |
| countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| properties | object | false | none | 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 |
| » additionalProperties | object | false | none | none |
| »» persist | boolean | false | none | none |
| »» value | string | false | none | none |
PackGroupState
{ "type": "string", "enum": [ "CREATED", "REJECTED", "SHIPMENT_IN_CREATION", "SHIPMENT_ASSOCIATED", "SHIPMENT_CREATION_ERROR", "NOT_ELIGIBLE" ]}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | CREATED |
| anonymous | REJECTED |
| anonymous | SHIPMENT_IN_CREATION |
| anonymous | SHIPMENT_ASSOCIATED |
| anonymous | SHIPMENT_CREATION_ERROR |
| anonymous | NOT_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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| page | integer | false | none | none |
| area | ZoneArea | false | none | ZoneArea object |
| extractionParameters | ExtractionParameters | false | none | Parameters 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| submittedFile | string(binary) | false | none | none |
| parameters | PdfExtractPage | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| addressLines | string | false | none | none |
| countryCode | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| name | string | false | none | super-admin |
| permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| permissionsOnOU | integer | false | none | 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) |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| name | string | false | none | none |
| roleName | string | false | none | name of RoleTemplaate or [CUSTOM] |
| permissions | integer | false | none | Permissions on User itself (bit 0 is VIEW_ORDER, bit 1 is CREATE_ORDER, bit 2 is VALIDATE_ORDER) |
| permissionsOnGroup | integer | false | none | Permissions on Group (for Goup validator) |
| permissionsOnOU | integer | false | none | 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) |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | false | none | none |
| type | string | false | none | none |
| name | string | false | none | none |
| organizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| properties | ServiceProperties | false | none | none |
| serviceFiles | [ServiceFile] | false | none | [File associated to the service for background configuration] |
| removed | boolean | false | none | none |
| allowJobCreation | boolean | false | none | none |
| inconsistent | boolean | false | read-only | true if this SendingService is inconsistent with OrganizationalUnit Channels and NOT usable ; default is false |
| forceServiceUpdate | boolean | false | write-only | Force Service update invalidating possible pending jobs ; If false and the Service update cannot invalidate Jobs ; return an error |
Enumerated Values
| Property | Value |
|---|---|
| type | SIMPLE_UNIQUE |
| type | SIMPLE_MULTIPLE |
| type | PREPROCESSING_UNIQUE |
| type | PREPROCESSING |
| type | ADVANCED |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | Id of Channel entity (MUST be allowed in OU) |
| label | string | false | none | none |
| shipmentRequirements | object | false | none | none |
| » additionalProperties | RequirementEvaluable | false | none | none |
| outputFilesConfig | object | false | none | none |
| » additionalProperties | ServiceChannelOutputFile | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| options | [ServiceChannelOutputFileOption] | false | none | none |
| composition | object | false | none | none |
| » operations | [ServiceChannelOutputFileComposition] | false | none | [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:
- Boxes based, in which case all elements of files related to therecipient will be added. The parameter boxIdentifier is used tomatch 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.
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| boxIdentifier | object | false | none | Composition of elements of the target Box. pageSize cannot be set if boxIdentifier is set. |
| » main | boolean | false | none | If true, the target box is any MAIN box |
| » boxName | string | false | none | Ignored if main is true. Otherwise, indicates the name of the target box |
| serializedPageFilter | string | false | none | 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 ' |
| pageSize | string | false | none | 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. |
| rotationDirection | string | false | none | none |
| margins | object | false | none | none |
| » additionalProperties | MarginArea | false | none | MarginArea object |
| nbDuplicates | integer(int64) | false | none | none |
| canStartOnBackSide | boolean | false | none | true if this chunk can start on the back side of the previous chunk (if the latter ends on an odd page) |
| skipAddressPage | boolean | false | none | 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 | boolean | false | none | true if the identical attachment chunks should NOT be deduplicated when several packs are regrouped (available only if the box is NO main) |
| addLastBackSide | boolean | false | none | 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 | string | false | none | 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. |
| appositions | [ServiceChannelOutputFileCompositionApposition] | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| pageSize | A0 |
| pageSize | A1 |
| pageSize | A2 |
| pageSize | A3 |
| pageSize | A4 |
| pageSize | A5 |
| pageSize | A6 |
| pageSize | SRA3 |
| pageSize | A0-L |
| pageSize | A1-L |
| pageSize | A2-L |
| pageSize | A3-L |
| pageSize | A4-L |
| pageSize | A5-L |
| pageSize | A6-L |
| pageSize | LETTER |
| pageSize | LEGAL |
| rotationDirection | LEFT |
| rotationDirection | RIGHT |
| rotationDirection | NONE |
| printOnSide | ALL |
| printOnSide | FRONT_SIDE |
| printOnSide | BACK_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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ServiceChannelOutputFileCompositionAppositionRectangle | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ServiceChannelOutputFileCompositionAppositionText | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ServiceChannelOutputFileCompositionAppositionRecipientStrategyQRCode | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | true | none | none |
| pageFilter | string | false | none | 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. |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AppositionConfigRectangle | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | ofa.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AppositionConfigText | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | ofa.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ServiceChannelOutputFileCompositionAppositionBase | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | AppositionWithContent | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » text | AppositionConfigText | false | none | none |
| » qrCode | AppositionConfigQRCode | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| @type | ofa.RS.QRCODE |
ServiceChannelOutputFileOption
{ "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "rank": { "type": "integer" }, "default": { "type": "boolean" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| rank | integer | false | none | none |
| default | boolean | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | none |
| originalFileName | string | false | none | none |
| fileSize | integer(int64) | false | none | none |
| storedDate | integer(int64) | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| description | string | false | none | none |
| iconColor | Color | false | none | Color object int values between 0 and 255, alpha use a float value between 0.0 and 1.0 |
| iconName | string | false | none | none |
| boxes | [Box] | false | none | none |
| serviceMetadatas | [ServiceMetadata] | false | none | Optional list of ServiceMetadata (common to whole Job) |
| jobNameExpression | Expression | false | none | none |
| jobNameEditable | boolean | false | none | Job name value is editable on job creation (default true) |
| packRequirements | object | false | none | none |
| » additionalProperties | RequirementEvaluable | false | none | none |
| channels | [ServiceChannel] | false | none | [See Channel Entity for Requirement and OutputFile configurations] |
| groupingConfiguration | SendingStrategy | false | none | All main ServiceChannels of the first matching (eligible) SendingGroup will be used to create Shipments from a PackGroup |
| sendingStrategy | GroupingConfiguration | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| groupingMetadataName | string | false | none | Name of Metadata OR Requirement used for grouping strategy |
| groupOnRequirement | boolean | false | none | If 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | none |
| groups | [SendingGroup] | false | none | SendingGroup 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | none |
| serviceChannels | [string] | false | none | array (Set in Java) labels of main ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| fallbacks | [string] | false | none | array (Set in Java) labels of fallback ServiceChannel (all ServiceChannel labels MUST be defined in parent SendingService) |
| additionalCondition | BooleanExpression | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ConstantMetadata | false | none | none |
xor
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | ControlledValueMetadata | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| @type | string | true | none | none |
| name | string | true | none | none |
| editable | boolean | false | none | if 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » mandatory | boolean | false | none | If true, Job must be created with a non-empty value for this Metadata |
| » properties | object | false | none | Opaque JSON node describing format, mask or RegEx validation for Front-end GUI |
Enumerated Values
| Property | Value |
|---|---|
| @type | svm.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | BaseServiceMetadata | false | none | none |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » @type | string | false | none | none |
| » controlledValueName | string | false | none | Name of a ControlledValue in the OrganizationalUnit associated with this Service |
Enumerated Values
| Property | Value |
|---|---|
| @type | svm.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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| content | Expression | false | none | none |
| editableConfiguration | boolean | false | none | Expression configuration can be redefined on Job creation |
| editableValue | boolean | false | none | Expression 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| type | RequirementType | false | none | All types except HTML are limitted to 512 UTF-16 chars |
| value | string | false | none | String value of the element |
| countryCode | string | false | none | ISO 3166-1 alpha-2 Country code if type = POSTAL_ADDRESS |
| properties | object | false | none | Additional requirement properties (zip, city, PODX_addressQuality, PODX_addressDistance, RNVP ...) |
| » additionalProperties | object | false | none | none |
| »» persist | boolean | false | none | none |
| »» value | string | false | none | none |
| status | integer | false | none | status values (0 for NO_ERROR, 100 for INVALID_FORMAT, 150 for UNKNOWN_COUNTRY, 200 for UNKNOWN_ADDRESS and 300 for TOO_MANY_LINES) |
| valid | boolean | false | none | valid if (status == 0) |
| errorMessage | string | false | none | Optional |
Enumerated Values
| Property | Value |
|---|---|
| status | 0 |
| status | 100 |
| status | 150 |
| status | 200 |
| status | 300 |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| rawShipmentRequirements | object | false | none | none |
| » additionalProperties | RequirementValue | false | none | none |
| validatedShipmentRequirements | object | false | none | none |
| » additionalProperties | ValidatedRequirementValue | false | none | none |
| eligibile | boolean | false | none | none |
| errorMessage | string | false | none | Optional 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | All types except HTML are limitted to 512 UTF-16 chars |
Enumerated Values
| Property | Value |
|---|---|
| anonymous | POSTAL_ADDRESS |
| anonymous | TEXT |
| anonymous | MULTILINE |
| anonymous | HTML |
| anonymous | PHONE |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| externalId | string | false | none | none |
| status | integer | false | none | none |
| lastModifiedState | integer(int64) | false | none | none |
| eventDate | integer(int64) | false | none | Optional , date of the current status from the provider tracking file |
| userAcknowledgment | UserAcknowledgment | false | none | none |
| packGroupId | integer(int64) | false | none | none |
| delivery | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| deliveryExternalId | string | false | none | none |
| deliveryCreationDate | integer(int64) | false | none | none |
| deliveryPostDate | integer(int64) | false | none | none |
| channel | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| deliveryCommandCreationDate | integer(int64) | false | none | none |
| job | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| owner | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| ownerOrganizationalUnit | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| metadatas | [Metadata] | false | none | none |
| outputFiles | [OutputFile] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| additionalProperties | integer(int64) | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| nuid | string | false | none | none |
| filePurged | boolean | false | none | If true, the stored file has been purged (invalid storage reference) |
| fileSize | integer(int64) | false | none | none |
| pageCount | integer | false | none | none |
| forcedAddressPages | integer | false | none | Number of added "forced" AddressPages default 0 |
| outputFileDefinition | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| mainOutputFile | boolean | false | none | If true, this is the MAIN OutputFile of the Shipment |
| preserveIntegrity | boolean | false | none | If true, this OutputFile is a binary copy of a PDF InputFile preserving possible signature |
| outputFileOptionIds | [integer] | false | none | none |
TempFile
{ "type": "object", "properties": { "fileId": { "type": "string" }, "originFileName": { "type": "string" }, "storedDate": { "type": "string" }, "fileSize": { "type": "integer", "format": "int64" }, "pageCount": { "type": "integer" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileId | string | false | none | none |
| originFileName | string | false | none | none |
| storedDate | string | false | none | none |
| fileSize | integer(int64) | false | none | none |
| pageCount | integer | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer(int64) | false | none | none |
| creationDate | integer(int64) | false | read-only | none |
| profile | Profile | false | none | field can be null id super admin |
| login | string | false | none | none |
| password | string(password) | false | none | none |
| lastPasswordUpdate | integer(int64) | false | read-only | none |
| allowAddresses | string | false | none | 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 | string | false | none | none |
| firstName | string | false | none | none |
| lastName | string | false | none | none |
| emailAddress | string(email) | false | none | none |
| phoneNumber | string | false | none | none |
| mobileNumber | string | false | none | none |
| locale | string | false | none | fr-FR |
| allowEMailNotifications | boolean | false | none | allow generation of e-mail notifications for this User |
| uipreferences | object | false | none | Opaque JSON node used by Front-end GUI |
| enable | boolean | false | none | none |
| accountExpired | boolean | false | none | none |
| removed | boolean | false | none | none |
| group | IdentifierDTO | false | none | In JSON Objects, other entities (Branding, Parent OU, group...) can be referenced by an IdentifierDTO Object |
| passwordExpireDays | integer | false | read-only | 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. |
| creationLink | string | false | write-only | 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) |
UserPassword
{ "type": "object", "properties": { "currentPassword": { "type": "string" }, "newPassword": { "type": "string" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| currentPassword | string | false | none | none |
| newPassword | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| additionalProperties | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| left | number(float) | false | none | none |
| top | number(float) | false | none | none |
| right | number(float) | false | none | none |
| bottom | number(float) | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| left | number(float) | false | none | none |
| top | number(float) | false | none | none |
| width | number(float) | false | none | none |
| height | number(float) | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| packGroupIds | [integer] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| rawPackRequirements | object | false | none | Pack 'scope' Requirements requirementName -> value |
| » additionalProperties | RequirementValue | false | none | none |
| rawShipmentRequirements | object | false | none | Shipment 'scope' Requirements ServiceChannel.label -> requirementName -> value |
| » additionalProperties | object | false | none | none |
| »» additionalProperties | RequirementValue | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| selectableOptions | SelectableOptions | false | none | Map of PackGroup Id -> ServiceChannel.label -> OutputFile.name -> OptionType Id -> Option Id |
| compositionErrors | CompositionErrors | false | none | Map of PackGroup Id -> array of ServiceChannel.label |
| postDatePerServiceChannelLabels | PostDatePerServiceChannelLabels | false | none | Map 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| additionalProperties | object | false | none | none |
| » additionalProperties | object | false | none | none |
| »» additionalProperties | object | false | none | none |
| »»» additionalProperties | [integer] | false | none | List (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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| additionalProperties | [string] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| additionalProperties | integer(int64) | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| serviceId | integer(int64) | false | none | Can be null (Optional) |
| boxDataFileName | string | false | none | none |
| parserConfiguration | ParserConfiguration | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| rawValue | string | false | none | String value of the raw requirement (excluding parsed country line for POSTAL_ADDRESS) |
| detectedCountryCode | string | false | none | For POSTAL_ADDRESS, parsed / retrieved ISO 3166-1 alpha-2 Country code |
| useDefaultCountry | boolean | false | none | For POSTAL_ADDRESS, if true the countryCode is retieved from OU DefaultMailCountry |
| validatedRequirementValue | ValidatedRequirementValue | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| exportDirectoryUsableSize | integer(int64) | false | none | Usable (available) size in export directory (can be null if I/O error) |
| expectedExportSize | integer(int64) | false | none | estimated total size of the files to export (sum of non-purged InputFiles size) |
| exportPossible | boolean | false | none | true 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| revision | integer(int64) | true | none | Revision Primary Key (global for all entities) |
| timestamp | integer(int64) | true | none | Epoch millis |
| clientAddress | string | false | none | IP address of front-end client if any |
| loggedUserId | integer(int64) | false | none | none |
| loggedUserLogin | string | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » id | integer(int64) | false | none | Job Id |
| » state | string | false | none | JobState |
| » invalidated | boolean | false | none | none |
| » frozen | boolean | false | none | none |
| » purgeState | integer | false | none | Bit 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » id | integer(int64) | false | none | PackGroup Id |
| » state | string | false | none | PackGroupState |
| » additionalEvent | string | false | none | Possible 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » id | integer(int64) | false | none | DeliveryCommand Id |
| » state | string | false | none | DeliveryState |
| » freed | boolean | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » id | integer(int64) | false | none | Delivery Id |
| » state | string | false | none | DeliveryState |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | Revision | false | none | clientAddress, loggedUserId, loggedUserLogin can be null for asynchronous, timer-trigged events |
and
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | object | false | none | none |
| » id | integer(int64) | false | none | Shipment Id |
| » status | integer | false | none | Numeric status of Shipment |
| » eventDate | integer(int64) | false | none | Optional , date of this status from the provider tracking file |
| » userAcknowledgment | UserAcknowledgment | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| targetPostDate | integer(int64) | false | none | Target post date (epoch millis) ; can be in the future |
| targetDeliveryId | integer(int64) | false | none | Id 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| externalIds | [string] | false | none | none |
| outputFileNUIDs | [string] | false | none | none |
| trackingValues | [string] | false | none | none |
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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| externalId | string | false | none | ExternalId of the Shipment to update |
| outputFileNUID | string | false | none | NUID of the MAIN OutputFile |
| status | integer | false | none | must be <= -400 or >= 400 (outputted) |
| eventDate | integer(int64) | false | none | Optional, epoch millis |
UserAcknowledgment
{ "type": "object", "properties": { "message": { "type": "string", "description": "Optional user provided info" } }}Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| message | string | false | none | Optional 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| shipmentIds | [integer] | false | none | none |
| message | string | false | none | Optional 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
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| eventType | string | false | none | SHIPMENT_STATUS , TRACKING_TEXT , TRACKING_FILE |
| shipmentId | integer(int64) | false | none | Id of the Shipment |
| shipmentExternalId | string | false | none | External Id of the Shipment |
| name | string | false | none | Name of the tracking type (can be used to retrieve a tracking file) ; null if eventType is SHIPMENT_STATUS |
| value | string | false | none | 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 | integer(int64) | false | none | Timestamp is long epoch millis. Date of the processing of the event on PODX / IHM server |
| eventDate | integer(int64) | false | none | Timestamp is long epoch millis or null. Date of the event as given by an external provider. |