Platform API

<back to all web services

GetContactRoleDetails

Get details of the specified contact role, including details of the contacts and organisations sharing it

Requires Authentication
The following routes are available for this service:
All Verbs/api/contactrole/{ContactRoleId}
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Eros.Subtle.Canvara.WebAPIModel.ServiceModel;
using Eros.Saguna.Common.WebAPIModel.Models;

namespace Eros.Saguna.Common.WebAPIModel.Models
{
    public partial class ListItemFilterModel
    {
        public virtual Guid ListItemFilterId { get; set; }
        public virtual string FilterName { get; set; }
        public virtual Guid ListId { get; set; }
        public virtual Guid ListItemId { get; set; }
        public virtual bool ListItemIsInFilter { get; set; }
    }

    public partial class ObjectShareModel
    {
        public virtual Guid ObjectShareId { get; set; }
        public virtual Guid ObjectId { get; set; }
        public virtual string ObjectName { get; set; }
        public virtual string Name { get; set; }
        public virtual string Description { get; set; }
        public virtual string Reference { get; set; }
        public virtual Guid ContactId { get; set; }
        public virtual string ContactName { get; set; }
        public virtual string ContactType { get; set; }
        public virtual string ContactImageUrlPrimary { get; set; }
        public virtual string ContactImageUrlPrimaryThmbnail { get; set; }
        public virtual Guid ShareStatusId { get; set; }
        public virtual string ShareStatusName { get; set; }
    }

