| All Verbs | /api/insertcustomergroup |
|---|
import Foundation
import ServiceStack
/**
* Insert new customer group
*/
// @Api(Description="Insert new customer group")
public class InsertCustomerGroup : Codable
{
public var autoGenerateName:Bool
public var customerName:String
public var contacts:[Contact]
public var projectId:String
required public init(){}
}
public class Contact : Codable
{
public var contactId:String
public var primaryStreetAddressId:String?
public var primaryPostalAddressId:String?
public var primaryTaxRegisteredAddressId:String?
public var primaryNonMobileId:String?
public var primaryMobileId:String?
public var primaryEmailId:String?
public var mobile:String
public var phone:String
public var primaryEmail:String
public var primaryAddress:String
public var primaryFaxId:String?
public var primaryWebId:String?
public var primarySocialMediaId:String?
public var firstName:String
public var middleName:String
public var surname:String
public var fullName:String
public var shortName:String
public var birthDate:Date?
public var title:String
public var salutation:String
public var maritalStatus:String?
public var maritalStatusName:String
public var gender:String?
public var genderName:String
public var abn:String
public var acn:String
public var arbn:String
public var contactBankingDetails:ContactBanking
public var legalName:String
public var tradingName:String
public var contactType:String?
public var contactTypeName:String
public var contactTypePhotoUrl:String
public var contactTypePhotoThumbnailUrl:String
public var timezone:String?
public var timezoneName:String
public var Description:String
public var employmentIndustry:String
public var employmentRole:String
public var employmentGeographicArea:String
public var gstRegistered:Bool
public var driversLicence:String
public var contactGroupIdStaff:String?
public var staffGroupName:String
public var contactGroupIdVendor:String?
public var vendorGroupName:String
public var contactGroupIdCustomer:String?
public var customerGroupName:String
public var primaryMediaFileId:String?
public var profilePhotoUrl:String
public var profilePhotoThumbnailUrl:String
public var profileImageId:String
public var recordStatus:String
public var connectionStatusId:String
public var subscriptionAlternateKey:String
public var contactRoles:[UserRole]
public var contactDetails:[ContactDetail]
public var customContent:[CustomContentFieldValue]
public var connectedContacts:[Contact]
public var customContentXML:String
public var contactDetailsXML:String
public var connectionContactId:String
public var connectionContactName:String
public var userProfileIdDefault:String?
public var userId:String
public var username:String
public var isRegistered:Bool
public var esl:Bool
public var language:String
public var interpreterRequired:Bool
public var licenseeNotes:String
public var notes:String
public var objectSubscriptionId:String
public var objectHash:String
public var ownerContactId:String
required public init(){}
}
public class ContactBanking : Codable
{
public var contactId:String
public var bankName:String
public var bankLocation:String
public var bsb:String
public var accountNumber:String
public var accountName:String
public var termOfTradeId:String?
public var termOfTradeName:String
public var ownerContactId:String
public var recordStatus:String
required public init(){}
}
public class UserRole : Codable
{
public var connectionId:String
public var contactRoleId:String
public var contactId:String
public var roleId:String
public var roleName:String
public var startDate:Date
public var endDate:Date?
public var isLicenseeRole:Bool
public var isCustomerRole:Bool
public var isPlatformRole:Bool
public var isAdministerContactsRole:Bool
public var rolePrimaryImageURL:String
public var rolePrimaryImageThumbnailURL:String
public var rolePrimaryImageId:String
public var connectionStatusId:String
public var connectionStatusName:String
required public init(){}
}
public class ContactDetail : Codable
{
public var contactContactDetailId:String
public var contactId:String
public var contactDetailId:String
public var contactMethodId:String
public var contactMethodName:String
public var address:ContactAddress
public var phone:ContactPhone
public var countryId:String?
public var contactDetails:String
public var notes:String
public var contactDetailsCode:String
public var orderContactMethod:Int
public var isPrimaryContactMethod:Bool
public var isPrimaryLocation:Bool
public var isRegisteredLocation:Bool
public var isPostal:Bool
public var isAddress:Bool
public var isPhone:Bool
public var emailSignatureId:String
public var emailSignatureHTML:String
public var emailSignatureText:String
public var apiKey:String
public var frameworkAlternateKey:String
required public init(){}
}
public class ContactAddress : Codable
{
public var location:GeoLocation
public var isPostal:Bool
public var isPrimaryLocation:Bool
public var isRegisteredLocation:Bool
public var contactAddressId:String
public var suburbName:String
public var stateName:String
public var countryName:String
public var addressFull:String
required public init(){}
}
public class GeoLocation : Codable
{
public var geoLocationId:String
public var stateId:String?
public var stateName:String
public var stateNameShort:String
public var suburbId:String?
public var suburbName:String
public var countryId:String?
public var countryName:String
public var timezone:String?
public var timezoneName:String
public var lotNumber:String
public var subUnit:String
public var buildingNumber:String
public var postalDeliveryNumber:String
public var streetNumber:String
public var streetName:String
public var addressLineOne:String
public var addressLineTwo:String
public var postCode:String
public var isPhysical:Bool
public var notes:String
public var addressFull:String
public var addressFormatId:String
public var postalDeliveryTypeId:String?
public var latitude:Double
public var longitude:Double
public var accuracy:Int
public var distanceAway:Double
public var autoMapCoordinates:Bool?
public var isAddressCleared:Bool
public var isValidated:Bool
public var estate:GeoEstate
public var geoEstateId:String
public var geoEstateStageId:String
public var geoEstateStageName:String
required public init(){}
}
public class GeoEstate : Codable
{
public var geoEstateId:String
public var name:String
public var notes:String
public var developerContactId:String
public var developerName:String
public var developerProfilePhotoUrl:String
public var developerProfilePhotoThumbnail:String
public var recordStatus:String
public var stages:[GeoEstateStage]
public var currentEstateStageId:String
public var currentEstateStageName:String
required public init(){}
}
public class GeoEstateStage : Codable
{
public var geoEstateStageId:String
public var geoEstateId:String
public var name:String
public var notes:String
public var recordStatus:String
required public init(){}
}
public class ContactPhone : Codable
{
public var countryCode:String
public var areaCode:String
public var localNumber:String
public var phoneNumber:String
required public init(){}
}
public class CustomContentFieldValue : Codable
{
public var fieldName:String
public var fieldDataTypeId:String
public var fieldValue:String
public var alternateKey:String
required public init(){}
}
public class StringResponse : Codable
{
public var result:String
required public init(){}
}
Swift InsertCustomerGroup 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 /api/insertcustomergroup HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
AutoGenerateName: False,
CustomerName: String,
Contacts:
[
{
PrimaryStreetAddressId: 00000000000000000000000000000000,
PrimaryPostalAddressId: 00000000000000000000000000000000,
PrimaryTaxRegisteredAddressId: 00000000000000000000000000000000,
PrimaryNonMobileId: 00000000000000000000000000000000,
PrimaryMobileId: 00000000000000000000000000000000,
PrimaryEmailId: 00000000000000000000000000000000,
Mobile: String,
Phone: String,
PrimaryEmail: String,
PrimaryAddress: String,
PrimaryFaxId: 00000000000000000000000000000000,
PrimaryWebId: 00000000000000000000000000000000,
PrimarySocialMediaId: 00000000000000000000000000000000,
FirstName: String,
MiddleName: String,
Surname: String,
FullName: String,
ShortName: String,
BirthDate: 0001-01-01,
Title: String,
Salutation: String,
MaritalStatus: 00000000000000000000000000000000,
MaritalStatusName: String,
Gender: 00000000000000000000000000000000,
GenderName: String,
Abn: String,
Acn: String,
Arbn: String,
ContactBankingDetails:
{
BankName: String,
BankLocation: String,
Bsb: String,
AccountNumber: String,
AccountName: String,
TermOfTradeId: 00000000000000000000000000000000,
TermOfTradeName: String,
RecordStatus: String
},
LegalName: String,
TradingName: String,
ContactType: 00000000000000000000000000000000,
ContactTypeName: String,
ContactTypePhotoUrl: String,
ContactTypePhotoThumbnailUrl: String,
Timezone: 00000000000000000000000000000000,
TimezoneName: String,
Description: String,
EmploymentIndustry: String,
EmploymentRole: String,
EmploymentGeographicArea: String,
GstRegistered: False,
DriversLicence: String,
ContactGroupIdStaff: 00000000000000000000000000000000,
StaffGroupName: String,
ContactGroupIdVendor: 00000000000000000000000000000000,
VendorGroupName: String,
ContactGroupIdCustomer: 00000000000000000000000000000000,
CustomerGroupName: String,
PrimaryMediaFileId: 00000000000000000000000000000000,
ProfilePhotoUrl: String,
ProfilePhotoThumbnailUrl: String,
RecordStatus: String,
SubscriptionAlternateKey: String,
ContactRoles:
[
{
RoleName: String,
StartDate: 0001-01-01,
EndDate: 0001-01-01,
IsLicenseeRole: False,
IsCustomerRole: False,
IsPlatformRole: False,
IsAdministerContactsRole: False,
RolePrimaryImageURL: String,
RolePrimaryImageThumbnailURL: String,
ConnectionStatusName: String
}
],
ContactDetails:
[
{
ContactMethodName: String,
Address:
{
Location:
{
StateId: 00000000000000000000000000000000,
StateName: String,
StateNameShort: String,
SuburbId: 00000000000000000000000000000000,
SuburbName: String,
CountryId: 00000000000000000000000000000000,
CountryName: String,
Timezone: 00000000000000000000000000000000,
TimezoneName: String,
LotNumber: String,
SubUnit: String,
BuildingNumber: String,
PostalDeliveryNumber: String,
StreetNumber: String,
StreetName: String,
AddressLineOne: String,
AddressLineTwo: String,
PostCode: String,
IsPhysical: False,
Notes: String,
AddressFull: String,
PostalDeliveryTypeId: 00000000000000000000000000000000,
Latitude: 0,
Longitude: 0,
Accuracy: 0,
DistanceAway: 0,
AutoMapCoordinates: False,
IsAddressCleared: False,
IsValidated: False,
Estate:
{
Name: String,
Notes: String,
DeveloperName: String,
DeveloperProfilePhotoUrl: String,
DeveloperProfilePhotoThumbnail: String,
RecordStatus: String,
Stages:
[
{
Name: String,
Notes: String,
RecordStatus: String
}
],
CurrentEstateStageName: String
},
GeoEstateStageName: String
},
IsPostal: False,
IsPrimaryLocation: False,
IsRegisteredLocation: False,
SuburbName: String,
StateName: String,
CountryName: String,
AddressFull: "String
String
String
String String
String"
},
Phone:
{
CountryCode: String,
AreaCode: String,
LocalNumber: String,
PhoneNumber: String String String
},
CountryId: 00000000000000000000000000000000,
ContactDetails: String,
Notes: String,
ContactDetailsCode: String,
OrderContactMethod: 0,
IsPrimaryContactMethod: False,
IsPrimaryLocation: False,
IsRegisteredLocation: False,
IsPostal: False,
IsAddress: True,
IsPhone: False,
EmailSignatureHTML: String,
EmailSignatureText: String,
ApiKey: String,
FrameworkAlternateKey: String
}
],
CustomContent:
[
{
FieldName: String,
FieldValue: String,
AlternateKey: String
}
],
ConnectedContacts:
[
{
PrimaryStreetAddressId: 00000000000000000000000000000000,
PrimaryPostalAddressId: 00000000000000000000000000000000,
PrimaryTaxRegisteredAddressId: 00000000000000000000000000000000,
PrimaryNonMobileId: 00000000000000000000000000000000,
PrimaryMobileId: 00000000000000000000000000000000,
PrimaryEmailId: 00000000000000000000000000000000,
Mobile: String,
Phone: String,
PrimaryEmail: String,
PrimaryAddress: String,
PrimaryFaxId: 00000000000000000000000000000000,
PrimaryWebId: 00000000000000000000000000000000,
PrimarySocialMediaId: 00000000000000000000000000000000,
FirstName: String,
MiddleName: String,
Surname: String,
FullName: String,
ShortName: String,
BirthDate: 0001-01-01,
Title: String,
Salutation: String,
MaritalStatus: 00000000000000000000000000000000,
MaritalStatusName: String,
Gender: 00000000000000000000000000000000,
GenderName: String,
Abn: String,
Acn: String,
Arbn: String,
ContactBankingDetails:
{
BankName: String,
BankLocation: String,
Bsb: String,
AccountNumber: String,
AccountName: String,
TermOfTradeId: 00000000000000000000000000000000,
TermOfTradeName: String,
RecordStatus: String
},
LegalName: String,
TradingName: String,
ContactType: 00000000000000000000000000000000,
ContactTypeName: String,
ContactTypePhotoUrl: String,
ContactTypePhotoThumbnailUrl: String,
Timezone: 00000000000000000000000000000000,
TimezoneName: String,
Description: String,
EmploymentIndustry: String,
EmploymentRole: String,
EmploymentGeographicArea: String,
GstRegistered: False,
DriversLicence: String,
ContactGroupIdStaff: 00000000000000000000000000000000,
StaffGroupName: String,
ContactGroupIdVendor: 00000000000000000000000000000000,
VendorGroupName: String,
ContactGroupIdCustomer: 00000000000000000000000000000000,
CustomerGroupName: String,
PrimaryMediaFileId: 00000000000000000000000000000000,
ProfilePhotoUrl: String,
ProfilePhotoThumbnailUrl: String,
RecordStatus: String,
SubscriptionAlternateKey: String,
ContactRoles:
[
{
RoleName: String,
StartDate: 0001-01-01,
EndDate: 0001-01-01,
IsLicenseeRole: False,
IsCustomerRole: False,
IsPlatformRole: False,
IsAdministerContactsRole: False,
RolePrimaryImageURL: String,
RolePrimaryImageThumbnailURL: String,
ConnectionStatusName: String
}
],
ContactDetails:
[
{
ContactMethodName: String,
Address:
{
Location:
{
StateId: 00000000000000000000000000000000,
StateName: String,
StateNameShort: String,
SuburbId: 00000000000000000000000000000000,
SuburbName: String,
CountryId: 00000000000000000000000000000000,
CountryName: String,
Timezone: 00000000000000000000000000000000,
TimezoneName: String,
LotNumber: String,
SubUnit: String,
BuildingNumber: String,
PostalDeliveryNumber: String,
StreetNumber: String,
StreetName: String,
AddressLineOne: String,
AddressLineTwo: String,
PostCode: String,
IsPhysical: False,
Notes: String,
AddressFull: String,
PostalDeliveryTypeId: 00000000000000000000000000000000,
Latitude: 0,
Longitude: 0,
Accuracy: 0,
DistanceAway: 0,
AutoMapCoordinates: False,
IsAddressCleared: False,
IsValidated: False,
Estate:
{
Name: String,
Notes: String,
DeveloperName: String,
DeveloperProfilePhotoUrl: String,
DeveloperProfilePhotoThumbnail: String,
RecordStatus: String,
Stages:
[
{
Name: String,
Notes: String,
RecordStatus: String
}
],
CurrentEstateStageName: String
},
GeoEstateStageName: String
},
IsPostal: False,
IsPrimaryLocation: False,
IsRegisteredLocation: False,
SuburbName: String,
StateName: String,
CountryName: String,
AddressFull: "String
String
String
String String
String"
},
Phone:
{
CountryCode: String,
AreaCode: String,
LocalNumber: String,
PhoneNumber: String String String
},
CountryId: 00000000000000000000000000000000,
ContactDetails: String,
Notes: String,
ContactDetailsCode: String,
OrderContactMethod: 0,
IsPrimaryContactMethod: False,
IsPrimaryLocation: False,
IsRegisteredLocation: False,
IsPostal: False,
IsAddress: True,
IsPhone: False,
EmailSignatureHTML: String,
EmailSignatureText: String,
ApiKey: String,
FrameworkAlternateKey: String
}
],
CustomContent:
[
{
FieldName: String,
FieldValue: String,
AlternateKey: String
}
],
ConnectedContacts:
[
{
PrimaryStreetAddressId: 00000000000000000000000000000000,
PrimaryPostalAddressId: 00000000000000000000000000000000,
PrimaryTaxRegisteredAddressId: 00000000000000000000000000000000,
PrimaryNonMobileId: 00000000000000000000000000000000,
PrimaryMobileId: 00000000000000000000000000000000,
PrimaryEmailId: 00000000000000000000000000000000,
Mobile: String,
Phone: String,
PrimaryEmail: String,
PrimaryAddress: String,
PrimaryFaxId: 00000000000000000000000000000000,
PrimaryWebId: 00000000000000000000000000000000,
PrimarySocialMediaId: 00000000000000000000000000000000,
FirstName: String,
MiddleName: String,
Surname: String,
FullName: String,
ShortName: String,
BirthDate: 0001-01-01,
Title: String,
Salutation: String,
MaritalStatus: 00000000000000000000000000000000,
MaritalStatusName: String,
Gender: 00000000000000000000000000000000,
GenderName: String,
Abn: String,
Acn: String,
Arbn: String,
ContactBankingDetails:
{
BankName: String,
BankLocation: String,
Bsb: String,
AccountNumber: String,
AccountName: String,
TermOfTradeId: 00000000000000000000000000000000,
TermOfTradeName: String,
RecordStatus: String
},
LegalName: String,
TradingName: String,
ContactType: 00000000000000000000000000000000,
ContactTypeName: String,
ContactTypePhotoUrl: String,
ContactTypePhotoThumbnailUrl: String,
Timezone: 00000000000000000000000000000000,
TimezoneName: String,
Description: String,
EmploymentIndustry: String,
EmploymentRole: String,
EmploymentGeographicArea: String,
GstRegistered: False,
DriversLicence: String,
ContactGroupIdStaff: 00000000000000000000000000000000,
StaffGroupName: String,
ContactGroupIdVendor: 00000000000000000000000000000000,
VendorGroupName: String,
ContactGroupIdCustomer: 00000000000000000000000000000000,
CustomerGroupName: String,
PrimaryMediaFileId: 00000000000000000000000000000000,
ProfilePhotoUrl: String,
ProfilePhotoThumbnailUrl: String,
RecordStatus: String,
SubscriptionAlternateKey: String,
ContactRoles:
[
{
RoleName: String,
StartDate: 0001-01-01,
EndDate: 0001-01-01,
IsLicenseeRole: False,
IsCustomerRole: False,
IsPlatformRole: False,
IsAdministerContactsRole: False,
RolePrimaryImageURL: String,
RolePrimaryImageThumbnailURL: String,
ConnectionStatusName: String
}
],
ContactDetails:
[
{
ContactMethodName: String,
Address:
{
Location:
{
StateId: 00000000000000000000000000000000,
StateName: String,
StateNameShort: String,
SuburbId: 00000000000000000000000000000000,
SuburbName: String,
CountryId: 00000000000000000000000000000000,
CountryName: String,
Timezone: 00000000000000000000000000000000,
TimezoneName: String,
LotNumber: String,
SubUnit: String,
BuildingNumber: String,
PostalDeliveryNumber: String,
StreetNumber: String,
StreetName: String,
AddressLineOne: String,
AddressLineTwo: String,
PostCode: String,
IsPhysical: False,
Notes: String,
AddressFull: String,
PostalDeliveryTypeId: 00000000000000000000000000000000,
Latitude: 0,
Longitude: 0,
Accuracy: 0,
DistanceAway: 0,
AutoMapCoordinates: False,
IsAddressCleared: False,
IsValidated: False,
Estate:
{
Name: String,
Notes: String,
DeveloperName: String,
DeveloperProfilePhotoUrl: String,
DeveloperProfilePhotoThumbnail: String,
RecordStatus: String,
Stages:
[
{
Name: String,
Notes: String,
RecordStatus: String
}
],
CurrentEstateStageName: String
},
GeoEstateStageName: String
},
IsPostal: False,
IsPrimaryLocation: False,
IsRegisteredLocation: False,
SuburbName: String,
StateName: String,
CountryName: String,
AddressFull: "String
String
String
String String
String"
},
Phone:
{
CountryCode: String,
AreaCode: String,
LocalNumber: String,
PhoneNumber: String String String
},
CountryId: 00000000000000000000000000000000,
ContactDetails: String,
Notes: String,
ContactDetailsCode: String,
OrderContactMethod: 0,
IsPrimaryContactMethod: False,
IsPrimaryLocation: False,
IsRegisteredLocation: False,
IsPostal: False,
IsAddress: True,
IsPhone: False,
EmailSignatureHTML: String,
EmailSignatureText: String,
ApiKey: String,
FrameworkAlternateKey: String
}
],
CustomContent:
[
{
FieldName: String,
FieldValue: String,
AlternateKey: String
}
],
CustomContentXML: String,
ContactDetailsXML: String,
ConnectionContactName: String,
UserProfileIdDefault: 00000000000000000000000000000000,
Username: String,
IsRegistered: False,
ESL: False,
Language: String,
InterpreterRequired: False,
LicenseeNotes: String,
Notes: String,
ObjectHash: String
}
],
CustomContentXML: String,
ContactDetailsXML: String,
ConnectionContactName: String,
UserProfileIdDefault: 00000000000000000000000000000000,
Username: String,
IsRegistered: False,
ESL: False,
Language: String,
InterpreterRequired: False,
LicenseeNotes: String,
Notes: String,
ObjectHash: String
}
],
CustomContentXML: String,
ContactDetailsXML: String,
ConnectionContactName: String,
UserProfileIdDefault: 00000000000000000000000000000000,
Username: String,
IsRegistered: False,
ESL: False,
Language: String,
InterpreterRequired: False,
LicenseeNotes: String,
Notes: String,
ObjectHash: String
}
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Result: String
}