Platform API

<back to all web services

GetObjectContactConnections

Get contact connections for the specified object.

Requires Authentication
The following routes are available for this service:
GET/api/objects/{ObjectId}/contactconnections
GET/api/projects/{ObjectId}/myteam
import 'package:servicestack/servicestack.dart';

class ContactSummaryModel implements IConvertible
{
    /**
    * Contact linked to the profile
    */
    // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId")
    String? ContactId;

    /**
    * Full name of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Full name of the contact linked to the profile", Name="ContactFullName")
    String? ContactFullName;

    /**
    * Email Address of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Email Address of the contact linked to the profile", Name="EmailAddress")
    String? EmailAddress;

    /**
    * Mobile Number of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Mobile Number of the contact linked to the profile", Name="MobileNumber")
    String? MobileNumber;

    /**
    * Primary Phone Number of the contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Primary Phone Number of the contact linked to the profile", Name="PhoneNumber")
    String? PhoneNumber;

    /**
    * Type of contact (person, organisation etc.) linked to the profile
    */
    // @ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeId")
    String? ContactTypeId;

    /**
    * Profile photo of contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl")
    String? ProfilePhotoUrl;

    /**
    * Thumbnail photo of contact linked to the profile
    */
    // @ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl")
    String? ProfilePhotoThumbnailUrl;

    /**
    * Profile description
    */
    // @ApiMember(DataType="string", Description="Profile description", Name="Description")
    String? Description;

    /**
    * Employment Industry
    */
    // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry")
    String? EmploymentIndustry;

    /**
    * Employment Role
    */
    // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole")
    String? EmploymentRole;

    /**
    * Areas of Work
    */
    // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea")
    String? EmploymentGeographicArea;

    /**
    * Timezone Name
    */
    // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query")
    String? TimezoneName;

    /**
    * The primary address of the contact
    */
    // @ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query")
    String? PrimaryAddress;

    /**
    * Have all connections to the contact been removed?
    */
    // @ApiMember(DataType="bool", Description="Have all connections to the contact been removed?", Name="IsRemovedContact")
    bool? IsRemovedContact;

    ContactSummaryModel({this.ContactId,this.ContactFullName,this.EmailAddress,this.MobileNumber,this.PhoneNumber,this.ContactTypeId,this.ProfilePhotoUrl,this.ProfilePhotoThumbnailUrl,this.Description,this.EmploymentIndustry,this.EmploymentRole,this.EmploymentGeographicArea,this.TimezoneName,this.PrimaryAddress,this.IsRemovedContact});
    ContactSummaryModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactId = json['ContactId'];
        ContactFullName = json['ContactFullName'];
        EmailAddress = json['EmailAddress'];
        MobileNumber = json['MobileNumber'];
        PhoneNumber = json['PhoneNumber'];
        ContactTypeId = json['ContactTypeId'];
        ProfilePhotoUrl = json['ProfilePhotoUrl'];
        ProfilePhotoThumbnailUrl = json['ProfilePhotoThumbnailUrl'];
        Description = json['Description'];
        EmploymentIndustry = json['EmploymentIndustry'];
        EmploymentRole = json['EmploymentRole'];
        EmploymentGeographicArea = json['EmploymentGeographicArea'];
        TimezoneName = json['TimezoneName'];
        PrimaryAddress = json['PrimaryAddress'];
        IsRemovedContact = json['IsRemovedContact'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactId': ContactId,
        'ContactFullName': ContactFullName,
        'EmailAddress': EmailAddress,
        'MobileNumber': MobileNumber,
        'PhoneNumber': PhoneNumber,
        'ContactTypeId': ContactTypeId,
        'ProfilePhotoUrl': ProfilePhotoUrl,
        'ProfilePhotoThumbnailUrl': ProfilePhotoThumbnailUrl,
        'Description': Description,
        'EmploymentIndustry': EmploymentIndustry,
        'EmploymentRole': EmploymentRole,
        'EmploymentGeographicArea': EmploymentGeographicArea,
        'TimezoneName': TimezoneName,
        'PrimaryAddress': PrimaryAddress,
        'IsRemovedContact': IsRemovedContact
    };

    getTypeName() => "ContactSummaryModel";
    TypeContext? context = _ctx;
}

