Billhighway Cloud API

<back to all web services

ExchangeRateBaseParams

The following routes are available for this service:
POST/api/Financial/ExchangeRateBase
import 'package:servicestack/servicestack.dart';

class ExchangeRate implements ILazyLoadMemoryCacheValue, IConvertible
{
    String? BaseCurrency;
    String? ForeignCurrency;
    double? Rate;
    DateTime? TimeStamp;
    bool? FromCache;

    ExchangeRate({this.BaseCurrency,this.ForeignCurrency,this.Rate,this.TimeStamp,this.FromCache});
    ExchangeRate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        BaseCurrency = json['BaseCurrency'];
        ForeignCurrency = json['ForeignCurrency'];
        Rate = JsonConverters.toDouble(json['Rate']);
        TimeStamp = JsonConverters.fromJson(json['TimeStamp'],'DateTime',context!);
        FromCache = json['FromCache'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'BaseCurrency': BaseCurrency,
        'ForeignCurrency': ForeignCurrency,
        'Rate': Rate,
        'TimeStamp': JsonConverters.toJson(TimeStamp,'DateTime',context!),
        'FromCache': FromCache
    };

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

class ExchangeRateBase implements IConvertible
{
    ExchangeRate? ExchangeRate;
    double? BaseAmount;

    ExchangeRateBase({this.ExchangeRate,this.BaseAmount});
    ExchangeRateBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'ExchangeRate': JsonConverters.toJson(ExchangeRate,'ExchangeRate',context!),
        'BaseAmount': BaseAmount
    };

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

class ExchangeRateBaseParams extends ExchangeRateBaseParams implements IConvertible
{
    ExchangeRateBaseParams();
    ExchangeRateBaseParams.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() => "ExchangeRateBaseParams";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'devapi.billhighway.com', types: <String, TypeInfo> {
    'ExchangeRate': TypeInfo(TypeOf.Class, create:() => ExchangeRate()),
    'ExchangeRateBase': TypeInfo(TypeOf.Class, create:() => ExchangeRateBase()),
    'ExchangeRateBaseParams': TypeInfo(TypeOf.Class, create:() => ExchangeRateBaseParams()),
});

Dart ExchangeRateBaseParams 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/Financial/ExchangeRateBase HTTP/1.1 
Host: devapi.billhighway.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"ProcessingCurrency":"String","AmountDue":0,"BaseCurrency":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ExchangeRate":{"BaseCurrency":"String","ForeignCurrency":"String","Rate":0,"TimeStamp":"0001-01-01T00:00:00.0000000","FromCache":false},"BaseAmount":0}