POST | /sync/elma/credentials/create |
---|
"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 CreateElmaCredentialBase {
/** @param {{certificate?:PemCertificate,authSteuernummer?:string,accountId?:string,password?:string,publicKeyXml?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {PemCertificate}
* @description The encrypted password-protected 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;
/**
* @type {string}
* @description The XML-encoded RSA public key to encrypt the password of the credential. Note: Only the owner of the key pair (public and private encryption keys) can decrypt the encrypted password with the private key! Encryption algorithm: RSA with OAEP-SHA256 padding. */
publicKeyXml;
}
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 ElmaCredentialResponse {
/** @param {{id?:string,credential?:ElmaCredential,responseStatus?:ResponseStatus}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The unique identifier of the response. */
id;
/**
* @type {ElmaCredential}
* @description The encapsulated ELMA credential. */
credential;
/**
* @type {ResponseStatus}
* @description The status of the response. */
responseStatus;
}
export class CreateElmaCredential extends CreateElmaCredentialBase {
/** @param {{certificate?:PemCertificate,authSteuernummer?:string,accountId?:string,password?:string,publicKeyXml?:string,certificate?:PemCertificate,authSteuernummer?:string,accountId?:string,password?:string,publicKeyXml?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {PemCertificate}
* @description The encrypted password-protected 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;
/**
* @type {string}
* @description The XML-encoded RSA public key to encrypt the password of the credential. Note: Only the owner of the key pair (public and private encryption keys) can decrypt the encrypted password with the private key! Encryption algorithm: RSA with OAEP-SHA256 padding. */
publicKeyXml;
}
JavaScript CreateElmaCredential 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/credentials/create HTTP/1.1
Host: reportfiling.staging.pwc.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
certificate:
{
id: String,
content: String,
description: String,
tags:
[
String
]
},
authSteuernummer: String,
accountId: String,
password: String,
publicKeyXml: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: String, credential: { id: String_String, certificate: { id: String, content: String, description: String, tags: [ String ] }, authSteuernummer: String, accountId: String, password: String }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }