Client API¶
kwork_api.client.KworkClient ¶
KworkClient(
token=None, cookies=None, timeout=30.0, base_url=None
)
Kwork.ru API client.
Usage
Login with credentials¶
client = await KworkClient.login("username", "password")
Or restore from token¶
client = KworkClient(token="your_web_auth_token")
Make requests¶
catalog = await client.catalog.get_list(page=1)
Initialize client.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
token
|
Optional[str]
|
Web auth token (from getWebAuthToken) |
None
|
cookies
|
Optional[dict[str, str]]
|
Session cookies (optional, will be set from token) |
None
|
timeout
|
float
|
Request timeout in seconds |
30.0
|
base_url
|
Optional[str]
|
Custom base URL (for testing) |
None
|
Source code in src/kwork_api/client.py
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | |
Attributes¶
Classes¶
CatalogAPI ¶
CatalogAPI(client)
Catalog/Kworks API endpoints.
Source code in src/kwork_api/client.py
266 267 | |
Functions¶
get_details
async
¶
get_details(kwork_id)
Get kwork details.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kwork_id
|
int
|
Kwork ID |
required |
Returns:
| Type | Description |
|---|---|
KworkDetails
|
KworkDetails with full information |
Source code in src/kwork_api/client.py
297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 | |
get_details_extra
async
¶
get_details_extra(kwork_id)
Get additional kwork details.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
kwork_id
|
int
|
Kwork ID |
required |
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
Extra details dict |
Source code in src/kwork_api/client.py
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | |
get_list
async
¶
get_list(page=1, category_id=None, sort='recommend')
Get kworks catalog.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
page
|
int
|
Page number |
1
|
category_id
|
Optional[int]
|
Category filter |
None
|
sort
|
str
|
Sort option (recommend, price_asc, price_desc, etc.) |
'recommend'
|
Returns:
| Type | Description |
|---|---|
CatalogResponse
|
CatalogResponse with kworks and pagination |
Source code in src/kwork_api/client.py
269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 | |
NotificationsAPI ¶
NotificationsAPI(client)
Notifications and messages endpoints.
Source code in src/kwork_api/client.py
475 476 | |
Functions¶
fetch
async
¶
fetch()
Fetch new notifications.
Source code in src/kwork_api/client.py
483 484 485 486 | |
get_blocked_dialogs
async
¶
get_blocked_dialogs()
Get blocked dialogs.
Source code in src/kwork_api/client.py
493 494 495 496 | |
get_dialogs
async
¶
get_dialogs()
Get dialogs list.
Source code in src/kwork_api/client.py
488 489 490 491 | |
get_list
async
¶
get_list()
Get notifications list.
Source code in src/kwork_api/client.py
478 479 480 481 | |
OtherAPI ¶
OtherAPI(client)
Other API endpoints.
Source code in src/kwork_api/client.py
503 504 | |
Functions¶
get_actor
async
¶
get_actor()
Get actor info.
Source code in src/kwork_api/client.py
565 566 567 | |
get_channel
async
¶
get_channel()
Get channel info.
Source code in src/kwork_api/client.py
526 527 528 | |
get_exchange_info
async
¶
get_exchange_info()
Get exchange info.
Source code in src/kwork_api/client.py
522 523 524 | |
get_favorite_categories
async
¶
get_favorite_categories()
Get favorite categories.
Source code in src/kwork_api/client.py
552 553 554 555 | |
get_in_app_notification
async
¶
get_in_app_notification()
Get in-app notification.
Source code in src/kwork_api/client.py
530 531 532 | |
get_kworks_status
async
¶
get_kworks_status()
Get kworks status.
Source code in src/kwork_api/client.py
514 515 516 | |
get_offers
async
¶
get_offers()
Get offers.
Source code in src/kwork_api/client.py
518 519 520 | |
get_security_user_data
async
¶
get_security_user_data()
Get security user data.
Source code in src/kwork_api/client.py
534 535 536 | |
get_viewed_kworks
async
¶
get_viewed_kworks()
Get viewed kworks.
Source code in src/kwork_api/client.py
547 548 549 550 | |
get_wants
async
¶
get_wants()
Get user wants.
Source code in src/kwork_api/client.py
506 507 508 | |
get_wants_status
async
¶
get_wants_status()
Get wants status.
Source code in src/kwork_api/client.py
510 511 512 | |
go_offline
async
¶
go_offline()
Set user status to offline.
Source code in src/kwork_api/client.py
561 562 563 | |
is_dialog_allow
async
¶
is_dialog_allow(user_id)
Check if dialog is allowed.
Source code in src/kwork_api/client.py
538 539 540 541 542 543 544 545 | |
update_settings
async
¶
update_settings(settings)
Update user settings.
Source code in src/kwork_api/client.py
557 558 559 | |
ProjectsAPI ¶
ProjectsAPI(client)
Projects (freelance orders) API endpoints.
Source code in src/kwork_api/client.py
335 336 | |
Functions¶
get_list
async
¶
get_list(page=1, category_id=None)
Get projects list.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
page
|
int
|
Page number |
1
|
category_id
|
Optional[int]
|
Category filter |
None
|
Returns:
| Type | Description |
|---|---|
ProjectsResponse
|
ProjectsResponse with projects and pagination |
Source code in src/kwork_api/client.py
338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | |
get_payer_orders
async
¶
get_payer_orders()
Get orders where user is customer.
Returns:
| Type | Description |
|---|---|
list[Project]
|
List of projects |
Source code in src/kwork_api/client.py
363 364 365 366 367 368 369 370 371 | |
get_worker_orders
async
¶
get_worker_orders()
Get orders where user is performer.
Returns:
| Type | Description |
|---|---|
list[Project]
|
List of projects |
Source code in src/kwork_api/client.py
373 374 375 376 377 378 379 380 381 | |
ReferenceAPI ¶
ReferenceAPI(client)
Reference data (cities, countries, etc.) endpoints.
Source code in src/kwork_api/client.py
437 438 | |
Functions¶
get_badges_info
async
¶
get_badges_info()
Get badges info.
Source code in src/kwork_api/client.py
465 466 467 468 | |
get_cities
async
¶
get_cities()
Get all cities.
Source code in src/kwork_api/client.py
440 441 442 443 | |
get_countries
async
¶
get_countries()
Get all countries.
Source code in src/kwork_api/client.py
445 446 447 448 | |
get_features
async
¶
get_features()
Get available features.
Source code in src/kwork_api/client.py
455 456 457 458 | |
get_public_features
async
¶
get_public_features()
Get public features.
Source code in src/kwork_api/client.py
460 461 462 463 | |
get_timezones
async
¶
get_timezones()
Get all timezones.
Source code in src/kwork_api/client.py
450 451 452 453 | |
UserAPI ¶
UserAPI(client)
User API endpoints.
Source code in src/kwork_api/client.py
388 389 | |
Functions¶
get_favorite_kworks
async
¶
get_favorite_kworks()
Get favorite kworks.
Returns:
| Type | Description |
|---|---|
list[Kwork]
|
List of kworks |
Source code in src/kwork_api/client.py
422 423 424 425 426 427 428 429 430 | |
get_info
async
¶
get_info()
Get current user info.
Returns:
| Type | Description |
|---|---|
dict[str, Any]
|
User info dict |
Source code in src/kwork_api/client.py
391 392 393 394 395 396 397 398 | |
get_reviews
async
¶
get_reviews(user_id=None, page=1)
Get user reviews.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user_id
|
Optional[int]
|
User ID (None for current user) |
None
|
page
|
int
|
Page number |
1
|
Returns:
| Type | Description |
|---|---|
ReviewsResponse
|
ReviewsResponse |
Source code in src/kwork_api/client.py
400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 | |
Functions¶
close
async
¶
close()
Close HTTP client.
Source code in src/kwork_api/client.py
179 180 181 182 | |
login
async
classmethod
¶
login(username, password, timeout=30.0)
Login with username and password.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
username
|
str
|
Kwork username or email |
required |
password
|
str
|
Kwork password |
required |
timeout
|
float
|
Request timeout |
30.0
|
Returns:
| Type | Description |
|---|---|
KworkClient
|
Authenticated KworkClient instance |
Raises:
| Type | Description |
|---|---|
KworkAuthError
|
If login fails |
Source code in src/kwork_api/client.py
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | |