Required role: | User |
GET | /app/contacts |
---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
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: 'team.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()),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
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: team.evovoice.io Accept: application/xml
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <GetMyContactsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.App"> <Contacts> <AppContact> <Address>String</Address> <CanCall>false</CanCall> <CanChat>false</CanChat> <CustomerName>String</CustomerName> <DisplayName>String</DisplayName> <Type>User</Type> </AppContact> </Contacts> </GetMyContactsResponse>