BokaMera.API.Host

<back to all web services

CreateAxemaUserSync

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
POST/codelock/axema/usersyncStart a sync of users from the Axema Vaka system into BokaMera customersThis operation runs in the background and may take several minutes. Use the GET endpoint to check status. Only one sync can run at a time per company.
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
Object = TypeVar('Object')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AxemaUserSyncJobResponse:
    id: Optional[str] = None
    company_id: Optional[str] = None
    status: int = 0
    status_name: Optional[str] = None
    users_found: Optional[int] = None
    users_created: Optional[int] = None
    users_updated: Optional[int] = None
    error_message: Optional[str] = None
    created_date: datetime.datetime = datetime.datetime(1, 1, 1)
    updated_date: datetime.datetime = datetime.datetime(1, 1, 1)


# @ValidateRequest(Validator="IsAuthenticated")
# @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
# @ApiResponse(Description="You have too low privileges to call this service", StatusCode=403)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CreateAxemaUserSync(ICompany):
    # @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
    company_id: Optional[str] = None
    """
    The company id, if empty will use the company id for the user you are logged in with.
    """

Python CreateAxemaUserSync 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 /codelock/axema/usersync HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

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

{
	Status: 0,
	StatusName: String,
	UsersFound: 0,
	UsersCreated: 0,
	UsersUpdated: 0,
	ErrorMessage: String
}