Platform API

<back to all web services

AddContactGroup

Create new contact group

Requires Authentication
The following routes are available for this service:
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

VB.NET AddContactGroup 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 /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
		}
	}
}