| POST | /CheckElsterAsync | An asynchronous service to perform basic checks on a batch of tax data. |
|---|
/** @description Represents a structure that encapsulates a tax declaration. */
// @Api(Description="Represents a structure that encapsulates a tax declaration.")
export class TaxData
{
/** @description The unique identifier of the tax data. */
// @ApiMember(Description="The unique identifier of the tax data.", IsRequired=true)
public id: string;
/** @description The XML-based tax declaration. */
// @ApiMember(Description="The XML-based tax declaration.", IsRequired=true)
public content: string;
public constructor(init?: Partial<TaxData>) { (Object as any).assign(this, init); }
}
/** @description A base service to perform basic checks on a batch of tax data. */
// @Api(Description="A base service to perform basic checks on a batch of tax data.")
export class CheckElsterBase implements IPost
{
/** @description The ELSTER tax data to check. */
// @ApiMember(Description="The ELSTER tax data to check.", Name="Data")
public data: TaxData;
public constructor(init?: Partial<CheckElsterBase>) { (Object as any).assign(this, init); }
}
/** @description Specifies a service response from an ERiC service operation. */
// @Api(Description="Specifies a service response from an ERiC service operation.")
export class ServiceReponseBase implements IHasIndex
{
/** @description The unique identifier of the response. */
// @ApiMember(Description="The unique identifier of the response.")
public id: string;
/** @description The position of the response element in an indexed collection. */
// @ApiMember(Description="The position of the response element in an indexed collection.")
public index: number;
/** @description Metadata that contains structured error information on the service response. */
// @ApiMember(Description="Metadata that contains structured error information on the service response.")
public responseStatus?: ResponseStatus;
public constructor(init?: Partial<ServiceReponseBase>) { (Object as any).assign(this, init); }
}
/** @description Represents a type that encapulates the state of a provided ELSTER tax data. */
// @Api(Description="Represents a type that encapulates the state of a provided ELSTER tax data.")
export class ElsterCheckResponse extends ServiceReponseBase
{
/** @description Checks whether a portal certificate is required to sign the tax data. */
// @ApiMember(Description="Checks whether a portal certificate is required to sign the tax data.")
public zertifikatErforderlich: boolean;
/** @description Checks whether a Manufacturer ID has been provided for the tax data. */
// @ApiMember(Description="Checks whether a Manufacturer ID has been provided for the tax data.")
public hatHerstellerId: boolean;
/** @description Checks whether a data provider has been provided for the tax data. */
// @ApiMember(Description="Checks whether a data provider has been provided for the tax data.")
public hatDatenlieferant: boolean;
/** @description Checks whether the PDF-based transfer protocol for the tax data can be printed out for the type of tax data. */
// @ApiMember(Description="Checks whether the PDF-based transfer protocol for the tax data can be printed out for the type of tax data.")
public transferProtokollDruckbar: boolean;
public constructor(init?: Partial<ElsterCheckResponse>) { super(init); (Object as any).assign(this, init); }
}
/** @description An asynchronous service to perform basic checks on a batch of tax data. */
// @Api(Description="An asynchronous service to perform basic checks on a batch of tax data.")
export class CheckElsterAsync extends CheckElsterBase
{
public constructor(init?: Partial<CheckElsterAsync>) { super(init); (Object as any).assign(this, init); }
}
TypeScript CheckElsterAsync 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 /CheckElsterAsync HTTP/1.1
Host: taxfiling.staging.pwc.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
data:
{
id: String,
content: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
zertifikatErforderlich: False,
hatHerstellerId: False,
hatDatenlieferant: False,
transferProtokollDruckbar: False,
id: String,
index: 0,
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}