TicketUserServices

<back to all web services

SupportCustomerSearchRequest

Requires Authentication
Requires the role:AdminRequires the permission:ReadData
The following routes are available for this service:
POST/Support/CustomerSearch
import 'package:servicestack/servicestack.dart';

class SupportCustomerHit implements IConvertible
{
    String? phone;
    String? email;
    String? name;
    int? ticketCount;
    int? ownerCardCount;
    int? webshopOrderCount;
    int? giftCardCount;
    int? sharedLinkCount;
    DateTime? lastActivityUtc;
    List<String>? sellers;
    String? matchedBy;

    SupportCustomerHit({this.phone,this.email,this.name,this.ticketCount,this.ownerCardCount,this.webshopOrderCount,this.giftCardCount,this.sharedLinkCount,this.lastActivityUtc,this.sellers,this.matchedBy});
    SupportCustomerHit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        phone = json['phone'];
        email = json['email'];
        name = json['name'];
        ticketCount = json['ticketCount'];
        ownerCardCount = json['ownerCardCount'];
        webshopOrderCount = json['webshopOrderCount'];
        giftCardCount = json['giftCardCount'];
        sharedLinkCount = json['sharedLinkCount'];
        lastActivityUtc = JsonConverters.fromJson(json['lastActivityUtc'],'DateTime',context!);
        sellers = JsonConverters.fromJson(json['sellers'],'List<String>',context!);
        matchedBy = json['matchedBy'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'phone': phone,
        'email': email,
        'name': name,
        'ticketCount': ticketCount,
        'ownerCardCount': ownerCardCount,
        'webshopOrderCount': webshopOrderCount,
        'giftCardCount': giftCardCount,
        'sharedLinkCount': sharedLinkCount,
        'lastActivityUtc': JsonConverters.toJson(lastActivityUtc,'DateTime',context!),
        'sellers': JsonConverters.toJson(sellers,'List<String>',context!),
        'matchedBy': matchedBy
    };

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

class SupportCustomerSearchResult implements IConvertible
{
    List<SupportCustomerHit>? hits;
    String? termKind;
    String? normalizedTerm;
    List<String>? warnings;
    int? statusCode;
    String? message;

    SupportCustomerSearchResult({this.hits,this.termKind,this.normalizedTerm,this.warnings,this.statusCode,this.message});
    SupportCustomerSearchResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hits = JsonConverters.fromJson(json['hits'],'List<SupportCustomerHit>',context!);
        termKind = json['termKind'];
        normalizedTerm = json['normalizedTerm'];
        warnings = JsonConverters.fromJson(json['warnings'],'List<String>',context!);
        statusCode = json['statusCode'];
        message = json['message'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hits': JsonConverters.toJson(hits,'List<SupportCustomerHit>',context!),
        'termKind': termKind,
        'normalizedTerm': normalizedTerm,
        'warnings': JsonConverters.toJson(warnings,'List<String>',context!),
        'statusCode': statusCode,
        'message': message
    };

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

class SupportCustomerSearchRequest implements IConvertible
{
    String? term;
    int? limit;

    SupportCustomerSearchRequest({this.term,this.limit});
    SupportCustomerSearchRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: <String, TypeInfo> {
    'SupportCustomerHit': TypeInfo(TypeOf.Class, create:() => SupportCustomerHit()),
    'SupportCustomerSearchResult': TypeInfo(TypeOf.Class, create:() => SupportCustomerSearchResult()),
    'List<SupportCustomerHit>': TypeInfo(TypeOf.Class, create:() => <SupportCustomerHit>[]),
    'SupportCustomerSearchRequest': TypeInfo(TypeOf.Class, create:() => SupportCustomerSearchRequest()),
});

Dart SupportCustomerSearchRequest 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 /Support/CustomerSearch HTTP/1.1 
Host: stubbur-app.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	term: String,
	limit: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	hits: 
	[
		{
			phone: String,
			email: String,
			name: String,
			ticketCount: 0,
			ownerCardCount: 0,
			webshopOrderCount: 0,
			giftCardCount: 0,
			sharedLinkCount: 0,
			lastActivityUtc: 0001-01-01,
			sellers: 
			[
				String
			],
			matchedBy: String
		}
	],
	termKind: String,
	normalizedTerm: String,
	warnings: 
	[
		String
	],
	statusCode: 0,
	message: String
}