{ "opencollection": "1.0.0", "info": { "name": "Document Service (DEMO1) HTTP API", "version": "1.0" }, "request": { "auth": { "type": "apikey", "key": "X-XNSG_WEB_TOKEN", "value": "{{X-XNSG_WEB_TOKEN}}", "placement": "header" } }, "items": [ { "info": { "name": "CoreBFBean", "type": "folder" }, "items": [ { "info": { "name": "checkBFFunctionExists", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/checkBFFunctionExists", "body": { "type": "json", "data": "{}" } }, "docs": "Can be called to know if a BF function exist." }, { "info": { "name": "echo", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/echo", "params": [ { "name": "echo", "value": "", "type": "query" } ] }, "docs": "Returns the given echo parameter value." }, { "info": { "name": "echoUpperCase", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/echoUpperCase", "params": [ { "name": "echo", "value": "", "type": "query" } ] }, "docs": "Returns the given echo parameter value in uppercase." }, { "info": { "name": "getAllMonitoringValues", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getAllMonitoringValues" }, "docs": "Returns all available monitoring values of the server." }, { "info": { "name": "getBuildForSolution", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getBuildForSolution", "params": [ { "name": "solutionName", "value": "", "type": "query", "description": "solutionName the name of the solution for which version information is to be obtained" } ] }, "docs": "Return the build information of a solution that is deployed in the product on this server. The RFC name of this function is \\\"/AEB/XNSG_IF_BLDSOL\\\"." }, { "info": { "name": "getMonitoringValue", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getMonitoringValue", "params": [ { "name": "groupName", "value": "", "type": "query" }, { "name": "valueName", "value": "", "type": "query" } ] }, "docs": "Returns the current monitoring value for the given group and name." }, { "info": { "name": "getProductInfo", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getProductInfo" }, "docs": "Return information about the server that is answering this request. This includes the product name and various version informations. The RFC name of this function is \\\"/AEB/XNSG_IF_PRINFO\\\"." }, { "info": { "name": "getRuntimeInfo", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getRuntimeInfo" }, "docs": "Return runtime information about the server that is answering this request. This includes the server name, ports and various other runtime informations. The RFC name of this function is \\\"/AEB/XNSG_IF_RTINFO\\\"." }, { "info": { "name": "getRuntimeState", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getRuntimeState", "body": { "type": "json", "data": "{}" } }, "docs": "Return runtime state information about the server that is answering this request. This includes if the server is doing fine or not. Also included are the supported operations (bfs) for the installation repository The RFC name of this function is \\\"/AEB/XNSG_IF_RTSTATE\\\"." }, { "info": { "name": "getThreadDump", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getThreadDump" }, "docs": "Generate Thread-Dump." }, { "info": { "name": "getVersionForSolution", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/getVersionForSolution", "params": [ { "name": "solutionName", "value": "", "type": "query", "description": "solutionName the name of the solution for which version information is to be obtained" } ] }, "docs": "Return the version information of a solution that is deployed in the product on this server. The RFC name of this function is \\\"/AEB/XNSG_IF_VERSOL\\\"." }, { "info": { "name": "restartRFCServer", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/CoreBFBean/restartRFCServer" }, "docs": "This method is only usefull to be called from SAP via RFC. It will restart the RFCServer which receives this method call. This method is useful to be called from SAP, if within SAP some structure definitions had changed, e.g. after installing a transport. The RFC name of this function is \\\"/AEB/XNSG_IF_RSTRFCSRV\\\"." } ] }, { "info": { "name": "DocumentService", "type": "folder" }, "items": [ { "info": { "name": "getWorkstations", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/workstation" }, "docs": "

Fetch all registered workstations

Returns an information about all registered workstations as json or xml list.

" }, { "info": { "name": "parseDocumentTemplateContent", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/template/:fileName/parse", "params": [ { "name": "fileName", "value": "DemoDoc10.pdf", "type": "path", "description": "Relative file name of the document template in file system (without path). This name, together with the version, uniquely identifies a template resource." }, { "name": "processor", "value": "PDF-XFA", "type": "query", "description": "Document processor tag. It decides, which processor takes care of the document." }, { "name": "query", "value": "", "type": "query", "description": "Parse query. Defines, which part of the template is to be returned." } ] }, "docs": "

Parse document

Parses the referenced template data and returns the required information, as specified in the parse query parameters. The supported query parameters are individual to each document processor. The referenced template must already exist in the system.

" }, { "info": { "name": "queryDocumentTemplates", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/template", "params": [ { "name": "processor", "value": "PDF-XFA", "type": "query", "description": "Document processor tag" } ] }, "docs": "

Query information on document templates

Returns a list of available templates for the specified processor. The templates are resolved in the context of a session client. Processor parameter is optional; templates for all supported processors are returned when empty.

" }, { "info": { "name": "openPrintRequestQueue", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/ui/printQueue", "params": [ { "name": "user", "value": "API_TEST", "type": "query", "description": "The user of the new session.
It is not required, that this user is a valid user name of the client. However: Such a user may have granted only the role \"I_EVERYONE\" unless XNSG is configured to use e.g. an LDAP server and the user can be found in the LDAP server with some roles granted to the user.
No password is required because other servers which contact over the business facade will be trusted to have checked the users access rights. This enables a kind of \"single sign on\" between different e.g. XNSG servers." }, { "name": "language", "value": "en", "type": "query", "description": "The two letter ISO code of the language of the new session. Currently \"de\" and \"en\" are supported." }, { "name": "workstationId", "value": "", "type": "query", "description": "The id of the workstation for which the print requests have to be shown." }, { "name": "redirect", "value": "", "type": "query", "description": "If set to 'true', the generated URI is returned in the 'Location' header of a SEE OTHER (303) response." } ] }, "docs": "

Get URL to print queue

Returns print request queue in url.

" }, { "info": { "name": "openStagedDocumentEditor", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/ui/document/:documentId", "params": [ { "name": "documentId", "value": "", "type": "path", "description": "The documentId of the document to be edited." }, { "name": "editorAction", "value": "", "type": "query", "description": "The action to start with. Default initial action is PREVIEW" }, { "name": "user", "value": "API_TEST", "type": "query", "description": "The user of the new session.
It is not required, that this user is a valid user name of the client. However: Such a user may have granted only the role \"I_EVERYONE\" unless XNSG is configured to use e.g. an LDAP server and the user can be found in the LDAP server with some roles granted to the user.
No password is required because other servers which contact over the business facade will be trusted to have checked the users access rights. This enables a kind of \"single sign on\" between different e.g. XNSG servers." }, { "name": "language", "value": "en", "type": "query", "description": "The two letter ISO code of the language of the new session. Currently \"de\" and \"en\" are supported." }, { "name": "redirect", "value": "", "type": "query", "description": "If set to 'true', the generated URI is returned in the 'Location' header of a SEE OTHER (303) response." } ] }, "docs": "

Get URL to edit document

Returns document editor url.

" }, { "info": { "name": "openStagedDocumentSearch", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/ui/document", "params": [ { "name": "user", "value": "API_TEST", "type": "query", "description": "The user of the new session.
It is not required, that this user is a valid user name of the client. However: Such a user may have granted only the role \"I_EVERYONE\" unless XNSG is configured to use e.g. an LDAP server and the user can be found in the LDAP server with some roles granted to the user.
No password is required because other servers which contact over the business facade will be trusted to have checked the users access rights. This enables a kind of \"single sign on\" between different e.g. XNSG servers." }, { "name": "language", "value": "en", "type": "query", "description": "The two letter ISO code of the language of the new session. Currently \"de\" and \"en\" are supported." }, { "name": "documentId", "value": "", "type": "query", "description": "Criteria for the document ID of the document. Only documents that exactly match the ID pattern will be returned." }, { "name": "referenceType", "value": "", "type": "query", "description": "Criteria for the reference type of the documents. Only documents that exactly match the reference type pattern will be returned." }, { "name": "referenceNumber", "value": "", "type": "query", "description": "Criteria for the reference number of the documents. The criteria can contain wildcards." }, { "name": "documentType", "value": "", "type": "query", "description": "Criteria for the document type of the document. Only documents that exactly match the document type pattern will be returned." }, { "name": "relativeFromValue", "value": "", "type": "query", "description": "Relative time range, from" }, { "name": "relativeFromUnit", "value": "", "type": "query", "description": "Relative time range, from" }, { "name": "relativeToValue", "value": "", "type": "query", "description": "Relative time range, to" }, { "name": "relativeToUnit", "value": "", "type": "query", "description": "Relative time range, to" }, { "name": "absoluteFrom", "value": "2000-01-01 00:00:00", "type": "query", "description": "Specific day/time for filtering, from" }, { "name": "absoluteTo", "value": "2099-12-31 23:59:59", "type": "query", "description": "Specific day/time for filtering, to" }, { "name": "redirect", "value": "", "type": "query", "description": "If set to 'true', the generated URI is returned in the 'Location' header of a SEE OTHER (303) response." } ] }, "docs": "

Get URL to search document

Returns document search link.

" }, { "info": { "name": "queryDocuments", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/document", "params": [ { "name": "referenceType", "value": "", "type": "query", "description": "Document reference type (only exact match)" }, { "name": "documentType", "value": "", "type": "query", "description": "Document type (only exact match)" }, { "name": "referenceNumberPattern", "value": "", "type": "query", "description": "Document reference number pattern (can contain wildcards)" }, { "name": "referenceNumber", "value": "", "type": "query", "description": "List of document reference numbers (max. 1000 elements allowed). Only documents exactly matching these numbers will be returned.

Consider using `/documentByRef` instead.

" }, { "name": "documentId", "value": "", "type": "query", "description": "List of document IDs (max. 1000 elements allowed). Only documents exactly matching these IDs will be returned.

Consider using `/documentById` instead.

" }, { "name": "returnTotalCount", "value": "", "type": "query", "description": "If `true`, total number of documents found is returned in field `totalCount`. Total number can be different from number of actually returned documents in case total document count exceeds value `maxResults`" }, { "name": "maxResults", "value": "", "type": "query", "description": "Defines how many documents will be returned. Default value: 30, maximum value: 100" }, { "name": "skipFirst", "value": "", "type": "query", "description": "If set, defines the number of documents that will be skipped before collecting results. Use this to retrieve further documents if a previous query did not return all required documents. The number must not exceed 10000" }, { "name": "orderBy", "value": "", "type": "query", "description": "Defines how the requested documents are sorted." }, { "name": "relativeFromValue", "value": "", "type": "query", "description": "Relative time range, from" }, { "name": "relativeFromUnit", "value": "", "type": "query", "description": "Relative time range, from" }, { "name": "relativeToValue", "value": "", "type": "query", "description": "Relative time range, to" }, { "name": "relativeToUnit", "value": "", "type": "query", "description": "Relative time range, to" }, { "name": "absoluteFrom", "value": "2000-01-01 00:00:00", "type": "query", "description": "Specific day/time for filtering, from" }, { "name": "absoluteTo", "value": "2099-12-31 23:59:59", "type": "query", "description": "Specific day/time for filtering, to" } ] }, "docs": "

Query information on existing documents

Executes a search query on the documents stored in the document storage. Only the documents that are visible to the caller (session user and session client) are returned. The results can be sorted by predefined criteria, the limit of the number of results is configurable, too.

Date time interval range filter

Use one of the given attributes to pass the filter. If more than one attribute is filled attributes will be used in the follo" }, { "info": { "name": "createDocument", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/document", "params": [ { "name": "async", "value": "", "type": "query", "description": "Asynchronous document creation. If `true`, the request returns immediately, whereas the document is being prepared in the background." }, { "name": "processor", "value": "PDF-XFA", "type": "query", "description": "Processing Options: Document processor tag" }, { "name": "templateName", "value": "DemoDoc10.pdf", "type": "query", "description": "Processing Options: Document template name" }, { "name": "format", "value": "", "type": "query", "description": "Processing Options: Format of the generated document (one of the formats supported by the processor)" }, { "name": "documentLocale", "value": "", "type": "query", "description": "Processing Options: Language of the generated document (if applicable)" }, { "name": "documentName", "value": "DEMO_4711", "type": "query", "description": "Processing Options: Suggested base file name of the generated document (without extension)" }, { "name": "referenceNumber", "value": "4711", "type": "query", "description": "Staging Options: Document reference number" }, { "name": "referenceType", "value": "SHIPMENT", "type": "query", "description": "Staging Options: Document reference type" }, { "name": "documentType", "value": "DEMODOC", "type": "query", "description": "Staging Options: Document type" }, { "name": "retentionDaysLimit", "value": "3", "type": "query", "description": "Staging Options: How long should the generated document be retained (max 90 days)" }, { "name": "tag", "value": "foo,bar", "type": "query", "description": "Staging Options: Additional tags that help to further describe the document (e.g. document source system, context, category...) and allows it to be found again by browsing and searching.

Tags must follow the kebab case naming convention (lowercase, words separated by hyphens)

Existing tags are retained if no value is defined. Defined values replace the existing tags. To delete all text without creating a tag, an empty tag has to be defined (e.g. `&tag=`)

" } ], "body": { "type": "json", "data": "{}" } }, "docs": "

Generate a new document either synchronously (wait for the result) or asynchronously (enqueue document creation and get the result later with the provided documentId).

Creates a document from the referenced template and document data. The template is resolved in the context of the session client. If any of the Staging options is filled the created document contents will be retained for later reuse.
An existing document can be updated in `POST /document/{documentId}` and sto" }, { "info": { "name": "createDocument", "type": "http" }, "http": { "method": "PUT", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/document", "params": [ { "name": "fileName", "value": "INV_4711.pdf", "type": "query", "description": "Document file name" }, { "name": "referenceNumber", "value": "4711", "type": "query", "description": "Staging Options: Document reference number" }, { "name": "referenceType", "value": "SHIPMENT", "type": "query", "description": "Staging Options: Document reference type" }, { "name": "documentType", "value": "INVOICE", "type": "query", "description": "Staging Options: Document type" }, { "name": "retentionDaysLimit", "value": "3", "type": "query", "description": "Staging Options: How long should the generated document be retained (max 90 days)" }, { "name": "tag", "value": "foo,bar", "type": "query", "description": "Staging Options: Additional tags that help to further describe the document (e.g. document source system, context, category...) and allows it to be found again by browsing and searching.

Tags must follow the kebab case naming convention (lowercase, words separated by hyphens)

Existing tags are retained if no value is defined. Defined values replace the existing tags. To delete all text without creating a tag, an empty tag has to be defined (e.g. `&tag=`)

" } ] }, "docs": "

Upload an external document

Uploads an external document (which does not depend on any document templates). Like `POST /document`, the uploaded document can be queried, deleted and fetched by calling the corresponding method with the received `documentId`. The document also has a date to which it is at least stored in the document store.
Currently only PDF documents up to a maximum size of 10MB are supported, without embedded links, scripts or attachments.

" }, { "info": { "name": "createDocumentTrusted", "type": "http" }, "http": { "method": "PUT", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/documentTrusted", "params": [ { "name": "fileName", "value": "INV_4711.pdf", "type": "query", "description": "Document file name" }, { "name": "referenceNumber", "value": "4711", "type": "query", "description": "Staging Options: Document reference number" }, { "name": "referenceType", "value": "SHIPMENT", "type": "query", "description": "Staging Options: Document reference type" }, { "name": "documentType", "value": "INVOICE", "type": "query", "description": "Staging Options: Document type" }, { "name": "retentionDaysLimit", "value": "3", "type": "query", "description": "Staging Options: How long should the generated document be retained (max 90 days)" }, { "name": "tag", "value": "foo,bar", "type": "query", "description": "Staging Options: Additional tags that help to further describe the document (e.g. document source system, context, category...) and allows it to be found again by browsing and searching.

Tags must follow the kebab case naming convention (lowercase, words separated by hyphens)

Existing tags are retained if no value is defined. Defined values replace the existing tags. To delete all text without creating a tag, an empty tag has to be defined (e.g. `&tag=`)

" } ] }, "docs": "

Upload an external document

Access is restricted to the `I_DOCUMENTSERVICEBF_TRUSTED` role.

Like `PUT /document` but with less limitations to the uploaded contents.

" }, { "info": { "name": "getDocument", "type": "http" }, "http": { "method": "GET", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/document/:documentId", "params": [ { "name": "documentId", "value": "012345678-abcd-4eff-9876-543210fedcba", "type": "path", "description": "Unique document id (as returned from POST/PUT/GET document)" }, { "name": "contentVariant", "value": "", "type": "query", "description": "Document content variant (optional)" }, { "name": "searchInArchive", "value": "", "type": "query", "description": "Search archives if not found in common storage" } ] }, "docs": "

Download an existing document content

Returns the requested document content if it is available for the user. A document may contain several contents, so the user has to define which content to return by the documentId and the variant.

" }, { "info": { "name": "updateDocument", "type": "http" }, "http": { "method": "POST", "url": "https://rz3.aeb.de/demo1docs/rest/DocumentService/document/:documentId", "params": [ { "name": "documentId", "value": "012345678-abcd-4eff-9876-543210fedcba", "type": "path", "description": "Unique document id (as returned from POST/PUT/GET document)" }, { "name": "async", "value": "", "type": "query", "description": "Asynchronous document creation. If `true`, the request returns immediately, whereas the document is being prepared in the background." }, { "name": "processor", "value": "PDF-XFA", "type": "query", "description": "Processing Options: Document processor tag" }, { "name": "templateName", "value": "DemoDoc10.pdf", "type": "query", "description": "Processing Options: Document template name" }, { "name": "format", "value": "", "type": "query", "description": "Processing Options: Format of the generated document (one of the formats supported by the processor)" }, { "name": "documentLocale", "value": "", "type": "query", "description": "Processing Options: Language of the generated document (if applicable)" }, { "name": "documentName", "value": "DEMO_4711", "type": "query", "description": "Processing Options: Suggested base file name of the generated document (without extension)" }, { "name": "referenceNumber", "value": "4711", "type": "query", "description": "Staging Options: Document reference number" }, { "name": "referenceType", "value": "SHIPMENT", "type": "query", "description": "Staging Options: Document reference type" }, { "name": "documentType", "value": "DEMODOC", "type": "query", "description": "Staging Options: Document type" }, { "name": "retentionDaysLimit", "value": "3", "type": "query", "description": "Staging Options: How long should the generated document be retained (max 90 days)" }, { "name": "tag", "value": "foo,bar", "type": "query", "description": "Staging Options: Additional tags that help to further describe the document (e.g. document source system, context, category...) and allows it to be found again by browsing and searching.

Tags must follow the kebab case naming convention (lowercase, words separated by hyphens)

Existing tags are retained if no value is defined. Defined values replace the existing tags. To delete all text without creating a tag, an empty tag has to be defined (e.g. `&tag=`)

" } ], "body": { "type": "json", "data": "{}" } }, "docs": "

Update an existing document or generate it in a different format either synchronously (wait for the result) or asynchronously (enqueue document creation and get the result later with the documentId).

Possibilities to update the stored document contents: