| 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 .csv suffix or ?format=csv
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: text/csv
Content-Type: text/csv
Content-Length: length
{"CustomerName":"String","NameTypeId":"00000000-0000-0000-0000-000000000000","Contacts":[{"ContactGroupId":"00000000-0000-0000-0000-000000000000","ContactGroupConnectionId":"00000000-0000-0000-0000-000000000000","ConnectionRoleId":"00000000-0000-0000-0000-000000000000","Index":0,"ContactRoles":[{"RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","IsLicenseeRole":false,"IsManageContacts":false,"IsPlatformRole":false,"IsServiceRole":false,"IsCustomerRole":false,"IsFunctionalRole":false,"IsRequestAutoAccepted":false,"SuiteId":"00000000-0000-0000-0000-000000000000","SuiteName":"String","RecordStatus":"String","ObjectConnectionId":"00000000-0000-0000-0000-000000000000"}],"UserProfileId":"00000000-0000-0000-0000-000000000000","UserId":"00000000-0000-0000-0000-000000000000","ContactId":"00000000-0000-0000-0000-000000000000","UserName":"String","ProfileName":"String","ContactFullName":"String","EmailAddress":"String","EmailSignature":"String","MobileNumber":"String","PhoneNumber":"String","ContactTypeId":"00000000-0000-0000-0000-000000000000","ContactTypeName":"String","FirstName":"String","Surname":"String","Title":"String","LegalName":"String","TradingName":"String","Abn":"String","Acn":"String","Arbn":"String","GstRegistered":false,"ESL":false,"Language":"String","InterpreterRequired":false,"LicenseeNotes":"String","ProfilePhotoUrl":"String","ProfilePhotoThumbnailUrl":"String","ProfileImageId":"00000000-0000-0000-0000-000000000000","Description":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","Timezone":"00000000-0000-0000-0000-000000000000","TimezoneName":"String","PrimaryAddress":"String","IsActiveContact":false}],"RecordStatus":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"ContactGroupId":"00000000-0000-0000-0000-000000000000","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}