DX STF Client API

<back to all web services

GetAuthToken

Auth Requests

Auth

The following routes are available for this service:
POST/api/authentication/tokenGet Bearer access token, contact support for credentials
import 'package:servicestack/servicestack.dart';

class AccessTokenResponse implements IConvertible
{
    String accessToken = "";
    String scope = "";
    String tokenType = "";
    int expiresIn = 0;
    int httpStatusCode = 0;
    String httpErrorReason = "";
    String error = "";

    AccessTokenResponse({this.accessToken,this.scope,this.tokenType,this.expiresIn,this.httpStatusCode,this.httpErrorReason,this.error});
    AccessTokenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        accessToken = json['accessToken'];
        scope = json['scope'];
        tokenType = json['tokenType'];
        expiresIn = json['expiresIn'];
        httpStatusCode = json['httpStatusCode'];
        httpErrorReason = json['httpErrorReason'];
        error = json['error'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'accessToken': accessToken,
        'scope': scope,
        'tokenType': tokenType,
        'expiresIn': expiresIn,
        'httpStatusCode': httpStatusCode,
        'httpErrorReason': httpErrorReason,
        'error': error
    };

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

/**
* Auth
*/
// @Api(Description="Auth")
// @ApiResponse(Description="Access token response", IsDefaultResponse=true, StatusCode=200)
class GetAuthToken implements IConvertible
{
    /**
    * Post parameters in body
    */
    // @ApiMember(Description="Post parameters in body", ParameterType="model")
    String clientId = "";

    /**
    * Post parameters in body
    */
    // @ApiMember(Description="Post parameters in body", ParameterType="model")
    String clientSecret = "";

    /**
    * Post parameters in body
    */
    // @ApiMember(Description="Post parameters in body", ParameterType="model")
    String scope = "";

    GetAuthToken({this.clientId,this.clientSecret,this.scope});
    GetAuthToken.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        clientId = json['clientId'];
        clientSecret = json['clientSecret'];
        scope = json['scope'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'clientId': clientId,
        'clientSecret': clientSecret,
        'scope': scope
    };

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

TypeContext _ctx = TypeContext(library: 'stf_api_uat.data_xchange.co.za', types: <String, TypeInfo> {
    'AccessTokenResponse': TypeInfo(TypeOf.Class, create:() => AccessTokenResponse()),
    'GetAuthToken': TypeInfo(TypeOf.Class, create:() => GetAuthToken()),
});

Dart GetAuthToken DTOs

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

HTTP + CSV

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

POST /api/authentication/token HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"clientId":"String","clientSecret":"String","scope":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"accessToken":"String","scope":"String","tokenType":"String","expiresIn":0,"httpStatusCode":0,"httpErrorReason":"String","error":"String"}