Support.WebApi

<back to all web services

SendChatMessage

The following routes are available for this service:
POST/support/chat/send
import 'package:servicestack/servicestack.dart';

class SendChatMessage implements IConvertible
{
    String? senderId;
    String? displayName;
    Map<String,dynamic?>? payload;
    String? channel;

    SendChatMessage({this.senderId,this.displayName,this.payload,this.channel});
    SendChatMessage.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        senderId = json['senderId'];
        displayName = json['displayName'];
        payload = JsonConverters.fromJson(json['payload'],'Map<String,dynamic?>',context!);
        channel = json['channel'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'senderId': senderId,
        'displayName': displayName,
        'payload': JsonConverters.toJson(payload,'Map<String,dynamic?>',context!),
        'channel': channel
    };

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

TypeContext _ctx = TypeContext(library: 'support.bettor_dual_stage.webhop.biz', types: <String, TypeInfo> {
    'SendChatMessage': TypeInfo(TypeOf.Class, create:() => SendChatMessage()),
    'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
});

Dart SendChatMessage 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/chat/send HTTP/1.1 
Host: support.bettor-dual-stage.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	senderId: String,
	displayName: String,
	payload: 
	{
		String: {}
	},
	channel: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	errorCode: String,
	message: String,
	stackTrace: String,
	errors: 
	[
		{
			errorCode: String,
			fieldName: String,
			message: String,
			meta: 
			{
				String: String
			}
		}
	],
	meta: 
	{
		String: String
	}
}