| POST | /sync/elma/files/batch/submit |
|---|
"use strict";
export class PemCertificate {
/** @param {{id?:string,content?:string,description?:string,tags?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The unique identifier (e.g. the file name) of the certificate. */
id;
/**
* @type {string}
* @description The PEM-encoded content of the certificate. */
content;
/**
* @type {string}
* @description The description of the certificate. */
description;
/**
* @type {string[]}
* @description Tags to label or identify the certificate. */
tags;
}
export class ElmaCredential {
/** @param {{id?:string,certificate?:PemCertificate,authSteuernummer?:string,accountId?:string,password?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The unique identifier of this instance. This identifer is only relevant in the context of data storage and retrieval. */
id;
/**
* @type {PemCertificate}
* @description The security certificate to authenticate the user and grant access to the ELMA server. This certificate is generated from the BZSt-issued *.pfx BOP certificate. More details on BOP (BZSt-Online Portal - https://www.elster.de/bportal/start) */
certificate;
/**
* @type {string}
* @description The BZSt (Bundeszentralamt für Steuern) - tax number of the user. 11-character text field that may only consist of two capital letters and 9 digits (0-9). The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start). The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information" */
authSteuernummer;
/**
* @type {string}
* @description The account identifier of a BZSt-Online Portal (BOP) user. 10-character text field that may only contain numbers (0-9). */
accountId;
/**
* @type {string}
* @description The password to protect the certificate from unauthorized access. */
password;
}
export class BatchSubmitFilesBase {
/** @param {{credential?:ElmaCredential,validationEnabled?:boolean,stagingEnabled?:boolean}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {ElmaCredential}
* @description The credential to gain access on the ELMA server. */
credential;
/**
* @type {boolean}
* @description Should the report data be validated before sending it to the ELMA server? true: report data is validated before it is sent to the ELMA server. false: report data sent without validation to the ELMA server. */
validationEnabled;
/**
* @type {?boolean}
* @description Should operations be staged on the ELMA server? true: operations are executed on the Test ELMA server. false: operations are executed on the Live (Production) ELMA server. */
stagingEnabled;
}
export class BatchSubmitFiles extends BatchSubmitFilesBase {
/** @param {{credential?:ElmaCredential,validationEnabled?:boolean,stagingEnabled?:boolean}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
}
JavaScript BatchSubmitFiles DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /sync/elma/files/batch/submit HTTP/1.1
Host: reportfiling.staging.pwc.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
credential:
{
id: String_String,
certificate:
{
id: String,
content: String,
description: String,
tags:
[
String
]
},
authSteuernummer: String,
accountId: String,
password: String
},
validationEnabled: False,
stagingEnabled: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
[
{
id: String,
xml: String,
validationErrors:
[
{
id: String,
message: String,
severity: Error,
lineNumber: 0,
linePosition: 0
}
],
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}
]