Evo Voice

<back to all web services

GetMyContacts

Gets the contacts associated with the authenticated user

Requires Authentication
Required role:User
The following routes are available for this service:
GET/app/contacts
import 'package:servicestack/servicestack.dart';

enum AppContactTypes
{
    User,
    Team,
    Contact,
}

class AppContact implements IConvertible
{
    String? displayName;
    String? address;
    AppContactTypes? type;
    String? customerName;
    bool? canCall;
    bool? canChat;

    AppContact({this.displayName,this.address,this.type,this.customerName,this.canCall,this.canChat});
    AppContact.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        displayName = json['displayName'];
        address = json['address'];
        type = JsonConverters.fromJson(json['type'],'AppContactTypes',context!);
        customerName = json['customerName'];
        canCall = json['canCall'];
        canChat = json['canChat'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'displayName': displayName,
        'address': address,
        'type': JsonConverters.toJson(type,'AppContactTypes',context!),
        'customerName': customerName,
        'canCall': canCall,
        'canChat': canChat
    };

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

class GetMyContactsResponse implements IConvertible
{
    List<AppContact>? contacts;

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

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

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

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

/**
* Gets the contacts associated with the authenticated user
*/
// @Api(Description="Gets the contacts associated with the authenticated user")
class GetMyContacts implements IConvertible
{
    GetMyContacts();
    GetMyContacts.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "GetMyContacts";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'evovoice.io', types: <String, TypeInfo> {
    'AppContactTypes': TypeInfo(TypeOf.Enum, enumValues:AppContactTypes.values),
    'AppContact': TypeInfo(TypeOf.Class, create:() => AppContact()),
    'GetMyContactsResponse': TypeInfo(TypeOf.Class, create:() => GetMyContactsResponse()),
    'List<AppContact>': TypeInfo(TypeOf.Class, create:() => <AppContact>[]),
    'GetMyContacts': TypeInfo(TypeOf.Class, create:() => GetMyContacts()),
});

Dart GetMyContacts 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.

GET /app/contacts HTTP/1.1 
Host: evovoice.io 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"contacts":[{"displayName":"String","address":"String","type":"User","customerName":"String","canCall":false,"canChat":false}]}