Booklinker.API

<back to all web services

GetAffiliateTokensRequest

Requires Authentication
The following routes are available for this service:
GET/v1/affiliate-tokens
import 'package:servicestack/servicestack.dart';

// @DataContract
class AffiliateTokens implements IConvertible
{
    // @DataMember(Name="guid")
    String? guid;

    // @DataMember(Name="programGuid")
    String? programGuid;

    // @DataMember(Name="affiliateTokens")
    Map<String,String?>? affiliateTokens;

    AffiliateTokens({this.guid,this.programGuid,this.affiliateTokens});
    AffiliateTokens.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        programGuid = json['programGuid'];
        affiliateTokens = JsonConverters.toStringMap(json['tokens']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'programGuid': programGuid,
        'affiliateTokens': affiliateTokens
    };

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

// @DataContract
class GetAffiliateTokensResponse implements IConvertible
{
    // @DataMember(Name="affiliatePrograms")
    List<AffiliateTokens>? affiliatePrograms;

    // @DataMember(Name="responseStatus")
    ResponseStatus? responseStatus;

    GetAffiliateTokensResponse({this.affiliatePrograms,this.responseStatus});
    GetAffiliateTokensResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'affiliatePrograms': JsonConverters.toJson(affiliatePrograms,'List<AffiliateTokens>',context!),
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

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

// @DataContract
class GetAffiliateTokensRequest implements IConvertible
{
    GetAffiliateTokensRequest();
    GetAffiliateTokensRequest.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "GetAffiliateTokensRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.booklinker.com', types: <String, TypeInfo> {
    'AffiliateTokens': TypeInfo(TypeOf.Class, create:() => AffiliateTokens()),
    'GetAffiliateTokensResponse': TypeInfo(TypeOf.Class, create:() => GetAffiliateTokensResponse()),
    'List<AffiliateTokens>': TypeInfo(TypeOf.Class, create:() => <AffiliateTokens>[]),
    'GetAffiliateTokensRequest': TypeInfo(TypeOf.Class, create:() => GetAffiliateTokensRequest()),
});

Dart GetAffiliateTokensRequest 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.

GET /v1/affiliate-tokens HTTP/1.1 
Host: api.booklinker.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	affiliatePrograms: 
	[
		{
			affiliateTokens: 
			{
				String: String
			}
		}
	],
	responseStatus: 
	{
		errorCode: String,
		message: String,
		stackTrace: String,
		errors: 
		[
			{
				errorCode: String,
				fieldName: String,
				message: String,
				meta: 
				{
					String: String
				}
			}
		],
		meta: 
		{
			String: String
		}
	}
}