BokaMera.API.Host

<back to all web services

SetHomepageWidgetConfiguration

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/widget/configuration/{Id}/sethomepageSet a widget configuration as the homepage defaultMakes the supplied configuration the company's homepage default and removes the flag from the previous one. Slugs are left unchanged. Calling it on the current homepage default is a no-op success.
namespace BokaMera.API.ServiceModel.Dtos

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type WidgetConfigurationResponse() = 
        member val Id:String = null with get,set
        member val CompanyId:Guid = new Guid() with get,set
        member val Name:String = null with get,set
        member val Slug:String = null with get,set
        member val Description:String = null with get,set
        member val Configuration:String = null with get,set
        member val SchemaVersion:Int32 = new Int32() with get,set
        member val IsHomepageDefault:Boolean = new Boolean() with get,set
        member val CreatedDate:DateTime = new DateTime() with get,set
        member val UpdatedDate:Nullable<DateTimeOffset> = new Nullable<DateTimeOffset>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<ApiResponse(Description="Returned if there is a validation error on the input parameters", StatusCode=400)>]
    [<ApiResponse(Description="Returned if the configuration was not found", StatusCode=404)>]
    [<ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type SetHomepageWidgetConfiguration() = 
        ///<summary>
        ///The company id, if empty will use the company id for the user you are logged in with.
        ///</summary>
        [<ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")>]
        member val CompanyId:Nullable<Guid> = new Nullable<Guid>() with get,set

        ///<summary>
        ///The widget configuration id (6-character NanoID).
        ///</summary>
        [<ApiMember(Description="The widget configuration id (6-character NanoID).", IsRequired=true, ParameterType="path")>]
        member val Id:String = null with get,set

F# SetHomepageWidgetConfiguration 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.

PUT /widget/configuration/{Id}/sethomepage HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	Id: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Id: String,
	Name: String,
	Slug: String,
	Description: String,
	Configuration: String,
	SchemaVersion: 0,
	IsHomepageDefault: False,
	UpdatedDate: 0001-01-01T00:00:00.0000000+00:00,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}