kakaowork.models module

class kakaowork.models.BaseReactiveBody(*, type: ReactiveType, action_time: str, message: MessageField, value: str)

Bases: BaseModel, ABC

class Config

Bases: object

json_encoders = {<class 'datetime.datetime'>: <function BaseReactiveBody.Config.<lambda>>}
validate_assignment = True
action_time: str
message: MessageField
type: ReactiveType
value: str
class kakaowork.models.BaseResponse(*, success: bool = True, error: ErrorField = None)

Bases: BaseModel, ABC

class Config

Bases: object

json_encoders = {<class 'datetime.datetime'>: <function BaseResponse.Config.<lambda>>}
validate_assignment = True
error: Optional[ErrorField]
plain() str
success: bool
class kakaowork.models.BotField(*, bot_id: int, title: str, status: BotStatus)

Bases: BaseModel

bot_id: int
status: BotStatus
title: str
class kakaowork.models.BotResponse(*, success: bool = True, error: ErrorField = None, info: BotField = None)

Bases: BaseResponse

info: Optional[BotField]
plain() str
class kakaowork.models.BotStatus(value)

Bases: StrEnum

An enumeration.

ACTIVATED = 'activated'
DEACTIVATED = 'deactivated'
class kakaowork.models.ColorTone(value)

Bases: StrEnum

An enumeration.

DARK = 'dark'
LIGHT = 'light'
class kakaowork.models.ConversationField(*, id: str, type: ConversationType, users_count: int, avatar_url: str = None, name: str = None)

Bases: BaseModel

avatar_url: Optional[str]
id: str
name: Optional[str]
type: ConversationType
users_count: int
class kakaowork.models.ConversationListResponse(*, success: bool = True, error: ErrorField = None, cursor: str = None, conversations: List[ConversationField] = None)

Bases: BaseResponse

conversations: Optional[List[ConversationField]]
cursor: Optional[str]
plain() str
class kakaowork.models.ConversationResponse(*, success: bool = True, error: ErrorField = None, conversation: ConversationField = None)

Bases: BaseResponse

conversation: Optional[ConversationField]
plain() str
class kakaowork.models.ConversationType(value)

Bases: StrEnum

An enumeration.

DM = 'dm'
GROUP = 'group'
class kakaowork.models.DepartmentField(*, id: str, ids_path: str, parent_id: str, space_id: str, name: str, code: str, user_count: int, has_child: bool = None, depth: int = None, users_ids: List[int] = None, leader_ids: List[int] = None, ancestry: str = None)

Bases: BaseModel

ancestry: Optional[str]
code: str
depth: Optional[int]
has_child: Optional[bool]
id: str
ids_path: str
leader_ids: Optional[List[int]]
name: str
parent_id: str
space_id: str
user_count: int
users_ids: Optional[List[int]]
class kakaowork.models.DepartmentListResponse(*, success: bool = True, error: ErrorField = None, cursor: str = None, departments: List[DepartmentField] = None)

Bases: BaseResponse

cursor: Optional[str]
departments: Optional[List[DepartmentField]]
plain() str
class kakaowork.models.ErrorCode(value)

Bases: StrEnum

An enumeration.

API_NOT_FOUND = 'api_not_found'
BAD_REQUEST = 'bad_request'
CONVERSATION_NOT_FOUND = 'conversation_not_found'
EXPIRED_AUTHENTICATION = 'expired_authentication'
INTERNAL_SERVER_ERROR = 'internal_server_error'
INVALID_AUTHENTICATION = 'invalid_authentication'
INVALID_BLOCKS = 'invalid_blocks'
INVALID_CONTENT_TYPE = 'invalid_content_type'
INVALID_PARAMETER = 'invalid_parameter'
INVALID_REPRESENTATION = 'invalid_representation'
MISSING_PARAMETER = 'missing_parameter'
TEXT_TOO_LONG = 'text_too_long'
TOO_MANY_REQUESTS = 'too_many_requests'
UNAUTHORIZED = 'unauthorized'
UNKNOWN = 'unknown'
USER_NOT_FOUND = 'user_not_found'
class kakaowork.models.ErrorField(*, code: ErrorCode, message: str)

Bases: BaseModel

code: ErrorCode
message: str
class kakaowork.models.MessageField(*, send_time: Optional[Union[datetime, int, str]] = None, update_time: Optional[Union[datetime, int, str]] = None, blocks: Optional[List[Union[Block, Dict]]] = None, id: str, text: str, user_id: str, conversation_id: int)

Bases: BaseModel

class Config

Bases: object

json_encoders = {<class 'datetime.datetime'>: <function MessageField.Config.<lambda>>}
blocks: Optional[List[Block]]
conversation_id: int
id: str
send_time: datetime
text: str
update_time: datetime
user_id: str
class kakaowork.models.MessageResponse(*, success: bool = True, error: ErrorField = None, message: MessageField = None)

Bases: BaseResponse

