Report Filing Service

<back to all web services

BatchRetrieveElmaCredentialsAsync

RetrieveCredentialsBatchAsync

Represents a service to retrieve ELMA credentials in an asynchronous operation by using search criteria.

Requires Authentication
The following routes are available for this service:
POST/async/elma/credentials/batch
import 'package:servicestack/servicestack.dart';

/**
* Represents the search criteria for an ELMA credential.
*/
// @Api(Description="Represents the search criteria for an ELMA credential.")
class CredentialSearchCriteria implements IConvertible
{
    /**
    * The unique identifier of the credential.
    */
    // @ApiMember(Description="The unique identifier of the credential.", Name="Id")
    String? id;

    /**
    * 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"
    */
    // @ApiMember(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\"", Name="AuthSteuernummer")
    String? authSteuernummer;

    /**
    * The account identifier of a BZSt-Online Portal (BOP) user.  10-character text field that may only contain numbers (0-9).
    */
    // @ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user.  10-character text field that may only contain numbers (0-9).", Name="AccountId")
    String? accountId;

    CredentialSearchCriteria({this.id,this.authSteuernummer,this.accountId});
    CredentialSearchCriteria.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        authSteuernummer = json['authSteuernummer'];
        accountId = json['accountId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'authSteuernummer': authSteuernummer,
        'accountId': accountId
    };

    getTypeName() => "CredentialSearchCriteria";
    TypeContext? context = _ctx;
}

/**
* Specfies a service to retrieve ELMA credentials.
*/
// @Api(Description="Specfies a service to retrieve ELMA credentials.")
abstract class BatchRetrieveElmaCredentialsBase implements IPost
{
    /**
    * The parameters used to search for credentials.
    */
    // @ApiMember(Description="The parameters used to search for credentials.", IsRequired=true, Name="SearchCriteria")
    List<CredentialSearchCriteria>? searchCriteria;

    BatchRetrieveElmaCredentialsBase({this.searchCriteria});
    BatchRetrieveElmaCredentialsBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        searchCriteria = JsonConverters.fromJson(json['searchCriteria'],'List<CredentialSearchCriteria>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'searchCriteria': JsonConverters.toJson(searchCriteria,'List<CredentialSearchCriteria>',context!)
    };

    getTypeName() => "BatchRetrieveElmaCredentialsBase";
    TypeContext? context = _ctx;
}

/**
* Represents a service to retrieve ELMA credentials in an asynchronous operation by using search criteria.
*/
// @Api(Description="Represents a service to retrieve ELMA credentials in an asynchronous operation by using search criteria.")
class BatchRetrieveElmaCredentialsAsync extends BatchRetrieveElmaCredentialsBase implements IConvertible
{
    BatchRetrieveElmaCredentialsAsync();
    BatchRetrieveElmaCredentialsAsync.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "BatchRetrieveElmaCredentialsAsync";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'reportfiling.staging.pwc.de', types: <String, TypeInfo> {
    'CredentialSearchCriteria': TypeInfo(TypeOf.Class, create:() => CredentialSearchCriteria()),
    'BatchRetrieveElmaCredentialsBase': TypeInfo(TypeOf.AbstractClass),
    'List<CredentialSearchCriteria>': TypeInfo(TypeOf.Class, create:() => <CredentialSearchCriteria>[]),
    'BatchRetrieveElmaCredentialsAsync': TypeInfo(TypeOf.Class, create:() => BatchRetrieveElmaCredentialsAsync()),
});

Dart BatchRetrieveElmaCredentialsAsync DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /async/elma/credentials/batch HTTP/1.1 
Host: reportfiling.staging.pwc.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	searchCriteria: 
	[
		{
			id: String,
			authSteuernummer: String,
			accountId: 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
			}
		}
	}
]