| 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 .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/contactgroups HTTP/1.1
Host: pfapi.pstpf.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CustomerName: String,
Contacts:
[
{
Index: 0,
ContactRoles:
[
{
RoleName: String,
IsLicenseeRole: False,
IsManageContacts: False,
IsPlatformRole: False,
IsServiceRole: False,
IsCustomerRole: False,
IsFunctionalRole: False,
IsRequestAutoAccepted: False,
SuiteName: String,
RecordStatus: String
}
],
UserName: String,
ProfileName: String,
ContactFullName: String,
EmailAddress: String,
EmailSignature: String,
MobileNumber: String,
PhoneNumber: String,
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,
Description: String,
EmploymentIndustry: String,
EmploymentRole: String,
EmploymentGeographicArea: String,
TimezoneName: String,
PrimaryAddress: String,
IsActiveContact: False
}
],
RecordStatus: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}