| Requires any of the roles: | Agent, Administrator, Agent, Administrator, Agent, Administrator |
| GET,OPTIONS | /v1/StripeCustomer | ||
|---|---|---|---|
| PUT,OPTIONS | /v1/StripeCustomer | ||
| POST,OPTIONS | /v1/StripeCustomer |
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class StripeCustomer implements IConvertible
{
int? StripeCustomerId;
int? StripeMerchantId;
int? CustomerId;
String? StripeId;
int? AgentId;
String? StripeCustomerSessionClientSecret;
StripeCustomer({this.StripeCustomerId,this.StripeMerchantId,this.CustomerId,this.StripeId,this.AgentId,this.StripeCustomerSessionClientSecret});
StripeCustomer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StripeCustomerId = json['StripeCustomerId'];
StripeMerchantId = json['StripeMerchantId'];
CustomerId = json['CustomerId'];
StripeId = json['StripeId'];
AgentId = json['AgentId'];
StripeCustomerSessionClientSecret = json['StripeCustomerSessionClientSecret'];
return this;
}
Map<String, dynamic> toJson() => {
'StripeCustomerId': StripeCustomerId,
'StripeMerchantId': StripeMerchantId,
'CustomerId': CustomerId,
'StripeId': StripeId,
'AgentId': AgentId,
'StripeCustomerSessionClientSecret': StripeCustomerSessionClientSecret
};
getTypeName() => "StripeCustomer";
TypeContext? context = _ctx;
}
class StripeCustomerResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
StripeCustomer? StripeCustomer;
bool? Success;
String? Message;
StripeCustomerResponse({this.ResponseStatus,this.StripeCustomer,this.Success,this.Message});
StripeCustomerResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
StripeCustomer = JsonConverters.fromJson(json['StripeCustomer'],'StripeCustomer',context!);
Success = json['Success'];
Message = json['Message'];
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'StripeCustomer': JsonConverters.toJson(StripeCustomer,'StripeCustomer',context!),
'Success': Success,
'Message': Message
};
getTypeName() => "StripeCustomerResponse";
TypeContext? context = _ctx;
}
class Customer implements IConvertible
{
int? ID;
String? CustomerCode;
String? BusinessName;
String? FirstName;
String? LastName;
String? Email;
String? UID;
int? AgentId;
Customer({this.ID,this.CustomerCode,this.BusinessName,this.FirstName,this.LastName,this.Email,this.UID,this.AgentId});
Customer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ID = json['ID'];
CustomerCode = json['CustomerCode'];
BusinessName = json['BusinessName'];
FirstName = json['FirstName'];
LastName = json['LastName'];
Email = json['Email'];
UID = json['UID'];
AgentId = json['AgentId'];
return this;
}
Map<String, dynamic> toJson() => {
'ID': ID,
'CustomerCode': CustomerCode,
'BusinessName': BusinessName,
'FirstName': FirstName,
'LastName': LastName,
'Email': Email,
'UID': UID,
'AgentId': AgentId
};
getTypeName() => "Customer";
TypeContext? context = _ctx;
}
class Address implements IConvertible
{
int? ID;
int? AddressTypeID;
String? AddressContact;
String? AttentionTo;
String? AddressLine1;
String? AddressLine2;
String? AddressLine3;
String? AddressCity;
String? AddressState;
String? AddressZip;
String? AddressCountry;
String? PhoneNumber;
String? FaxNumber;
String? UID;
String? Name;
Address({this.ID,this.AddressTypeID,this.AddressContact,this.AttentionTo,this.AddressLine1,this.AddressLine2,this.AddressLine3,this.AddressCity,this.AddressState,this.AddressZip,this.AddressCountry,this.PhoneNumber,this.FaxNumber,this.UID,this.Name});
Address.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ID = json['ID'];
AddressTypeID = json['AddressTypeID'];
AddressContact = json['AddressContact'];
AttentionTo = json['AttentionTo'];
AddressLine1 = json['AddressLine1'];
AddressLine2 = json['AddressLine2'];
AddressLine3 = json['AddressLine3'];
AddressCity = json['AddressCity'];
AddressState = json['AddressState'];
AddressZip = json['AddressZip'];
AddressCountry = json['AddressCountry'];
PhoneNumber = json['PhoneNumber'];
FaxNumber = json['FaxNumber'];
UID = json['UID'];
Name = json['Name'];
return this;
}
Map<String, dynamic> toJson() => {
'ID': ID,
'AddressTypeID': AddressTypeID,
'AddressContact': AddressContact,
'AttentionTo': AttentionTo,
'AddressLine1': AddressLine1,
'AddressLine2': AddressLine2,
'AddressLine3': AddressLine3,
'AddressCity': AddressCity,
'AddressState': AddressState,
'AddressZip': AddressZip,
'AddressCountry': AddressCountry,
'PhoneNumber': PhoneNumber,
'FaxNumber': FaxNumber,
'UID': UID,
'Name': Name
};
getTypeName() => "Address";
TypeContext? context = _ctx;
}
class StripeCustomerRequest implements IConvertible
{
Customer? Customer;
Address? Address;
StripeCustomerRequest({this.Customer,this.Address});
StripeCustomerRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Customer = JsonConverters.fromJson(json['Customer'],'Customer',context!);
Address = JsonConverters.fromJson(json['Address'],'Address',context!);
return this;
}
Map<String, dynamic> toJson() => {
'Customer': JsonConverters.toJson(Customer,'Customer',context!),
'Address': JsonConverters.toJson(Address,'Address',context!)
};
getTypeName() => "StripeCustomerRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'StripeCustomer': TypeInfo(TypeOf.Class, create:() => StripeCustomer()),
'StripeCustomerResponse': TypeInfo(TypeOf.Class, create:() => StripeCustomerResponse()),
'Customer': TypeInfo(TypeOf.Class, create:() => Customer()),
'Address': TypeInfo(TypeOf.Class, create:() => Address()),
'StripeCustomerRequest': TypeInfo(TypeOf.Class, create:() => StripeCustomerRequest()),
});
Dart StripeCustomerRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/StripeCustomer HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Customer:
{
ID: 0,
CustomerCode: String,
BusinessName: String,
FirstName: String,
LastName: String,
Email: String,
UID: 00000000000000000000000000000000,
AgentId: 0
},
Address:
{
ID: 0,
AddressTypeID: 0,
AddressContact: String,
AttentionTo: String,
AddressLine1: String,
AddressLine2: String,
AddressLine3: String,
AddressCity: String,
AddressState: String,
AddressZip: String,
AddressCountry: String,
PhoneNumber: String,
FaxNumber: String,
UID: 00000000000000000000000000000000,
Name: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
StripeCustomer:
{
StripeCustomerId: 0,
StripeMerchantId: 0,
CustomerId: 0,
StripeId: String,
AgentId: 0,
StripeCustomerSessionClientSecret: String
},
Success: False,
Message: String
}