tvpl.api

<back to all web services

CreateAccountSignature

Create new Account Signature (evn_ca, vt, misa_esign) for current user

Requires Authentication
The following routes are available for this service:
POST/account-signature/create
import 'package:servicestack/servicestack.dart';

class AccountSignature implements IConvertible
{
    int? id;
    int? accountId;
    // @StringLength(50)
    String? provider;

    // @StringLength(200)
    String? serialNumber;

    // @StringLength(255)
    String? displayName;

    bool? isDefault;
    // @StringLength(500)
    String? signatureUrl;

    // @StringLength(500)
    String? initialSignatureUrl;

    // @StringLength(500)
    String? stampSignatureUrl;

    // @StringLength(255)
    String? signClientId;

    // @StringLength(500)
    String? signClientSecret;

    // @StringLength(255)
    String? signUserId;

    // @StringLength(255)
    String? signProfileId;

    // @StringLength(255)
    String? signCredentialId;

    // @StringLength(255)
    String? signUserName;

    // @StringLength(500)
    String? signPassword;

    bool? isDeleted;
    DateTime? createdAt;
    DateTime? updatedAt;

    AccountSignature({this.id,this.accountId,this.provider,this.serialNumber,this.displayName,this.isDefault,this.signatureUrl,this.initialSignatureUrl,this.stampSignatureUrl,this.signClientId,this.signClientSecret,this.signUserId,this.signProfileId,this.signCredentialId,this.signUserName,this.signPassword,this.isDeleted,this.createdAt,this.updatedAt});
    AccountSignature.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        accountId = json['accountId'];
        provider = json['provider'];
        serialNumber = json['serialNumber'];
        displayName = json['displayName'];
        isDefault = json['isDefault'];
        signatureUrl = json['signatureUrl'];
        initialSignatureUrl = json['initialSignatureUrl'];
        stampSignatureUrl = json['stampSignatureUrl'];
        signClientId = json['signClientId'];
        signClientSecret = json['signClientSecret'];
        signUserId = json['signUserId'];
        signProfileId = json['signProfileId'];
        signCredentialId = json['signCredentialId'];
        signUserName = json['signUserName'];
        signPassword = json['signPassword'];
        isDeleted = json['isDeleted'];
        createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!);
        updatedAt = JsonConverters.fromJson(json['updatedAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'accountId': accountId,
        'provider': provider,
        'serialNumber': serialNumber,
        'displayName': displayName,
        'isDefault': isDefault,
        'signatureUrl': signatureUrl,
        'initialSignatureUrl': initialSignatureUrl,
        'stampSignatureUrl': stampSignatureUrl,
        'signClientId': signClientId,
        'signClientSecret': signClientSecret,
        'signUserId': signUserId,
        'signProfileId': signProfileId,
        'signCredentialId': signCredentialId,
        'signUserName': signUserName,
        'signPassword': signPassword,
        'isDeleted': isDeleted,
        'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!),
        'updatedAt': JsonConverters.toJson(updatedAt,'DateTime',context!)
    };

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

class AccountSignatureResponse implements IResponseRequest, IConvertible
{
    AccountSignature? data;
    int? code;
    String? message;

    AccountSignatureResponse({this.data,this.code,this.message});
    AccountSignatureResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        data = JsonConverters.fromJson(json['data'],'AccountSignature',context!);
        code = json['code'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'data': JsonConverters.toJson(data,'AccountSignature',context!),
        'code': code,
        'message': message
    };

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

/**
* Create new Account Signature (evn_ca, vt, misa_esign) for current user
*/
class CreateAccountSignature implements IPost, IConvertible
{
    /**
    * Provider: evn_ca, vt (MySign Viettel-CA), misa_esign
    */
    // @ApiMember(Description="Provider: evn_ca, vt (MySign Viettel-CA), misa_esign")
    String? provider;

    String? serialNumber;
    String? displayName;
    bool? isDefault;
    String? signatureUrl;
    String? initialSignatureUrl;
    String? stampSignatureUrl;
    String? signClientId;
    String? signClientSecret;
    String? signUserId;
    String? signProfileId;
    String? signCredentialId;
    String? signUserName;
    String? signPassword;

    CreateAccountSignature({this.provider,this.serialNumber,this.displayName,this.isDefault,this.signatureUrl,this.initialSignatureUrl,this.stampSignatureUrl,this.signClientId,this.signClientSecret,this.signUserId,this.signProfileId,this.signCredentialId,this.signUserName,this.signPassword});
    CreateAccountSignature.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        provider = json['provider'];
        serialNumber = json['serialNumber'];
        displayName = json['displayName'];
        isDefault = json['isDefault'];
        signatureUrl = json['signatureUrl'];
        initialSignatureUrl = json['initialSignatureUrl'];
        stampSignatureUrl = json['stampSignatureUrl'];
        signClientId = json['signClientId'];
        signClientSecret = json['signClientSecret'];
        signUserId = json['signUserId'];
        signProfileId = json['signProfileId'];
        signCredentialId = json['signCredentialId'];
        signUserName = json['signUserName'];
        signPassword = json['signPassword'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'provider': provider,
        'serialNumber': serialNumber,
        'displayName': displayName,
        'isDefault': isDefault,
        'signatureUrl': signatureUrl,
        'initialSignatureUrl': initialSignatureUrl,
        'stampSignatureUrl': stampSignatureUrl,
        'signClientId': signClientId,
        'signClientSecret': signClientSecret,
        'signUserId': signUserId,
        'signProfileId': signProfileId,
        'signCredentialId': signCredentialId,
        'signUserName': signUserName,
        'signPassword': signPassword
    };

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

TypeContext _ctx = TypeContext(library: 'qlcn_api.vsmlab.vn', types: <String, TypeInfo> {
    'AccountSignature': TypeInfo(TypeOf.Class, create:() => AccountSignature()),
    'AccountSignatureResponse': TypeInfo(TypeOf.Class, create:() => AccountSignatureResponse()),
    'CreateAccountSignature': TypeInfo(TypeOf.Class, create:() => CreateAccountSignature()),
});

Dart CreateAccountSignature 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 /account-signature/create HTTP/1.1 
Host: qlcn-api.vsmlab.vn 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	provider: String,
	serialNumber: String,
	displayName: String,
	isDefault: False,
	signatureUrl: String,
	initialSignatureUrl: String,
	stampSignatureUrl: String,
	signClientId: String,
	signClientSecret: String,
	signUserId: String,
	signProfileId: String,
	signCredentialId: String,
	signUserName: String,
	signPassword: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	data: 
	{
		id: 0,
		accountId: 0,
		provider: String,
		serialNumber: String,
		displayName: String,
		isDefault: False,
		signatureUrl: String,
		initialSignatureUrl: String,
		stampSignatureUrl: String,
		signClientId: String,
		signClientSecret: String,
		signUserId: String,
		signProfileId: String,
		signCredentialId: String,
		signUserName: String,
		signPassword: String,
		isDeleted: False,
		updatedAt: "0001-01-01T00:00:00.0000000+07:06"
	},
	code: 0,
	message: String
}