ClubManager.Api

<back to all web services

ZapierLeadRequest

The following routes are available for this service:
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()),
});

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

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
}