| POST | /api/contactgroups |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Eros.Subtle.Canvara.WebAPIModel.ServiceModel
Imports Eros.Saguna.Common.WebAPIModel.Models
Namespace Global
Namespace Eros.Saguna.Common.WebAPIModel.Models
Public Partial Class ContactGroupConnectionModel
Inherits UserProfileSummaryModel
'''<Summary>
'''Contact Group Id
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Contact Group Id", Name:="ContactGroupId")>
Public Overridable Property ContactGroupId As Guid
'''<Summary>
'''Connection id of the contact in the group
'''</Summary>
<ApiMember(DataType:="string", Description:="Connection id of the contact in the group", Name:="ContactGroupConnectionId")>
Public Overridable Property ContactGroupConnectionId As Guid
'''<Summary>
'''The Id of the Role this contact is connected to the group with.
'''</Summary>
<ApiMember(DataType:="string", Description:="The Id of the Role this contact is connected to the group with.", Name:="ConnectionRoleId")>
Public Overridable Property ConnectionRoleId As Guid
'''<Summary>
'''Order of contacts within a group, the primary contact will have an index of 1.
'''</Summary>
<ApiMember(DataType:="int", Description:="Order of contacts within a group, the primary contact will have an index of 1.", Name:="Index")>
Public Overridable Property Index As Integer
'''<Summary>
'''List of roles that the contact in the contact group has across appliances for e.g. Platform Customer, Nexus customer etc.
'''</Summary>
<ApiMember(DataType:="string", Description:="List of roles that the contact in the contact group has across appliances for e.g. Platform Customer, Nexus customer etc.", Name:="ContactRoles")>
Public Overridable Property ContactRoles As List(Of RoleModel)
End Class
Public Partial Class RoleModel
'''<Summary>
'''Role Id
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Role Id", IsRequired:=true, Name:="RoleId")>
Public Overridable Property RoleId As Guid
'''<Summary>
'''Role Name
'''</Summary>
<ApiMember(DataType:="string", Description:="Role Name", Name:="RoleName")>
Public Overridable Property RoleName As String
'''<Summary>
'''Is the role a licensee role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is the role a licensee role?", Name:="IsLicensee")>
Public Overridable Property IsLicenseeRole As Boolean
'''<Summary>
'''Is manage contacts role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is manage contacts role?", Name:="IsManageContacts")>
Public Overridable Property IsManageContacts As Boolean
'''<Summary>
'''Is the role a Platform role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is the role a Platform role?", Name:="IsPlatformRole")>
Public Overridable Property IsPlatformRole As Boolean
'''<Summary>
'''Is the role a services role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is the role a services role?", Name:="IsServiceRole")>
Public Overridable Property IsServiceRole As Boolean
'''<Summary>
'''Is the role a customer role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is the role a customer role?", Name:="IsCustomerRole")>
Public Overridable Property IsCustomerRole As Boolean
'''<Summary>
'''Is the role a functional role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is the role a functional role?", Name:="IsFunctionalRole")>
Public Overridable Property IsFunctionalRole As Boolean
'''<Summary>
'''Is the role an auto-accept role?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is the role an auto-accept role?", Name:="IsRequestAutoAccepted")>
Public Overridable Property IsRequestAutoAccepted As Boolean
'''<Summary>
'''Suite that the role belongs to
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Suite that the role belongs to", Name:="SuiteId")>
Public Overridable Property SuiteId As Guid
'''<Summary>
'''Suite that the role belongs to
'''</Summary>
<ApiMember(DataType:="string", Description:="Suite that the role belongs to", Name:="SuiteName")>
Public Overridable Property SuiteName As String
'''<Summary>
''''A' (Active) or 'I' (Inactive)
'''</Summary>
<ApiMember(DataType:="string", Description:="'A' (Active) or 'I' (Inactive)", Name:="RecordStatus")>
Public Overridable Property RecordStatus As String
'''<Summary>
'''Object Connection Id, which is populated when the roles are returned based on those that are connected to an object.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Object Connection Id, which is populated when the roles are returned based on those that are connected to an object.", Name:="ObjectConnectionId")>
Public Overridable Property ObjectConnectionId As Guid
End Class
Public Partial Class UserProfileSummaryModel
'''<Summary>
'''User Profile Id
'''</Summary>
<ApiMember(DataType:="Guid", Description:="User Profile Id", Name:="UserProfileId")>
Public Overridable Property UserProfileId As Guid
'''<Summary>
'''User linked to the profile
'''</Summary>
<ApiMember(DataType:="Guid", Description:="User linked to the profile", Name:="UserId")>
Public Overridable Property UserId As Guid
'''<Summary>
'''Contact linked to the profile
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Contact linked to the profile", Name:="ContactId")>
Public Overridable Property ContactId As Guid
'''<Summary>
'''User linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="User linked to the profile", Name:="UserName")>
Public Overridable Property UserName As String
'''<Summary>
'''User Profile Name
'''</Summary>
<ApiMember(DataType:="string", Description:="User Profile Name", Name:="ProfileName")>
Public Overridable Property ProfileName As String
'''<Summary>
'''Full name of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Full name of the contact linked to the profile", Name:="ContactFullName")>
Public Overridable Property ContactFullName As String
'''<Summary>
'''Email Address of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Email Address of the contact linked to the profile", Name:="EmailAddress")>
Public Overridable Property EmailAddress As String
'''<Summary>
'''Email signature of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Email signature of the contact linked to the profile", Name:="EmailSignature")>
Public Overridable Property EmailSignature As String
'''<Summary>
'''Mobile number of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Mobile number of the contact linked to the profile", Name:="MobileNumber")>
Public Overridable Property MobileNumber As String
'''<Summary>
'''Phone number of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Phone number of the contact linked to the profile", Name:="PhoneNumber")>
Public Overridable Property PhoneNumber As String
'''<Summary>
'''Type of contact (person, organisation etc.) linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Type of contact (person, organisation etc.) linked to the profile", Name:="ContactTypeId")>
Public Overridable Property ContactTypeId As Guid
'''<Summary>
'''Type of contact (person, organisation etc.) linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Type of contact (person, organisation etc.) linked to the profile", Name:="ContactTypeName")>
Public Overridable Property ContactTypeName As String
'''<Summary>
'''First name of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="First name of the contact linked to the profile", Name:="FirstName")>
Public Overridable Property FirstName As String
'''<Summary>
'''Surname of the contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Surname of the contact linked to the profile", Name:="Surname")>
Public Overridable Property Surname As String
'''<Summary>
'''Title of contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Title of contact linked to the profile", Name:="Title")>
Public Overridable Property Title As String
'''<Summary>
'''Legal name of contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Legal name of contact linked to the profile", Name:="LegalName")>
Public Overridable Property LegalName As String
'''<Summary>
'''Trading name of contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Trading name of contact linked to the profile", Name:="TradingName")>
Public Overridable Property TradingName As String
'''<Summary>
'''Australian Business Number
'''</Summary>
<ApiMember(DataType:="string", Description:="Australian Business Number", Name:="Abn", ParameterType:="query")>
Public Overridable Property Abn As String
'''<Summary>
'''Australian Company Number
'''</Summary>
<ApiMember(DataType:="string", Description:="Australian Company Number", Name:="Acn", ParameterType:="query")>
Public Overridable Property Acn As String
'''<Summary>
'''Australian Registered Body Number
'''</Summary>
<ApiMember(DataType:="string", Description:="Australian Registered Body Number", Name:="Arbn", ParameterType:="query")>
Public Overridable Property Arbn As String
'''<Summary>
'''Indicates if the Contact is registered for GST.
'''</Summary>
<ApiMember(DataType:="bool", Description:="Indicates if the Contact is registered for GST.", Name:="GstRegistered", ParameterType:="query")>
Public Overridable Property GstRegistered As Boolean
'''<Summary>
'''True if english is a secondary language for the contact.
'''</Summary>
<ApiMember(DataType:="bool", Description:="True if english is a secondary language for the contact.", Name:="ESL", ParameterType:="query")>
Public Overridable Property ESL As Boolean
'''<Summary>
'''Language that is the primary language for the contact.
'''</Summary>
<ApiMember(DataType:="string", Description:="Language that is the primary language for the contact.", Name:="Language", ParameterType:="query")>
Public Overridable Property Language As String
'''<Summary>
'''True if an interpreter is required.
'''</Summary>
<ApiMember(DataType:="bool", Description:="True if an interpreter is required.", Name:="InterpreterRequired", ParameterType:="query")>
Public Overridable Property InterpreterRequired As Boolean
'''<Summary>
'''Licensee specific notes about the contact.
'''</Summary>
<ApiMember(DataType:="string", Description:="Licensee specific notes about the contact.", Name:="LicenseeNotes", ParameterType:="query")>
Public Overridable Property LicenseeNotes As String
'''<Summary>
'''Profile photo of contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Profile photo of contact linked to the profile", Name:="ProfilePhotoUrl")>
Public Overridable Property ProfilePhotoUrl As String
'''<Summary>
'''Thumbnail photo of contact linked to the profile
'''</Summary>
<ApiMember(DataType:="string", Description:="Thumbnail photo of contact linked to the profile", Name:="ProfilePhotoThumbnailUrl")>
Public Overridable Property ProfilePhotoThumbnailUrl As String
'''<Summary>
'''Profile photo id of contact linked to the profile
'''</Summary>
<ApiMember(DataType:="Guid", Description:="Profile photo id of contact linked to the profile", Name:="ProfileImageId")>
Public Overridable Property ProfileImageId As Guid
'''<Summary>
'''Profile description
'''</Summary>
<ApiMember(DataType:="string", Description:="Profile description", Name:="Description")>
Public Overridable Property Description As String
'''<Summary>
'''Employment Industry
'''</Summary>
<ApiMember(DataType:="string", Description:="Employment Industry", Name:="EmploymentIndustry")>
Public Overridable Property EmploymentIndustry As String
'''<Summary>
'''Employment Role
'''</Summary>
<ApiMember(DataType:="string", Description:="Employment Role", Name:="EmploymentRole")>
Public Overridable Property EmploymentRole As String
'''<Summary>
'''Areas of Work
'''</Summary>
<ApiMember(DataType:="string", Description:="Areas of Work", Name:="EmploymentGeographicArea")>
Public Overridable Property EmploymentGeographicArea As String
'''<Summary>
'''The contacts timezone.
'''</Summary>
<ApiMember(DataType:="Guid", Description:="The contacts timezone.", Name:="Timezone", ParameterType:="query")>
Public Overridable Property Timezone As Guid
'''<Summary>
'''Timezone Name
'''</Summary>
<ApiMember(DataType:="string", Description:="Timezone Name", Name:="TimezoneName", ParameterType:="query")>
Public Overridable Property TimezoneName As String
'''<Summary>
'''The primary address of the contact
'''</Summary>
<ApiMember(DataType:="string", Description:="The primary address of the contact", Name:="PrimaryAddress", ParameterType:="query")>
Public Overridable Property PrimaryAddress As String
'''<Summary>
'''Is this an active contact? Or an inactive contact (deleted account)?
'''</Summary>
<ApiMember(DataType:="bool", Description:="Is this an active contact? Or an inactive contact (deleted account)?", Name:="IsActiveContact")>
Public Overridable Property IsActiveContact As Boolean
End Class
End Namespace
Namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel
'''<Summary>
'''Create new contact group
'''</Summary>
<Api(Description:="Create new contact group")>
Public Partial Class AddContactGroup
'''<Summary>
'''Contact group name to be created
'''</Summary>
<ApiMember(Description:="Contact group name to be created", Name:="CustomerName")>
Public Overridable Property CustomerName As String
Public Overridable Property NameTypeId As Guid
Public Overridable Property Contacts As List(Of ContactGroupConnectionModel)
Public Overridable Property RecordStatus As String
End Class
<ApiResponse(Description:="Create contact group")>
Public Partial Class AddContactGroupResponse
Public Overridable Property ContactGroupId As Guid
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
End Namespace
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/contactgroups HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<AddContactGroup xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
<Contacts xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.WebAPIModel.Models">
<d2p1:ContactGroupConnectionModel>
<d2p1:Abn>String</d2p1:Abn>
<d2p1:Acn>String</d2p1:Acn>
<d2p1:Arbn>String</d2p1:Arbn>
<d2p1:ContactFullName>String</d2p1:ContactFullName>
<d2p1:ContactId>00000000-0000-0000-0000-000000000000</d2p1:ContactId>
<d2p1:ContactTypeId>00000000-0000-0000-0000-000000000000</d2p1:ContactTypeId>
<d2p1:ContactTypeName>String</d2p1:ContactTypeName>
<d2p1:Description>String</d2p1:Description>
<d2p1:ESL>false</d2p1:ESL>
<d2p1:EmailAddress>String</d2p1:EmailAddress>
<d2p1:EmailSignature>String</d2p1:EmailSignature>
<d2p1:EmploymentGeographicArea>String</d2p1:EmploymentGeographicArea>
<d2p1:EmploymentIndustry>String</d2p1:EmploymentIndustry>
<d2p1:EmploymentRole>String</d2p1:EmploymentRole>
<d2p1:FirstName>String</d2p1:FirstName>
<d2p1:GstRegistered>false</d2p1:GstRegistered>
<d2p1:InterpreterRequired>false</d2p1:InterpreterRequired>
<d2p1:IsActiveContact>false</d2p1:IsActiveContact>
<d2p1:Language>String</d2p1:Language>
<d2p1:LegalName>String</d2p1:LegalName>
<d2p1:LicenseeNotes>String</d2p1:LicenseeNotes>
<d2p1:MobileNumber>String</d2p1:MobileNumber>
<d2p1:PhoneNumber>String</d2p1:PhoneNumber>
<d2p1:PrimaryAddress>String</d2p1:PrimaryAddress>
<d2p1:ProfileImageId>00000000-0000-0000-0000-000000000000</d2p1:ProfileImageId>
<d2p1:ProfileName>String</d2p1:ProfileName>
<d2p1:ProfilePhotoThumbnailUrl>String</d2p1:ProfilePhotoThumbnailUrl>
<d2p1:ProfilePhotoUrl>String</d2p1:ProfilePhotoUrl>
<d2p1:Surname>String</d2p1:Surname>
<d2p1:Timezone>00000000-0000-0000-0000-000000000000</d2p1:Timezone>
<d2p1:TimezoneName>String</d2p1:TimezoneName>
<d2p1:Title>String</d2p1:Title>
<d2p1:TradingName>String</d2p1:TradingName>
<d2p1:UserId>00000000-0000-0000-0000-000000000000</d2p1:UserId>
<d2p1:UserName>String</d2p1:UserName>
<d2p1:UserProfileId>00000000-0000-0000-0000-000000000000</d2p1:UserProfileId>
<d2p1:ConnectionRoleId>00000000-0000-0000-0000-000000000000</d2p1:ConnectionRoleId>
<d2p1:ContactGroupConnectionId>00000000-0000-0000-0000-000000000000</d2p1:ContactGroupConnectionId>
<d2p1:ContactGroupId>00000000-0000-0000-0000-000000000000</d2p1:ContactGroupId>
<d2p1:ContactRoles>
<d2p1:RoleModel>
<d2p1:IsCustomerRole>false</d2p1:IsCustomerRole>
<d2p1:IsFunctionalRole>false</d2p1:IsFunctionalRole>
<d2p1:IsLicenseeRole>false</d2p1:IsLicenseeRole>
<d2p1:IsManageContacts>false</d2p1:IsManageContacts>
<d2p1:IsPlatformRole>false</d2p1:IsPlatformRole>
<d2p1:IsRequestAutoAccepted>false</d2p1:IsRequestAutoAccepted>
<d2p1:IsServiceRole>false</d2p1:IsServiceRole>
<d2p1:ObjectConnectionId>00000000-0000-0000-0000-000000000000</d2p1:ObjectConnectionId>
<d2p1:RecordStatus>String</d2p1:RecordStatus>
<d2p1:RoleId>00000000-0000-0000-0000-000000000000</d2p1:RoleId>
<d2p1:RoleName>String</d2p1:RoleName>
<d2p1:SuiteId>00000000-0000-0000-0000-000000000000</d2p1:SuiteId>
<d2p1:SuiteName>String</d2p1:SuiteName>
</d2p1:RoleModel>
</d2p1:ContactRoles>
<d2p1:Index>0</d2p1:Index>
</d2p1:ContactGroupConnectionModel>
</Contacts>
<CustomerName>String</CustomerName>
<NameTypeId>00000000-0000-0000-0000-000000000000</NameTypeId>
<RecordStatus>String</RecordStatus>
</AddContactGroup>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<AddContactGroupResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Canvara.WebAPIModel.ServiceModel">
<ContactGroupId>00000000-0000-0000-0000-000000000000</ContactGroupId>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</AddContactGroupResponse>