class ObjectContactConnectionModel implements IConvertible
{
    String? ObjectContactConnectionId;
    String? ContactRoleConnectionId;
    String? ObjectId;
    ContactSummaryModel? Contact;
    String? RoleId;
    String? RoleName;
    DateTime? Created;

    ObjectContactConnectionModel({this.ObjectContactConnectionId,this.ContactRoleConnectionId,this.ObjectId,this.Contact,this.RoleId,this.RoleName,this.Created});
    ObjectContactConnectionModel.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ObjectContactConnectionId = json['ObjectContactConnectionId'];
        ContactRoleConnectionId = json['ContactRoleConnectionId'];
        ObjectId = json['ObjectId'];
        Contact = JsonConverters.fromJson(json['Contact'],'ContactSummaryModel',context!);
        RoleId = json['RoleId'];
        RoleName = json['RoleName'];
        Created = JsonConverters.fromJson(json['Created'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ObjectContactConnectionId': ObjectContactConnectionId,
        'ContactRoleConnectionId': ContactRoleConnectionId,
        'ObjectId': ObjectId,
        'Contact': JsonConverters.toJson(Contact,'ContactSummaryModel',context!),
        'RoleId': RoleId,
        'RoleName': RoleName,
        'Created': JsonConverters.toJson(Created,'DateTime',context!)
    };

    getTypeName() => "ObjectContactConnectionModel";
    TypeContext? context = _ctx;
}

// @ApiResponse(Description="Returns the contact connections for the specified object.")
class GetObjectContactConnectionsResponse implements IConvertible
{
    List<ObjectContactConnectionModel>? ContactConnections;
    ResponseStatus? ResponseStatus;

    GetObjectContactConnectionsResponse({this.ContactConnections,this.ResponseStatus});
    GetObjectContactConnectionsResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ContactConnections = JsonConverters.fromJson(json['ContactConnections'],'List<ObjectContactConnectionModel>',context!);
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ContactConnections': JsonConverters.toJson(ContactConnections,'List<ObjectContactConnectionModel>',context!),
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetObjectContactConnectionsResponse";
    TypeContext? context = _ctx;
}

/**
* Get contact connections for the specified object.
*/
// @Api(Description="Get contact connections for the specified object.")
class GetObjectContactConnections implements IConvertible
{
    /**
    * Object Id to get contact connections for
    */
    // @ApiMember(DataType="Guid", Description="Object Id to get contact connections for", IsRequired=true, Name="ObjectId")
    String? ObjectId;

    GetObjectContactConnections({this.ObjectId});
    GetObjectContactConnections.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ObjectId = json['ObjectId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ObjectId': ObjectId
    };

    getTypeName() => "GetObjectContactConnections";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: <String, TypeInfo> {
    'ContactSummaryModel': TypeInfo(TypeOf.Class, create:() => ContactSummaryModel()),
    'ObjectContactConnectionModel': TypeInfo(TypeOf.Class, create:() => ObjectContactConnectionModel()),
    'GetObjectContactConnectionsResponse': TypeInfo(TypeOf.Class, create:() => GetObjectContactConnectionsResponse()),
    'List<ObjectContactConnectionModel>': TypeInfo(TypeOf.Class, create:() => <ObjectContactConnectionModel>[]),
    'GetObjectContactConnections': TypeInfo(TypeOf.Class, create:() => GetObjectContactConnections()),
});

Dart GetObjectContactConnections DTOs

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

HTTP + OTHER

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

GET /api/objects/{ObjectId}/contactconnections HTTP/1.1 
Host: pfapi.pstpf.com.au 
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ContactConnections":[{"ObjectContactConnectionId":"00000000-0000-0000-0000-000000000000","ContactRoleConnectionId":"00000000-0000-0000-0000-000000000000","ObjectId":"00000000-0000-0000-0000-000000000000","Contact":{"ContactId":"00000000-0000-0000-0000-000000000000","ContactFullName":"String","EmailAddress":"String","MobileNumber":"String","PhoneNumber":"String","ContactTypeId":"00000000-0000-0000-0000-000000000000","ProfilePhotoUrl":"String","ProfilePhotoThumbnailUrl":"String","Description":"String","EmploymentIndustry":"String","EmploymentRole":"String","EmploymentGeographicArea":"String","TimezoneName":"String","PrimaryAddress":"String","IsRemovedContact":false},"RoleId":"00000000-0000-0000-0000-000000000000","RoleName":"String","Created":"0001-01-01T00:00:00.0000000"}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}