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.
import Foundation
import ServiceStack

// @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")
public class SetHomepageWidgetConfiguration : ICompany, Codable
{
    /**
    * 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.")
    public var companyId:String?

    /**
    * The widget configuration id (6-character NanoID).
    */
    // @ApiMember(Description="The widget configuration id (6-character NanoID).", IsRequired=true, ParameterType="path")
    public var id:String

    required public init(){}
}

public class WidgetConfigurationResponse : Codable
{
    public var id:String
    public var companyId:String
    public var name:String
    public var slug:String
    public var Description:String
    public var configuration:String
    public var schemaVersion:Int
    public var isHomepageDefault:Bool
    public var createdDate:Date
    public var updatedDate:Date?
    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift 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
		}
	}
}