foliolib.folio.api.dataExportSpring.Jobs
- class foliolib.folio.api.dataExportSpring.Jobs(tenant: str)
Bases:
foliolib.folio.FolioApiData Export Spring Jobs
Base class of the Folio API
- Parameters
tenant (str) – Tenant id
Methods
Download exported file by the job ID
getjobbyid(id_)Get a job by the job ID
getjobs(**kwargs)Get jobs fy filter
resendexportedfile(id_)resend exported file by the job ID
sendjob(job)Send job via Kafka
upsertjob(job)Create or update a job
- downloadexportedfilebyjobid(id_)
Download exported file by the job ID
GET /data-export-spring/jobs/{id}/download- Returns
See Schema below.
- Return type
dict
Schema
{ "type": "string", "format": "binary" }
- getjobbyid(id_)
Get a job by the job ID
GET /data-export-spring/jobs/{id}- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request, e.g. malformed request body or query parameter. Details of the errors (e.g. name of the parameter or line/character number with malformed data) provided in the response.
OkapiRequestNotFound – Job with a given ID not found
OkapiRequestFatalError – Internal server errors, e.g. due to misconfiguration
Schema
{ "type": "object", "properties": { "id": { "description": "Job ID", "type": "string", "format": "uuid" }, "name": { "description": "Job name", "type": "string", "maxLength": 100 }, "description": { "description": "Job description", "type": "string" }, "source": { "description": "Job source", "type": "string", "maxLength": 50 }, "isSystemSource": { "description": "Was the job created by system", "type": "boolean" }, "tenant": { "description": "Tenant id", "type": "string" }, "type": { "type": "string", "enum": [ "CIRCULATION_LOG", "BURSAR_FEES_FINES", "BATCH_VOUCHER_EXPORT", "EDIFACT_ORDERS_EXPORT", "ORDERS_EXPORT", "INVOICE_EXPORT", "BULK_EDIT_IDENTIFIERS", "BULK_EDIT_QUERY", "BULK_EDIT_UPDATE", "E_HOLDINGS", "AUTH_HEADINGS_UPDATES", "FAILED_LINKED_BIB_UPDATES" ], "default": "BURSAR_FEES_FINES" }, "exportTypeSpecificParameters": { "type": "object", "properties": { "bursarFeeFines": { "description": "Bursar export job schema", "type": "object", "properties": { "filter": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "groupByPatron": { "description": "Choose whether to group fee/fines by patron", "type": "boolean" }, "groupByPatronFilter": { "description": "Filter by aggregate data", "type": "object", "properties": { "type": { "description": "Type of filter", "type": "string", "default": "Aggregate" }, "property": { "description": "Property to filter on", "type": "string", "enum": [ "NUM_ROWS", "TOTAL_AMOUNT" ] }, "amount": { "description": "Amount to filter on", "type": "integer" }, "condition": { "description": "Condition to filter on", "type": "string", "enum": [ "LESS_THAN_EQUAL", "LESS_THAN", "GREATER_THAN", "GREATER_THAN_EQUAL" ] } }, "additionalProperties": false, "required": [ "type", "property", "amount", "condition" ] }, "header": { "description": "Header format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "data": { "description": "Data format for the export file", "type": "array", "items": { "description": "Usable token for bursar export", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" }, { "$ref": "bursarExportTokenFeeDate.json" }, { "$ref": "bursarExportTokenFeeAmount.json" }, { "$ref": "bursarExportTokenFeeMetadata.json" }, { "$ref": "bursarExportTokenItemData.json" }, { "$ref": "bursarExportTokenUserData.json" }, { "$ref": "bursarExportTokenUserDataOptional.json" }, { "$ref": "bursarExportTokenConditional.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json", "FeeDate": "bursarExportTokenFeeDate.json", "FeeAmount": "bursarExportTokenFeeAmount.json", "FeeMetadata": "bursarExportTokenFeeMetadata.json", "ItemData": "bursarExportTokenItemData.json", "UserData": "bursarExportTokenUserData.json", "UserDataOptional": "bursarExportTokenUserDataOptional.json", "Conditional": "bursarExportTokenConditional.json" } } } }, "footer": { "description": "Footer format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "transferInfo": { "description": "Transfer criteria", "type": "object", "properties": { "conditions": { "description": "Conditions to apply to the transfer of fees/fines", "type": "array", "items": { "type": "object", "properties": { "condition": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "account": { "description": "Account to transfer fees/fines that meet this condition to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "condition", "account" ] } }, "else": { "type": "object", "description": "If none of the specified conditions is met", "properties": { "account": { "description": "Account to transfer fees/fines that do not meet any specified conditions to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "account" ] } }, "additionalProperties": false, "required": [ "conditions", "else" ] } }, "additionalProperties": false, "required": [ "filter", "groupByPatron", "header", "data", "footer", "transferInfo" ] }, "vendorEdiOrdersExportConfig": { "type": "object", "properties": { "exportConfigId": { "description": "UUID of the export configuration. Needed to find Jobs by export config UUID", "type": "string", "format": "uuid" }, "vendorId": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" }, "configName": { "description": "Configuration name", "type": "string" }, "configDescription": { "description": "Configuration description", "type": "string" }, "ediConfig": { "type": "object", "properties": { "accountNoList": { "description": "The list of account numbers of the vendor", "type": "array", "items": { "type": "string" } }, "defaultAcquisitionMethods": { "description": "Default acquisition methods for the accounts", "type": "array", "items": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" } }, "ediNamingConvention": { "description": "The naming convention for this EDI", "type": "string" }, "libEdiCode": { "description": "The library code for this EDI", "type": "string" }, "libEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "vendorEdiCode": { "description": "The library code for this EDI", "type": "string" }, "vendorEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "notes": { "description": "The notes for this EDI", "type": "string" }, "sendAccountNumber": { "description": "If true then send account number", "type": "boolean", "default": false }, "supportOrder": { "description": "If true then order support", "type": "boolean", "default": false }, "supportInvoice": { "description": "If true then invoice support", "type": "boolean", "default": false } } }, "ediFtp": { "type": "object", "properties": { "ftpConnMode": { "description": "The FTP connection mode for this EDI", "type": "string", "enum": [ "Active", "Passive" ] }, "ftpFormat": { "description": "The FTP format for this EDI", "type": "string", "enum": [ "SFTP", "FTP" ] }, "ftpMode": { "description": "The FTP mode for this EDI", "type": "string", "enum": [ "ASCII", "Binary" ] }, "ftpPort": { "description": "The port for this EDI", "type": "integer" }, "invoiceDirectory": { "description": "The invoice directory for this EDI", "type": "string" }, "isPrimaryTransmissionMethod": { "description": "Primary transmission method", "type": "boolean" }, "notes": { "description": "The notes for this EDI", "type": "string" }, "orderDirectory": { "description": "The order directory for this EDI", "type": "string" }, "password": { "description": "The login password for this EDI", "type": "string" }, "serverAddress": { "description": "The server address for this EDI", "type": "string" }, "username": { "description": "The login username for this EDI", "type": "string" } } }, "ediSchedule": { "type": "object", "properties": { "enableScheduledExport": { "description": "Whether or not to enable scheduled for exports", "type": "boolean", "default": false }, "scheduleParameters": { "type": "object", "properties": { "id": { "description": "Schedule unique identifier", "type": "string", "format": "uuid" }, "scheduleFrequency": { "type": "integer", "description": "Number of time periods" }, "schedulePeriod": { "type": "string", "description": "Time period for repeating job", "enum": [ "MONTH", "WEEK", "DAY", "HOUR", "EXACT_DATE", "NONE" ] }, "schedulingDate": { "description": "The date (MM/DD/YYYY) for this job to start running", "format": "date-time", "type": "string" }, "scheduleTime": { "type": "string", "description": "Time to run the job" }, "scheduleDay": { "type": "integer", "description": "Day of month to run the job (One-based)" }, "weekDays": { "type": "array", "description": "Day of week to run the job", "items": { "type": "string", "description": "Day of week", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] } }, "timeZone": { "type": "string", "description": "Schedule time zone", "default": "UTC" } } }, "schedulingNotes": { "description": "The schedule notes for this EDI job", "type": "string" } } }, "isDefaultConfig": { "description": "If true then config is default", "type": "boolean", "default": false } } }, "query": { "description": "CQL query to be passed to the module which data is being exported. Use it to filter data.", "type": "string", "maxLength": 5000 }, "eHoldingsExportConfig": { "type": "object", "properties": { "recordId": { "description": "Unique identifier of package - combination of providerId-packageId", "example": "91525-1152699-659590", "type": "string" }, "recordType": { "type": "string", "description": "The record type", "enum": [ "PACKAGE", "RESOURCE" ] }, "titleSearchFilters": { "description": "The filters needed to filter package titles", "example": "filter[name]=title&sort=name", "type": "string" }, "packageFields": { "description": "The list of package fields for export", "type": "array", "items": { "type": "string" } }, "titleFields": { "description": "The list of title fields for export", "type": "array", "items": { "type": "string" } } }, "required": [ "recordId", "recordType" ] }, "authorityControlExportConfig": { "type": "object", "properties": { "fromDate": { "description": "Report date range start", "type": "string", "format": "date" }, "toDate": { "description": "Report date range end", "type": "string", "format": "date" } }, "required": [ "fromDate", "toDate" ] } } }, "status": { "type": "string", "enum": [ "SCHEDULED", "IN_PROGRESS", "SUCCESSFUL", "FAILED" ] }, "files": { "description": "Export files URLs", "type": "array", "items": { "type": "string" } }, "fileNames": { "description": "Exported files", "type": "array", "items": { "type": "string" } }, "startTime": { "description": "Job start timestamp", "type": "string", "format": "date-time" }, "endTime": { "description": "Job end timestamp", "type": "string", "format": "date-time" }, "metadata": { "type": "object", "title": "Metadata Schema", "properties": { "createdDate": { "description": "Date and time when the record was created", "type": "string", "format": "date-time" }, "createdByUserId": { "description": "ID of the user who created the record (when available)", "type": "string", "format": "uuid" }, "createdByUsername": { "description": "Username of the user who created the record (when available)", "type": "string", "maxLength": 50 }, "updatedDate": { "description": "Date and time when the record was last updated", "type": "string", "format": "date-time" }, "updatedByUserId": { "description": "ID of the user who last updated the record (when available)", "type": "string", "format": "uuid" }, "updatedByUsername": { "description": "Username of the user who last updated the record (when available)", "type": "string", "maxLength": 50 } }, "additionalProperties": false }, "outputFormat": { "description": "Job output format", "type": "string", "maxLength": 50 }, "errorDetails": { "description": "Job error details", "type": "string" }, "identifierType": { "type": "string", "enum": [ "ID", "BARCODE", "HRID", "FORMER_IDS", "ACCESSION_NUMBER", "HOLDINGS_RECORD_ID", "USER_NAME", "EXTERNAL_SYSTEM_ID", "INSTANCE_HRID", "ITEM_BARCODE", "ISBN", "ISSN" ] }, "entityType": { "type": "string", "enum": [ "USER", "ITEM", "HOLDINGS_RECORD", "INSTANCE" ] }, "progress": { "type": "object", "properties": { "total": { "type": "integer", "minimum": 0, "default": 0, "description": "Total number of records being processed" }, "processed": { "type": "integer", "minimum": 0, "default": 0, "description": "Current number of records already processed" }, "progress": { "type": "integer", "minimum": 0, "maximum": 100, "default": 0, "description": "Current progress in %" }, "success": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of success processed records" }, "errors": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of errors" } } } }, "additionalProperties": false, "required": [ "type", "exportTypeSpecificParameters" ] }
- getjobs(**kwargs)
Get jobs fy filter
GET /data-export-spring/jobs- Keyword Arguments
offset (int) – Skip over a number of elements by specifying an offset value for the query (default: 0, minimum: 0, maximum: 2147483647)
limit (int) – Limit the number of elements returned in the response (default: 10, minimum: 0, maximum: 2147483647)
query (str) – A query string to filter rules based on matching criteria in fields.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad request, e.g. malformed request body or query parameter. Details of the errors (e.g. name of the parameter or line/character number with malformed data) provided in the response.
OkapiRequestFatalError – Internal server errors, e.g. due to misconfiguration
Schema
{ "type": "object", "properties": { "jobRecords": { "type": "array", "description": "Jobs", "items": { "type": "object", "properties": { "id": { "description": "Job ID", "type": "string", "format": "uuid" }, "name": { "description": "Job name", "type": "string", "maxLength": 100 }, "description": { "description": "Job description", "type": "string" }, "source": { "description": "Job source", "type": "string", "maxLength": 50 }, "isSystemSource": { "description": "Was the job created by system", "type": "boolean" }, "tenant": { "description": "Tenant id", "type": "string" }, "type": { "type": "string", "enum": [ "CIRCULATION_LOG", "BURSAR_FEES_FINES", "BATCH_VOUCHER_EXPORT", "EDIFACT_ORDERS_EXPORT", "ORDERS_EXPORT", "INVOICE_EXPORT", "BULK_EDIT_IDENTIFIERS", "BULK_EDIT_QUERY", "BULK_EDIT_UPDATE", "E_HOLDINGS", "AUTH_HEADINGS_UPDATES", "FAILED_LINKED_BIB_UPDATES" ], "default": "BURSAR_FEES_FINES" }, "exportTypeSpecificParameters": { "type": "object", "properties": { "bursarFeeFines": { "description": "Bursar export job schema", "type": "object", "properties": { "filter": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "groupByPatron": { "description": "Choose whether to group fee/fines by patron", "type": "boolean" }, "groupByPatronFilter": { "description": "Filter by aggregate data", "type": "object", "properties": { "type": { "description": "Type of filter", "type": "string", "default": "Aggregate" }, "property": { "description": "Property to filter on", "type": "string", "enum": [ "NUM_ROWS", "TOTAL_AMOUNT" ] }, "amount": { "description": "Amount to filter on", "type": "integer" }, "condition": { "description": "Condition to filter on", "type": "string", "enum": [ "LESS_THAN_EQUAL", "LESS_THAN", "GREATER_THAN", "GREATER_THAN_EQUAL" ] } }, "additionalProperties": false, "required": [ "type", "property", "amount", "condition" ] }, "header": { "description": "Header format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "data": { "description": "Data format for the export file", "type": "array", "items": { "description": "Usable token for bursar export", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" }, { "$ref": "bursarExportTokenFeeDate.json" }, { "$ref": "bursarExportTokenFeeAmount.json" }, { "$ref": "bursarExportTokenFeeMetadata.json" }, { "$ref": "bursarExportTokenItemData.json" }, { "$ref": "bursarExportTokenUserData.json" }, { "$ref": "bursarExportTokenUserDataOptional.json" }, { "$ref": "bursarExportTokenConditional.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json", "FeeDate": "bursarExportTokenFeeDate.json", "FeeAmount": "bursarExportTokenFeeAmount.json", "FeeMetadata": "bursarExportTokenFeeMetadata.json", "ItemData": "bursarExportTokenItemData.json", "UserData": "bursarExportTokenUserData.json", "UserDataOptional": "bursarExportTokenUserDataOptional.json", "Conditional": "bursarExportTokenConditional.json" } } } }, "footer": { "description": "Footer format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "transferInfo": { "description": "Transfer criteria", "type": "object", "properties": { "conditions": { "description": "Conditions to apply to the transfer of fees/fines", "type": "array", "items": { "type": "object", "properties": { "condition": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "account": { "description": "Account to transfer fees/fines that meet this condition to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "condition", "account" ] } }, "else": { "type": "object", "description": "If none of the specified conditions is met", "properties": { "account": { "description": "Account to transfer fees/fines that do not meet any specified conditions to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "account" ] } }, "additionalProperties": false, "required": [ "conditions", "else" ] } }, "additionalProperties": false, "required": [ "filter", "groupByPatron", "header", "data", "footer", "transferInfo" ] }, "vendorEdiOrdersExportConfig": { "type": "object", "properties": { "exportConfigId": { "description": "UUID of the export configuration. Needed to find Jobs by export config UUID", "type": "string", "format": "uuid" }, "vendorId": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" }, "configName": { "description": "Configuration name", "type": "string" }, "configDescription": { "description": "Configuration description", "type": "string" }, "ediConfig": { "type": "object", "properties": { "accountNoList": { "description": "The list of account numbers of the vendor", "type": "array", "items": { "type": "string" } }, "defaultAcquisitionMethods": { "description": "Default acquisition methods for the accounts", "type": "array", "items": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" } }, "ediNamingConvention": { "description": "The naming convention for this EDI", "type": "string" }, "libEdiCode": { "description": "The library code for this EDI", "type": "string" }, "libEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "vendorEdiCode": { "description": "The library code for this EDI", "type": "string" }, "vendorEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "notes": { "description": "The notes for this EDI", "type": "string" }, "sendAccountNumber": { "description": "If true then send account number", "type": "boolean", "default": false }, "supportOrder": { "description": "If true then order support", "type": "boolean", "default": false }, "supportInvoice": { "description": "If true then invoice support", "type": "boolean", "default": false } } }, "ediFtp": { "type": "object", "properties": { "ftpConnMode": { "description": "The FTP connection mode for this EDI", "type": "string", "enum": [ "Active", "Passive" ] }, "ftpFormat": { "description": "The FTP format for this EDI", "type": "string", "enum": [ "SFTP", "FTP" ] }, "ftpMode": { "description": "The FTP mode for this EDI", "type": "string", "enum": [ "ASCII", "Binary" ] }, "ftpPort": { "description": "The port for this EDI", "type": "integer" }, "invoiceDirectory": { "description": "The invoice directory for this EDI", "type": "string" }, "isPrimaryTransmissionMethod": { "description": "Primary transmission method", "type": "boolean" }, "notes": { "description": "The notes for this EDI", "type": "string" }, "orderDirectory": { "description": "The order directory for this EDI", "type": "string" }, "password": { "description": "The login password for this EDI", "type": "string" }, "serverAddress": { "description": "The server address for this EDI", "type": "string" }, "username": { "description": "The login username for this EDI", "type": "string" } } }, "ediSchedule": { "type": "object", "properties": { "enableScheduledExport": { "description": "Whether or not to enable scheduled for exports", "type": "boolean", "default": false }, "scheduleParameters": { "type": "object", "properties": { "id": { "description": "Schedule unique identifier", "type": "string", "format": "uuid" }, "scheduleFrequency": { "type": "integer", "description": "Number of time periods" }, "schedulePeriod": { "type": "string", "description": "Time period for repeating job", "enum": [ "MONTH", "WEEK", "DAY", "HOUR", "EXACT_DATE", "NONE" ] }, "schedulingDate": { "description": "The date (MM/DD/YYYY) for this job to start running", "format": "date-time", "type": "string" }, "scheduleTime": { "type": "string", "description": "Time to run the job" }, "scheduleDay": { "type": "integer", "description": "Day of month to run the job (One-based)" }, "weekDays": { "type": "array", "description": "Day of week to run the job", "items": { "type": "string", "description": "Day of week", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] } }, "timeZone": { "type": "string", "description": "Schedule time zone", "default": "UTC" } } }, "schedulingNotes": { "description": "The schedule notes for this EDI job", "type": "string" } } }, "isDefaultConfig": { "description": "If true then config is default", "type": "boolean", "default": false } } }, "query": { "description": "CQL query to be passed to the module which data is being exported. Use it to filter data.", "type": "string", "maxLength": 5000 }, "eHoldingsExportConfig": { "type": "object", "properties": { "recordId": { "description": "Unique identifier of package - combination of providerId-packageId", "example": "91525-1152699-659590", "type": "string" }, "recordType": { "type": "string", "description": "The record type", "enum": [ "PACKAGE", "RESOURCE" ] }, "titleSearchFilters": { "description": "The filters needed to filter package titles", "example": "filter[name]=title&sort=name", "type": "string" }, "packageFields": { "description": "The list of package fields for export", "type": "array", "items": { "type": "string" } }, "titleFields": { "description": "The list of title fields for export", "type": "array", "items": { "type": "string" } } }, "required": [ "recordId", "recordType" ] }, "authorityControlExportConfig": { "type": "object", "properties": { "fromDate": { "description": "Report date range start", "type": "string", "format": "date" }, "toDate": { "description": "Report date range end", "type": "string", "format": "date" } }, "required": [ "fromDate", "toDate" ] } } }, "status": { "type": "string", "enum": [ "SCHEDULED", "IN_PROGRESS", "SUCCESSFUL", "FAILED" ] }, "files": { "description": "Export files URLs", "type": "array", "items": { "type": "string" } }, "fileNames": { "description": "Exported files", "type": "array", "items": { "type": "string" } }, "startTime": { "description": "Job start timestamp", "type": "string", "format": "date-time" }, "endTime": { "description": "Job end timestamp", "type": "string", "format": "date-time" }, "metadata": { "type": "object", "title": "Metadata Schema", "properties": { "createdDate": { "description": "Date and time when the record was created", "type": "string", "format": "date-time" }, "createdByUserId": { "description": "ID of the user who created the record (when available)", "type": "string", "format": "uuid" }, "createdByUsername": { "description": "Username of the user who created the record (when available)", "type": "string", "maxLength": 50 }, "updatedDate": { "description": "Date and time when the record was last updated", "type": "string", "format": "date-time" }, "updatedByUserId": { "description": "ID of the user who last updated the record (when available)", "type": "string", "format": "uuid" }, "updatedByUsername": { "description": "Username of the user who last updated the record (when available)", "type": "string", "maxLength": 50 } }, "additionalProperties": false }, "outputFormat": { "description": "Job output format", "type": "string", "maxLength": 50 }, "errorDetails": { "description": "Job error details", "type": "string" }, "identifierType": { "type": "string", "enum": [ "ID", "BARCODE", "HRID", "FORMER_IDS", "ACCESSION_NUMBER", "HOLDINGS_RECORD_ID", "USER_NAME", "EXTERNAL_SYSTEM_ID", "INSTANCE_HRID", "ITEM_BARCODE", "ISBN", "ISSN" ] }, "entityType": { "type": "string", "enum": [ "USER", "ITEM", "HOLDINGS_RECORD", "INSTANCE" ] }, "progress": { "type": "object", "properties": { "total": { "type": "integer", "minimum": 0, "default": 0, "description": "Total number of records being processed" }, "processed": { "type": "integer", "minimum": 0, "default": 0, "description": "Current number of records already processed" }, "progress": { "type": "integer", "minimum": 0, "maximum": 100, "default": 0, "description": "Current progress in %" }, "success": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of success processed records" }, "errors": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of errors" } } } }, "additionalProperties": false, "required": [ "type", "exportTypeSpecificParameters" ] } }, "totalRecords": { "type": "integer" } }, "required": [ "jobRecords", "totalRecords" ] }
- resendexportedfile(id_)
resend exported file by the job ID
POST /data-export-spring/jobs/{id}/resend- Raises
OkapiRequestError – Bad Request
OkapiRequestNotFound – ExportFile with a given Job ID not found
OkapiRequestFatalError – Internal server errors
- sendjob(job)
Send job via Kafka
POST /data-export-spring/jobs/send- Parameters
job (dict) – See Schema below.
- Raises
OkapiRequestError – Bad Request
OkapiRequestFatalError – Internal server errors, e.g. due to misconfiguration
Schema
{ "type": "object", "properties": { "id": { "description": "Job ID", "type": "string", "format": "uuid" }, "name": { "description": "Job name", "type": "string", "maxLength": 100 }, "description": { "description": "Job description", "type": "string" }, "source": { "description": "Job source", "type": "string", "maxLength": 50 }, "isSystemSource": { "description": "Was the job created by system", "type": "boolean" }, "tenant": { "description": "Tenant id", "type": "string" }, "type": { "type": "string", "enum": [ "CIRCULATION_LOG", "BURSAR_FEES_FINES", "BATCH_VOUCHER_EXPORT", "EDIFACT_ORDERS_EXPORT", "ORDERS_EXPORT", "INVOICE_EXPORT", "BULK_EDIT_IDENTIFIERS", "BULK_EDIT_QUERY", "BULK_EDIT_UPDATE", "E_HOLDINGS", "AUTH_HEADINGS_UPDATES", "FAILED_LINKED_BIB_UPDATES" ], "default": "BURSAR_FEES_FINES" }, "exportTypeSpecificParameters": { "type": "object", "properties": { "bursarFeeFines": { "description": "Bursar export job schema", "type": "object", "properties": { "filter": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "groupByPatron": { "description": "Choose whether to group fee/fines by patron", "type": "boolean" }, "groupByPatronFilter": { "description": "Filter by aggregate data", "type": "object", "properties": { "type": { "description": "Type of filter", "type": "string", "default": "Aggregate" }, "property": { "description": "Property to filter on", "type": "string", "enum": [ "NUM_ROWS", "TOTAL_AMOUNT" ] }, "amount": { "description": "Amount to filter on", "type": "integer" }, "condition": { "description": "Condition to filter on", "type": "string", "enum": [ "LESS_THAN_EQUAL", "LESS_THAN", "GREATER_THAN", "GREATER_THAN_EQUAL" ] } }, "additionalProperties": false, "required": [ "type", "property", "amount", "condition" ] }, "header": { "description": "Header format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "data": { "description": "Data format for the export file", "type": "array", "items": { "description": "Usable token for bursar export", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" }, { "$ref": "bursarExportTokenFeeDate.json" }, { "$ref": "bursarExportTokenFeeAmount.json" }, { "$ref": "bursarExportTokenFeeMetadata.json" }, { "$ref": "bursarExportTokenItemData.json" }, { "$ref": "bursarExportTokenUserData.json" }, { "$ref": "bursarExportTokenUserDataOptional.json" }, { "$ref": "bursarExportTokenConditional.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json", "FeeDate": "bursarExportTokenFeeDate.json", "FeeAmount": "bursarExportTokenFeeAmount.json", "FeeMetadata": "bursarExportTokenFeeMetadata.json", "ItemData": "bursarExportTokenItemData.json", "UserData": "bursarExportTokenUserData.json", "UserDataOptional": "bursarExportTokenUserDataOptional.json", "Conditional": "bursarExportTokenConditional.json" } } } }, "footer": { "description": "Footer format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "transferInfo": { "description": "Transfer criteria", "type": "object", "properties": { "conditions": { "description": "Conditions to apply to the transfer of fees/fines", "type": "array", "items": { "type": "object", "properties": { "condition": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "account": { "description": "Account to transfer fees/fines that meet this condition to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "condition", "account" ] } }, "else": { "type": "object", "description": "If none of the specified conditions is met", "properties": { "account": { "description": "Account to transfer fees/fines that do not meet any specified conditions to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "account" ] } }, "additionalProperties": false, "required": [ "conditions", "else" ] } }, "additionalProperties": false, "required": [ "filter", "groupByPatron", "header", "data", "footer", "transferInfo" ] }, "vendorEdiOrdersExportConfig": { "type": "object", "properties": { "exportConfigId": { "description": "UUID of the export configuration. Needed to find Jobs by export config UUID", "type": "string", "format": "uuid" }, "vendorId": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" }, "configName": { "description": "Configuration name", "type": "string" }, "configDescription": { "description": "Configuration description", "type": "string" }, "ediConfig": { "type": "object", "properties": { "accountNoList": { "description": "The list of account numbers of the vendor", "type": "array", "items": { "type": "string" } }, "defaultAcquisitionMethods": { "description": "Default acquisition methods for the accounts", "type": "array", "items": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" } }, "ediNamingConvention": { "description": "The naming convention for this EDI", "type": "string" }, "libEdiCode": { "description": "The library code for this EDI", "type": "string" }, "libEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "vendorEdiCode": { "description": "The library code for this EDI", "type": "string" }, "vendorEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "notes": { "description": "The notes for this EDI", "type": "string" }, "sendAccountNumber": { "description": "If true then send account number", "type": "boolean", "default": false }, "supportOrder": { "description": "If true then order support", "type": "boolean", "default": false }, "supportInvoice": { "description": "If true then invoice support", "type": "boolean", "default": false } } }, "ediFtp": { "type": "object", "properties": { "ftpConnMode": { "description": "The FTP connection mode for this EDI", "type": "string", "enum": [ "Active", "Passive" ] }, "ftpFormat": { "description": "The FTP format for this EDI", "type": "string", "enum": [ "SFTP", "FTP" ] }, "ftpMode": { "description": "The FTP mode for this EDI", "type": "string", "enum": [ "ASCII", "Binary" ] }, "ftpPort": { "description": "The port for this EDI", "type": "integer" }, "invoiceDirectory": { "description": "The invoice directory for this EDI", "type": "string" }, "isPrimaryTransmissionMethod": { "description": "Primary transmission method", "type": "boolean" }, "notes": { "description": "The notes for this EDI", "type": "string" }, "orderDirectory": { "description": "The order directory for this EDI", "type": "string" }, "password": { "description": "The login password for this EDI", "type": "string" }, "serverAddress": { "description": "The server address for this EDI", "type": "string" }, "username": { "description": "The login username for this EDI", "type": "string" } } }, "ediSchedule": { "type": "object", "properties": { "enableScheduledExport": { "description": "Whether or not to enable scheduled for exports", "type": "boolean", "default": false }, "scheduleParameters": { "type": "object", "properties": { "id": { "description": "Schedule unique identifier", "type": "string", "format": "uuid" }, "scheduleFrequency": { "type": "integer", "description": "Number of time periods" }, "schedulePeriod": { "type": "string", "description": "Time period for repeating job", "enum": [ "MONTH", "WEEK", "DAY", "HOUR", "EXACT_DATE", "NONE" ] }, "schedulingDate": { "description": "The date (MM/DD/YYYY) for this job to start running", "format": "date-time", "type": "string" }, "scheduleTime": { "type": "string", "description": "Time to run the job" }, "scheduleDay": { "type": "integer", "description": "Day of month to run the job (One-based)" }, "weekDays": { "type": "array", "description": "Day of week to run the job", "items": { "type": "string", "description": "Day of week", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] } }, "timeZone": { "type": "string", "description": "Schedule time zone", "default": "UTC" } } }, "schedulingNotes": { "description": "The schedule notes for this EDI job", "type": "string" } } }, "isDefaultConfig": { "description": "If true then config is default", "type": "boolean", "default": false } } }, "query": { "description": "CQL query to be passed to the module which data is being exported. Use it to filter data.", "type": "string", "maxLength": 5000 }, "eHoldingsExportConfig": { "type": "object", "properties": { "recordId": { "description": "Unique identifier of package - combination of providerId-packageId", "example": "91525-1152699-659590", "type": "string" }, "recordType": { "type": "string", "description": "The record type", "enum": [ "PACKAGE", "RESOURCE" ] }, "titleSearchFilters": { "description": "The filters needed to filter package titles", "example": "filter[name]=title&sort=name", "type": "string" }, "packageFields": { "description": "The list of package fields for export", "type": "array", "items": { "type": "string" } }, "titleFields": { "description": "The list of title fields for export", "type": "array", "items": { "type": "string" } } }, "required": [ "recordId", "recordType" ] }, "authorityControlExportConfig": { "type": "object", "properties": { "fromDate": { "description": "Report date range start", "type": "string", "format": "date" }, "toDate": { "description": "Report date range end", "type": "string", "format": "date" } }, "required": [ "fromDate", "toDate" ] } } }, "status": { "type": "string", "enum": [ "SCHEDULED", "IN_PROGRESS", "SUCCESSFUL", "FAILED" ] }, "files": { "description": "Export files URLs", "type": "array", "items": { "type": "string" } }, "fileNames": { "description": "Exported files", "type": "array", "items": { "type": "string" } }, "startTime": { "description": "Job start timestamp", "type": "string", "format": "date-time" }, "endTime": { "description": "Job end timestamp", "type": "string", "format": "date-time" }, "metadata": { "type": "object", "title": "Metadata Schema", "properties": { "createdDate": { "description": "Date and time when the record was created", "type": "string", "format": "date-time" }, "createdByUserId": { "description": "ID of the user who created the record (when available)", "type": "string", "format": "uuid" }, "createdByUsername": { "description": "Username of the user who created the record (when available)", "type": "string", "maxLength": 50 }, "updatedDate": { "description": "Date and time when the record was last updated", "type": "string", "format": "date-time" }, "updatedByUserId": { "description": "ID of the user who last updated the record (when available)", "type": "string", "format": "uuid" }, "updatedByUsername": { "description": "Username of the user who last updated the record (when available)", "type": "string", "maxLength": 50 } }, "additionalProperties": false }, "outputFormat": { "description": "Job output format", "type": "string", "maxLength": 50 }, "errorDetails": { "description": "Job error details", "type": "string" }, "identifierType": { "type": "string", "enum": [ "ID", "BARCODE", "HRID", "FORMER_IDS", "ACCESSION_NUMBER", "HOLDINGS_RECORD_ID", "USER_NAME", "EXTERNAL_SYSTEM_ID", "INSTANCE_HRID", "ITEM_BARCODE", "ISBN", "ISSN" ] }, "entityType": { "type": "string", "enum": [ "USER", "ITEM", "HOLDINGS_RECORD", "INSTANCE" ] }, "progress": { "type": "object", "properties": { "total": { "type": "integer", "minimum": 0, "default": 0, "description": "Total number of records being processed" }, "processed": { "type": "integer", "minimum": 0, "default": 0, "description": "Current number of records already processed" }, "progress": { "type": "integer", "minimum": 0, "maximum": 100, "default": 0, "description": "Current progress in %" }, "success": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of success processed records" }, "errors": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of errors" } } } }, "additionalProperties": false, "required": [ "type", "exportTypeSpecificParameters" ] }
- upsertjob(job)
Create or update a job
POST /data-export-spring/jobs- Parameters
job (dict) – See Schema below.
- Returns
See Schema below.
- Return type
dict
- Raises
OkapiRequestError – Bad Request
OkapiRequestFatalError – Internal server errors, e.g. due to misconfiguration
Schema
{ "type": "object", "properties": { "id": { "description": "Job ID", "type": "string", "format": "uuid" }, "name": { "description": "Job name", "type": "string", "maxLength": 100 }, "description": { "description": "Job description", "type": "string" }, "source": { "description": "Job source", "type": "string", "maxLength": 50 }, "isSystemSource": { "description": "Was the job created by system", "type": "boolean" }, "tenant": { "description": "Tenant id", "type": "string" }, "type": { "type": "string", "enum": [ "CIRCULATION_LOG", "BURSAR_FEES_FINES", "BATCH_VOUCHER_EXPORT", "EDIFACT_ORDERS_EXPORT", "ORDERS_EXPORT", "INVOICE_EXPORT", "BULK_EDIT_IDENTIFIERS", "BULK_EDIT_QUERY", "BULK_EDIT_UPDATE", "E_HOLDINGS", "AUTH_HEADINGS_UPDATES", "FAILED_LINKED_BIB_UPDATES" ], "default": "BURSAR_FEES_FINES" }, "exportTypeSpecificParameters": { "type": "object", "properties": { "bursarFeeFines": { "description": "Bursar export job schema", "type": "object", "properties": { "filter": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "groupByPatron": { "description": "Choose whether to group fee/fines by patron", "type": "boolean" }, "groupByPatronFilter": { "description": "Filter by aggregate data", "type": "object", "properties": { "type": { "description": "Type of filter", "type": "string", "default": "Aggregate" }, "property": { "description": "Property to filter on", "type": "string", "enum": [ "NUM_ROWS", "TOTAL_AMOUNT" ] }, "amount": { "description": "Amount to filter on", "type": "integer" }, "condition": { "description": "Condition to filter on", "type": "string", "enum": [ "LESS_THAN_EQUAL", "LESS_THAN", "GREATER_THAN", "GREATER_THAN_EQUAL" ] } }, "additionalProperties": false, "required": [ "type", "property", "amount", "condition" ] }, "header": { "description": "Header format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "data": { "description": "Data format for the export file", "type": "array", "items": { "description": "Usable token for bursar export", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" }, { "$ref": "bursarExportTokenFeeDate.json" }, { "$ref": "bursarExportTokenFeeAmount.json" }, { "$ref": "bursarExportTokenFeeMetadata.json" }, { "$ref": "bursarExportTokenItemData.json" }, { "$ref": "bursarExportTokenUserData.json" }, { "$ref": "bursarExportTokenUserDataOptional.json" }, { "$ref": "bursarExportTokenConditional.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json", "FeeDate": "bursarExportTokenFeeDate.json", "FeeAmount": "bursarExportTokenFeeAmount.json", "FeeMetadata": "bursarExportTokenFeeMetadata.json", "ItemData": "bursarExportTokenItemData.json", "UserData": "bursarExportTokenUserData.json", "UserDataOptional": "bursarExportTokenUserDataOptional.json", "Conditional": "bursarExportTokenConditional.json" } } } }, "footer": { "description": "Footer format for the export file", "type": "array", "items": { "description": "Token permitted in header/footer", "oneOf": [ { "$ref": "bursarExportTokenAggregate.json" }, { "$ref": "bursarExportTokenConstant.json" }, { "$ref": "bursarExportTokenCurrentDate.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Aggregate": "bursarExportTokenAggregate.json", "Constant": "bursarExportTokenConstant.json", "CurrentDate": "bursarExportTokenCurrentDate.json" } } } }, "transferInfo": { "description": "Transfer criteria", "type": "object", "properties": { "conditions": { "description": "Conditions to apply to the transfer of fees/fines", "type": "array", "items": { "type": "object", "properties": { "condition": { "description": "Filter for bursar export job", "oneOf": [ { "$ref": "bursarExportFilterAge.json" }, { "$ref": "bursarExportFilterAmount.json" }, { "$ref": "bursarExportFilterFeeType.json" }, { "$ref": "bursarExportFilterLocation.json" }, { "$ref": "bursarExportFilterPatronGroup.json" }, { "$ref": "bursarExportFilterServicePoint.json" }, { "$ref": "bursarExportFilterCondition.json" }, { "$ref": "bursarExportFilterNegation.json" }, { "$ref": "bursarExportFilterPass.json" }, { "$ref": "bursarExportFilterFeeFineOwner.json" } ], "discriminator": { "propertyName": "type", "mapping": { "Age": "bursarExportFilterAge.json", "Amount": "bursarExportFilterAmount.json", "FeeType": "bursarExportFilterFeeType.json", "FeeFineOwner": "bursarExportFilterFeeFineOwner.json", "Location": "bursarExportFilterLocation.json", "PatronGroup": "bursarExportFilterPatronGroup.json", "ServicePoint": "bursarExportFilterServicePoint.json", "Condition": "bursarExportFilterCondition.json", "Negation": "bursarExportFilterNegation.json", "Pass": "bursarExportFilterPass.json" } } }, "account": { "description": "Account to transfer fees/fines that meet this condition to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "condition", "account" ] } }, "else": { "type": "object", "description": "If none of the specified conditions is met", "properties": { "account": { "description": "Account to transfer fees/fines that do not meet any specified conditions to", "type": "string", "format": "uuid" } }, "additionalProperties": false, "required": [ "account" ] } }, "additionalProperties": false, "required": [ "conditions", "else" ] } }, "additionalProperties": false, "required": [ "filter", "groupByPatron", "header", "data", "footer", "transferInfo" ] }, "vendorEdiOrdersExportConfig": { "type": "object", "properties": { "exportConfigId": { "description": "UUID of the export configuration. Needed to find Jobs by export config UUID", "type": "string", "format": "uuid" }, "vendorId": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" }, "configName": { "description": "Configuration name", "type": "string" }, "configDescription": { "description": "Configuration description", "type": "string" }, "ediConfig": { "type": "object", "properties": { "accountNoList": { "description": "The list of account numbers of the vendor", "type": "array", "items": { "type": "string" } }, "defaultAcquisitionMethods": { "description": "Default acquisition methods for the accounts", "type": "array", "items": { "description": "UUID of the acquisition method", "type": "string", "format": "uuid" } }, "ediNamingConvention": { "description": "The naming convention for this EDI", "type": "string" }, "libEdiCode": { "description": "The library code for this EDI", "type": "string" }, "libEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "vendorEdiCode": { "description": "The library code for this EDI", "type": "string" }, "vendorEdiType": { "description": "The library type for this EDI", "type": "string", "enum": [ "014/EAN", "31B/US-SAN", "091/Vendor-assigned", "092/Customer-assigned" ] }, "notes": { "description": "The notes for this EDI", "type": "string" }, "sendAccountNumber": { "description": "If true then send account number", "type": "boolean", "default": false }, "supportOrder": { "description": "If true then order support", "type": "boolean", "default": false }, "supportInvoice": { "description": "If true then invoice support", "type": "boolean", "default": false } } }, "ediFtp": { "type": "object", "properties": { "ftpConnMode": { "description": "The FTP connection mode for this EDI", "type": "string", "enum": [ "Active", "Passive" ] }, "ftpFormat": { "description": "The FTP format for this EDI", "type": "string", "enum": [ "SFTP", "FTP" ] }, "ftpMode": { "description": "The FTP mode for this EDI", "type": "string", "enum": [ "ASCII", "Binary" ] }, "ftpPort": { "description": "The port for this EDI", "type": "integer" }, "invoiceDirectory": { "description": "The invoice directory for this EDI", "type": "string" }, "isPrimaryTransmissionMethod": { "description": "Primary transmission method", "type": "boolean" }, "notes": { "description": "The notes for this EDI", "type": "string" }, "orderDirectory": { "description": "The order directory for this EDI", "type": "string" }, "password": { "description": "The login password for this EDI", "type": "string" }, "serverAddress": { "description": "The server address for this EDI", "type": "string" }, "username": { "description": "The login username for this EDI", "type": "string" } } }, "ediSchedule": { "type": "object", "properties": { "enableScheduledExport": { "description": "Whether or not to enable scheduled for exports", "type": "boolean", "default": false }, "scheduleParameters": { "type": "object", "properties": { "id": { "description": "Schedule unique identifier", "type": "string", "format": "uuid" }, "scheduleFrequency": { "type": "integer", "description": "Number of time periods" }, "schedulePeriod": { "type": "string", "description": "Time period for repeating job", "enum": [ "MONTH", "WEEK", "DAY", "HOUR", "EXACT_DATE", "NONE" ] }, "schedulingDate": { "description": "The date (MM/DD/YYYY) for this job to start running", "format": "date-time", "type": "string" }, "scheduleTime": { "type": "string", "description": "Time to run the job" }, "scheduleDay": { "type": "integer", "description": "Day of month to run the job (One-based)" }, "weekDays": { "type": "array", "description": "Day of week to run the job", "items": { "type": "string", "description": "Day of week", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ] } }, "timeZone": { "type": "string", "description": "Schedule time zone", "default": "UTC" } } }, "schedulingNotes": { "description": "The schedule notes for this EDI job", "type": "string" } } }, "isDefaultConfig": { "description": "If true then config is default", "type": "boolean", "default": false } } }, "query": { "description": "CQL query to be passed to the module which data is being exported. Use it to filter data.", "type": "string", "maxLength": 5000 }, "eHoldingsExportConfig": { "type": "object", "properties": { "recordId": { "description": "Unique identifier of package - combination of providerId-packageId", "example": "91525-1152699-659590", "type": "string" }, "recordType": { "type": "string", "description": "The record type", "enum": [ "PACKAGE", "RESOURCE" ] }, "titleSearchFilters": { "description": "The filters needed to filter package titles", "example": "filter[name]=title&sort=name", "type": "string" }, "packageFields": { "description": "The list of package fields for export", "type": "array", "items": { "type": "string" } }, "titleFields": { "description": "The list of title fields for export", "type": "array", "items": { "type": "string" } } }, "required": [ "recordId", "recordType" ] }, "authorityControlExportConfig": { "type": "object", "properties": { "fromDate": { "description": "Report date range start", "type": "string", "format": "date" }, "toDate": { "description": "Report date range end", "type": "string", "format": "date" } }, "required": [ "fromDate", "toDate" ] } } }, "status": { "type": "string", "enum": [ "SCHEDULED", "IN_PROGRESS", "SUCCESSFUL", "FAILED" ] }, "files": { "description": "Export files URLs", "type": "array", "items": { "type": "string" } }, "fileNames": { "description": "Exported files", "type": "array", "items": { "type": "string" } }, "startTime": { "description": "Job start timestamp", "type": "string", "format": "date-time" }, "endTime": { "description": "Job end timestamp", "type": "string", "format": "date-time" }, "metadata": { "type": "object", "title": "Metadata Schema", "properties": { "createdDate": { "description": "Date and time when the record was created", "type": "string", "format": "date-time" }, "createdByUserId": { "description": "ID of the user who created the record (when available)", "type": "string", "format": "uuid" }, "createdByUsername": { "description": "Username of the user who created the record (when available)", "type": "string", "maxLength": 50 }, "updatedDate": { "description": "Date and time when the record was last updated", "type": "string", "format": "date-time" }, "updatedByUserId": { "description": "ID of the user who last updated the record (when available)", "type": "string", "format": "uuid" }, "updatedByUsername": { "description": "Username of the user who last updated the record (when available)", "type": "string", "maxLength": 50 } }, "additionalProperties": false }, "outputFormat": { "description": "Job output format", "type": "string", "maxLength": 50 }, "errorDetails": { "description": "Job error details", "type": "string" }, "identifierType": { "type": "string", "enum": [ "ID", "BARCODE", "HRID", "FORMER_IDS", "ACCESSION_NUMBER", "HOLDINGS_RECORD_ID", "USER_NAME", "EXTERNAL_SYSTEM_ID", "INSTANCE_HRID", "ITEM_BARCODE", "ISBN", "ISSN" ] }, "entityType": { "type": "string", "enum": [ "USER", "ITEM", "HOLDINGS_RECORD", "INSTANCE" ] }, "progress": { "type": "object", "properties": { "total": { "type": "integer", "minimum": 0, "default": 0, "description": "Total number of records being processed" }, "processed": { "type": "integer", "minimum": 0, "default": 0, "description": "Current number of records already processed" }, "progress": { "type": "integer", "minimum": 0, "maximum": 100, "default": 0, "description": "Current progress in %" }, "success": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of success processed records" }, "errors": { "type": "integer", "minimum": 0, "maximum": 0, "default": 0, "description": "Current number of errors" } } } }, "additionalProperties": false, "required": [ "type", "exportTypeSpecificParameters" ] }