Platform API

<back to all web services

CreateStaff

Requires Authentication
The following routes are available for this service:
All Verbs/api/organisations/{ContactId}/create/staff
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 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

        <ApiResponse(Description:="Contact Id of the newly invited/ created contact")>
        Public Partial Class AddContactResponse
            Public Overridable Property ContactId As Guid
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class

        Public Partial Class CreateStaff
            '''<Summary>
            '''Organisation Contact to create staff for
            '''</Summary>
            <ApiMember(DataType:="Guid", Description:="Organisation Contact to create staff for", IsRequired:=true, Name:="ContactId")>
            Public Overridable Property ContactId As Guid

            '''<Summary>
            '''Details of the virtual contact being created
            '''</Summary>
            <ApiMember(DataType:="UserProfileSummaryCoreModel", Description:="Details of the virtual contact being created", IsRequired:=true, Name:="Contact")>
            Public Overridable Property Contact As UserProfileSummaryModel
        End Class
    End Namespace
End Namespace

VB.NET CreateStaff 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/organisations/{ContactId}/create/staff HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Contact: 
	{
		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
	}
}
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
		}
	}
}