message: Optional[MessageField]
plain()
class kakaowork.models.ModalReactiveView(*, blocks: Optional[List[Union[Block, Dict]]] = None, title: str, accept: str, decline: str, value: str)

Bases: BaseModel

accept: str
blocks: List[Block]
decline: str
title: str
value: str
class kakaowork.models.ProfileNameFormat(value)

Bases: StrEnum

An enumeration.

NAME_NICKNAME = 'name_nickname'
NAME_ONLY = 'name_only'
NICKNAME_NAME = 'nickname_name'
class kakaowork.models.ProfilePositionFormat(value)

Bases: StrEnum

An enumeration.

POSITION = 'position'
RESPONSIBILITY = 'responsibility'
class kakaowork.models.ReactiveType(value)

Bases: StrEnum

An enumeration.

REQUEST_MODAL = 'request_modal'
SUBMIT_ACTION = 'submit_action'
SUBMIT_MODAL = 'submission'
class kakaowork.models.RequestModalReactiveBody(*, type: ReactiveType, action_time: str, message: MessageField, value: str, react_user_id: int)

Bases: BaseReactiveBody

react_user_id: int
class kakaowork.models.RequestModalReactiveResponse(*, view: ModalReactiveView)

Bases: BaseModel

view: ModalReactiveView
class kakaowork.models.SpaceField(*, id: int, kakaoi_org_id: int, name: str, color_code: str, color_tone: ColorTone, permitted_ext: List[str], profile_name_format: ProfileNameFormat, profile_position_format: ProfilePositionFormat, logo_url: str)

Bases: BaseModel

color_code: str
color_tone: ColorTone
id: int
kakaoi_org_id: int
logo_url: str
name: str
permitted_ext: List[str]
profile_name_format: ProfileNameFormat
profile_position_format: ProfilePositionFormat
class kakaowork.models.SpaceResponse(*, success: bool = True, error: ErrorField = None, space: SpaceField = None)

Bases: BaseResponse

plain() str
space: Optional[SpaceField]
class kakaowork.models.SubmitActionReactiveBody(*, type: ReactiveType, action_time: str, message: MessageField, value: str, action_name: str, react_user_id: int)

Bases: BaseReactiveBody

action_name: str
react_user_id: int
class kakaowork.models.SubmitModalReactiveBody(*, type: ReactiveType, action_time: str, message: MessageField, value: str, actions: Dict[str, Any], react_user_id: int)

Bases: BaseReactiveBody

actions: Dict[str, Any]
react_user_id: int
class kakaowork.models.UserField(*, work_start_time: Optional[Union[datetime, int, str]] = None, work_end_time: Optional[Union[datetime, int, str]] = None, vacation_start_time: Optional[Union[datetime, int, str]] = None, vacation_end_time: Optional[Union[datetime, int, str]] = None, id: str, space_id: str, name: str, display_name: str = None, identifications: List[UserIdentificationField] = None, nickname: str = None, avatar_url: str = None, department: str = None, position: str = None, responsibility: str = None, tels: List[str] = None, mobiles: List[str] = None)

Bases: BaseModel

class Config

Bases: object

json_encoders = {<class 'datetime.datetime'>: <function UserField.Config.<lambda>>}
avatar_url: Optional[str]
department: Optional[str]
display_name: Optional[str]
id: str
identifications: Optional[List[UserIdentificationField]]
mobiles: Optional[List[str]]
name: str
nickname: Optional[str]
position: Optional[str]
responsibility: Optional[str]
space_id: str
tels: Optional[List[str]]
vacation_end_time: Optional[datetime]
vacation_start_time: Optional[datetime]
work_end_time: Optional[datetime]
work_start_time: Optional[datetime]
class kakaowork.models.UserIdentificationField(*, type: str, value: str)

Bases: BaseModel

type: str
value: str
class kakaowork.models.UserListResponse(*, success: bool = True, error: ErrorField = None, cursor: str = None, users: List[UserField] = None)

Bases: BaseResponse

cursor: Optional[str]
plain() str
users: Optional[List[UserField]]
class kakaowork.models.UserResponse(*, success: bool = True, error: ErrorField = None, user: UserField = None)

Bases: BaseResponse

plain() str
user: Optional[UserField]
class kakaowork.models.VacationTimeField(*, vacation_start_time: Optional[Union[datetime, int, str]] = None, vacation_end_time: Optional[Union[datetime, int, str]] = None, user_id: int)

Bases: BaseModel

class Config

Bases: object

json_encoders = {<class 'datetime.datetime'>: <function VacationTimeField.Config.<lambda>>}
user_id: int
vacation_end_time: datetime
vacation_start_time: datetime
class kakaowork.models.WorkTimeField(*, work_start_time: Optional[Union[datetime, int, str]] = None, work_end_time: Optional[Union[datetime, int, str]] = None, user_id: int)

Bases: BaseModel

class Config

Bases: object

json_encoders = {<class 'datetime.datetime'>: <function WorkTimeField.Config.<lambda>>}
user_id: int
work_end_time: datetime
work_start_time: datetime