BokaMera.API.Host

<back to all web services

DeleteMessageTemplate

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
DELETE/messages/templates/{Id}Delete an existing company message templatesDelete an existing company message templates.
import 'package:servicestack/servicestack.dart';

class MessageTypeQueryResponse implements IConvertible
{
    /**
    * The message type id
    */
    // @ApiMember(Description="The message type id")
    int? Id;

    /**
    * The message type name.
    */
    // @ApiMember(Description="The message type name.")
    String? Name;

    /**
    * The message type description.
    */
    // @ApiMember(Description="The message type description.")
    String? Description;

    /**
    * The maximum number of charachters that can be entered into message body using this type.
    */
    // @ApiMember(Description="The maximum number of charachters that can be entered into message body using this type.")
    int? MaxCharacters;

    /**
    * The default text that is always included when sending messages of this type.
    */
    // @ApiMember(Description="The default text that is always included when sending messages of this type.")
    String? DefaultText;

    /**
    * The send method for this type. 1 = Email, 2 = SMS.
    */
    // @ApiMember(Description="The send method for this type. 1 = Email, 2 = SMS.")
    int? SendMethodId;

    MessageTypeQueryResponse({this.Id,this.Name,this.Description,this.MaxCharacters,this.DefaultText,this.SendMethodId});
    MessageTypeQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Description = json['Description'];
        MaxCharacters = json['MaxCharacters'];
        DefaultText = json['DefaultText'];
        SendMethodId = json['SendMethodId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Description': Description,
        'MaxCharacters': MaxCharacters,
        'DefaultText': DefaultText,
        'SendMethodId': SendMethodId
    };

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

class MessageServices implements IConvertible
{
    int? Id;
    /**
    * Name of the service
    */
    // @ApiMember(Description="Name of the service")
    String? Name;

    /**
    * The image url of the service
    */
    // @ApiMember(Description="The image url of the service")
    Uri? ImageUrl;

    MessageServices({this.Id,this.Name,this.ImageUrl});
    MessageServices.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!)
    };

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

class MessageTemplatesQueryResponse implements IConvertible
{
    /**
    * The message template id
    */
    // @ApiMember(Description="The message template id")
    int? Id;

    /**
    * The message template name.
    */
    // @ApiMember(Description="The message template name.")
    String? Name;

    /**
    * The message template title.
    */
    // @ApiMember(Description="The message template title.")
    String? Title;

    /**
    * The message template title.
    */
    // @ApiMember(Description="The message template title.")
    String? Body;

    /**
    * The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).
    */
    // @ApiMember(Description="The message template sender (an email for message types with sendmethod 1, for SMS this cannot be set).")
    String? Sender;

    /**
    * If the message template is the default message currently in use.
    */
    // @ApiMember(Description="If the message template is the default message currently in use.")
    bool? Default;

    /**
    * If the message type information.
    */
    // @ApiMember(Description="If the message type information.")
    MessageTypeQueryResponse? MessageType;

    /**
    * Template language.
    */
    // @ApiMember(Description="Template language.")
    String? Language;

    /**
    * The connected services which the template is valid for. If empty then it's valid for all services.
    */
    // @ApiMember(Description="The connected services which the template is valid for. If empty then it's valid for all services.")
    List<MessageServices>? Services;

    MessageTemplatesQueryResponse({this.Id,this.Name,this.Title,this.Body,this.Sender,this.Default,this.MessageType,this.Language,this.Services});
    MessageTemplatesQueryResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Name = json['Name'];
        Title = json['Title'];
        Body = json['Body'];
        Sender = json['Sender'];
        Default = json['Default'];
        MessageType = JsonConverters.fromJson(json['MessageType'],'MessageTypeQueryResponse',context!);
        Language = json['Language'];
        Services = JsonConverters.fromJson(json['Services'],'List<MessageServices>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Name': Name,
        'Title': Title,
        'Body': Body,
        'Sender': Sender,
        'Default': Default,
        'MessageType': JsonConverters.toJson(MessageType,'MessageTypeQueryResponse',context!),
        'Language': Language,
        'Services': JsonConverters.toJson(Services,'List<MessageServices>',context!)
    };

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

// @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ValidateRequest(Validator="IsAuthenticated")
class DeleteMessageTemplate implements ICompany, IConvertible
{
    /**
    * The company id, if empty will use the company id for the user you are logged in with.
    */
    // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    String? CompanyId;

    /**
    * The message template id.
    */
    // @ApiMember(Description="The message template id.", IsRequired=true, ParameterType="path")
    int? Id;

    DeleteMessageTemplate({this.CompanyId,this.Id});
    DeleteMessageTemplate.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
    'MessageTypeQueryResponse': TypeInfo(TypeOf.Class, create:() => MessageTypeQueryResponse()),
    'MessageServices': TypeInfo(TypeOf.Class, create:() => MessageServices()),
    'Uri': TypeInfo(TypeOf.Class, create:() => Uri()),
    'MessageTemplatesQueryResponse': TypeInfo(TypeOf.Class, create:() => MessageTemplatesQueryResponse()),
    'List<MessageServices>': TypeInfo(TypeOf.Class, create:() => <MessageServices>[]),
    'DeleteMessageTemplate': TypeInfo(TypeOf.Class, create:() => DeleteMessageTemplate()),
});

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

DELETE /messages/templates/{Id} HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: 0,
	Name: String,
	Title: String,
	Body: String,
	Sender: String,
	Default: False,
	MessageType: 
	{
		Id: 0,
		Name: String,
		Description: String,
		MaxCharacters: 0,
		DefaultText: String,
		SendMethodId: 0
	},
	Language: String,
	Services: 
	[
		{
			Id: 0,
			Name: String
		}
	]
}