    public partial class PagedModel
    {
        ///<summary>
        ///Page Number to retrieve
        ///</summary>
        [ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber")]
        public virtual int PageNumber { get; set; }

        ///<summary>
        ///Number of records to retrieve
        ///</summary>
        [ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize")]
        public virtual int PageSize { get; set; }

        ///<summary>
        ///Index of field to sort results by
        ///</summary>
        [ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex")]
        public virtual int SortIndex { get; set; }

        ///<summary>
        ///Sort Order - Ascending or Descending
        ///</summary>
        [ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder")]
        public virtual SortOrder SortOrder { get; set; }
    }

    public enum SortOrder
    {
        Ascending,
        Descending,
    }

    public partial class UserProfileSummaryModel
    {
        ///<summary>
        ///User Profile Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="User Profile Id", Name="UserProfileId")]
        public virtual Guid UserProfileId { get; set; }

        ///<summary>
        ///User linked to the profile
        ///</summary>
        [ApiMember(DataType="Guid", Description="User linked to the profile", Name="UserId")]
        public virtual Guid UserId { get; set; }

        ///<summary>
        ///Contact linked to the profile
        ///</summary>
        [ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")]
        public virtual Guid ContactId { get; set; }

        ///<summary>
        ///User linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="User linked to the profile", Name="UserName")]
        public virtual string UserName { get; set; }

        ///<summary>
        ///User Profile Name
        ///</summary>
        [ApiMember(DataType="string", Description="User Profile Name", Name="ProfileName")]
        public virtual string ProfileName { get; set; }

        ///<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 virtual string ContactFullName { get; set; }

        ///<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 virtual string EmailAddress { get; set; }

        ///<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 virtual string EmailSignature { get; set; }

        ///<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 virtual string MobileNumber { get; set; }

        ///<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 virtual string PhoneNumber { get; set; }

        ///<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 virtual Guid ContactTypeId { get; set; }

        ///<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 virtual string ContactTypeName { get; set; }

        ///<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 virtual string FirstName { get; set; }

        ///<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 virtual string Surname { get; set; }

        ///<summary>
        ///Title of contact linked to the profile
        ///</summary>
        [ApiMember(DataType="string", Description="Title of contact linked to the profile", Name="Title")]
        public virtual string Title { get; set; }

        ///<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 virtual string LegalName { get; set; }

        ///<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 virtual string TradingName { get; set; }

        ///<summary>
        ///Australian Business Number
        ///</summary>
        [ApiMember(DataType="string", Description="Australian Business Number", Name="Abn", ParameterType="query")]
        public virtual string Abn { get; set; }

        ///<summary>
        ///Australian Company Number
        ///</summary>
        [ApiMember(DataType="string", Description="Australian Company Number", Name="Acn", ParameterType="query")]
        public virtual string Acn { get; set; }

        ///<summary>
        ///Australian Registered Body Number
        ///</summary>
        [ApiMember(DataType="string", Description="Australian Registered Body Number", Name="Arbn", ParameterType="query")]
        public virtual string Arbn { get; set; }

        ///<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 virtual bool GstRegistered { get; set; }

        ///<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 virtual bool ESL { get; set; }

        ///<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 virtual string Language { get; set; }

        ///<summary>
        ///True if an interpreter is required.
        ///</summary>
        [ApiMember(DataType="bool", Description="True if an interpreter is required.", Name="InterpreterRequired", ParameterType="query")]
        public virtual bool InterpreterRequired { get; set; }

        ///<summary>
        ///Licensee specific notes about the contact.
        ///</summary>
        [ApiMember(DataType="string", Description="Licensee specific notes about the contact.", Name="LicenseeNotes", ParameterType="query")]
        public virtual string LicenseeNotes { get; set; }

        ///<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 virtual string ProfilePhotoUrl { get; set; }

        ///<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 virtual string ProfilePhotoThumbnailUrl { get; set; }

        ///<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 virtual Guid ProfileImageId { get; set; }

        ///<summary>
        ///Profile description
        ///</summary>
        [ApiMember(DataType="string", Description="Profile description", Name="Description")]
        public virtual string Description { get; set; }

        ///<summary>
        ///Employment Industry
        ///</summary>
        [ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")]
        public virtual string EmploymentIndustry { get; set; }

        ///<summary>
        ///Employment Role
        ///</summary>
        [ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")]
        public virtual string EmploymentRole { get; set; }

        ///<summary>
        ///Areas of Work
        ///</summary>
        [ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")]
        public virtual string EmploymentGeographicArea { get; set; }

        ///<summary>
        ///The contacts timezone.
        ///</summary>
        [ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query")]
        public virtual Guid Timezone { get; set; }

        ///<summary>
        ///Timezone Name
        ///</summary>
        [ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")]
        public virtual string TimezoneName { get; set; }

        ///<summary>
        ///The primary address of the contact
        ///</summary>
        [ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query")]
        public virtual string PrimaryAddress { get; set; }

        ///<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 virtual bool IsActiveContact { get; set; }
    }

    public partial class ViewRoleModel
        : PagedModel
    {
        ///<summary>
        ///Role Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Role Id", IsRequired=true, Name="RoleId")]
        public virtual Guid RoleId { get; set; }

        ///<summary>
        ///Role Name
        ///</summary>
        [ApiMember(DataType="string", Description="Role Name", Name="RoleName")]
        public virtual string RoleName { get; set; }

        ///<summary>
        ///Role Connection Definition Id
        ///</summary>
        [ApiMember(DataType="Guid", Description="Role Connection Definition Id", Name="RoleConnectionDefinitionId")]
        public virtual Guid RoleConnectionDefinitionId { get; set; }

        ///<summary>
        ///Contact Types the Role applies to
        ///</summary>
        [ApiMember(DataType="List", Description="Contact Types the Role applies to", Name="ContactTypes")]
        public virtual List<Guid> ContactTypes { get; set; }

        ///<summary>
        ///Does the role require contacts to accept it?
        ///</summary>
        [ApiMember(DataType="bool", Description="Does the role require contacts to accept it?", Name="RequireContactsToAccept")]
        public virtual bool RequireContactsToAccept { get; set; }

        public virtual bool IsPlatformRole { get; set; }
        public virtual bool CanAddContacts { get; set; }
        public virtual bool CanShareRole { get; set; }
        public virtual bool CanEditRole { get; set; }
        public virtual bool CanEditContactTypes { get; set; }
        public virtual List<UserProfileSummaryModel> Contacts { get; set; }
        public virtual IList<ObjectShareModel> ShareDetails { get; set; }
        public virtual List<ListItemFilterModel> ListItemFilters { get; set; }
        public virtual Guid ContactIdOwner { get; set; }
        public virtual int TotalItemCount { get; set; }
    }

}

namespace Eros.Subtle.Canvara.WebAPIModel.ServiceModel
{
    ///<summary>
    ///Get details of the specified contact role, including details of the contacts and organisations sharing it
    ///</summary>
    [Api(Description="Get details of the specified contact role, including details of the contacts and organisations sharing it")]
    public partial class GetContactRoleDetails
        : PagedModel
    {
        ///<summary>
        ///The Contact Role Guid. Records retrieved will belong to this contact.
        ///</summary>
        [ApiMember(DataType="Guid", Description="The Contact Role Guid. Records retrieved will belong to this contact.", IsRequired=true, Name="ContactRoleId", ParameterType="query")]
        public virtual Guid ContactRoleId { get; set; }

        ///<summary>
        ///Text filter
        ///</summary>
        [ApiMember(DataType="string", Description="Text filter", Name="SearchText", ParameterType="query")]
        public virtual string SearchText { get; set; }
    }

    [ApiResponse(Description="Details of the specified contact role, including details of the contacts and organisations sharing it")]
    public partial class GetContactRoleDetailsResponse
    {
        public virtual ViewRoleModel ContactRole { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

}

C# GetContactRoleDetails DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /api/contactrole/{ContactRoleId} HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ContactRoleId":"00000000-0000-0000-0000-000000000000","SearchText":"String","PageNumber":0,"PageSize":0,"SortIndex":0,"SortOrder":"Ascending"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ContactRole":{"RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","RoleConnectionDefinitionId":"00000000-0000-0000-0000-000000000000","ContactTypes":["00000000-0000-0000-0000-000000000000"],"RequireContactsToAccept":false,"IsPlatformRole":false,"CanAddContacts":false,"CanShareRole":false,"CanEditRole":false,"CanEditContactTypes":false,"Contacts":[{"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}],"ShareDetails":null,"ListItemFilters":[{"ListItemFilterId":"00000000-0000-0000-0000-000000000000","FilterName":"String","ListId":"00000000-0000-0000-0000-000000000000","ListItemId":"00000000-0000-0000-0000-000000000000","ListItemIsInFilter":false}],"ContactIdOwner":"00000000-0000-0000-0000-000000000000","TotalItemCount":0,"PageNumber":0,"PageSize":0,"SortIndex":0,"SortOrder":"Ascending"},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}