| POST | /zapier/v1/lead |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class ZapierLeadResponse implements IConvertible
{
int? MemberId;
String? MemberKey;
bool? Created;
ZapierLeadResponse({this.MemberId,this.MemberKey,this.Created});
ZapierLeadResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
MemberId = json['MemberId'];
MemberKey = json['MemberKey'];
Created = json['Created'];
return this;
}
Map<String, dynamic> toJson() => {
'MemberId': MemberId,
'MemberKey': MemberKey,
'Created': Created
};
getTypeName() => "ZapierLeadResponse";
TypeContext? context = _ctx;
}
class ZapierLeadRequest implements IConvertible
{
String? Title;
String? Forenames;
String? Surname;
String? CompanyName;
String? Address1;
String? Address2;
String? City;
String? County;
String? Country;
String? Postcode;
DateTime? DateOfBirth;
String? EmailAddress;
String? HomePhone;
String? MobilePhone;
String? MedicalInformation;
List<String>? Tags;
bool? OptInEmail;
bool? OptInSms;
ZapierLeadRequest({this.Title,this.Forenames,this.Surname,this.CompanyName,this.Address1,this.Address2,this.City,this.County,this.Country,this.Postcode,this.DateOfBirth,this.EmailAddress,this.HomePhone,this.MobilePhone,this.MedicalInformation,this.Tags,this.OptInEmail,this.OptInSms});
ZapierLeadRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Title = json['Title'];
Forenames = json['Forenames'];
Surname = json['Surname'];
CompanyName = json['CompanyName'];
Address1 = json['Address1'];
Address2 = json['Address2'];
City = json['City'];
County = json['County'];
Country = json['Country'];
Postcode = json['Postcode'];
DateOfBirth = JsonConverters.fromJson(json['DateOfBirth'],'DateTime',context!);
EmailAddress = json['EmailAddress'];
HomePhone = json['HomePhone'];
MobilePhone = json['MobilePhone'];
MedicalInformation = json['MedicalInformation'];
Tags = JsonConverters.fromJson(json['Tags'],'List<String>',context!);
OptInEmail = json['OptInEmail'];
OptInSms = json['OptInSms'];
return this;
}
Map<String, dynamic> toJson() => {
'Title': Title,
'Forenames': Forenames,
'Surname': Surname,
'CompanyName': CompanyName,
'Address1': Address1,
'Address2': Address2,
'City': City,
'County': County,
'Country': Country,
'Postcode': Postcode,
'DateOfBirth': JsonConverters.toJson(DateOfBirth,'DateTime',context!),
'EmailAddress': EmailAddress,
'HomePhone': HomePhone,
'MobilePhone': MobilePhone,
'MedicalInformation': MedicalInformation,
'Tags': JsonConverters.toJson(Tags,'List<String>',context!),
'OptInEmail': OptInEmail,
'OptInSms': OptInSms
};
getTypeName() => "ZapierLeadRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.clubmanagercentral.com', types: <String, TypeInfo> {
'ZapierLeadResponse': TypeInfo(TypeOf.Class, create:() => ZapierLeadResponse()),
'ZapierLeadRequest': TypeInfo(TypeOf.Class, create:() => ZapierLeadRequest()),
});
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 /zapier/v1/lead HTTP/1.1
Host: api.clubmanagercentral.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Title: String,
Forenames: String,
Surname: String,
CompanyName: String,
Address1: String,
Address2: String,
City: String,
County: String,
Country: String,
Postcode: String,
DateOfBirth: 0001-01-01,
EmailAddress: String,
HomePhone: String,
MobilePhone: String,
MedicalInformation: String,
Tags:
[
String
],
OptInEmail: False,
OptInSms: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
MemberId: 0,
MemberKey: 00000000000000000000000000000000,
Created: False
}