Skip to main content

Yandex GO for Business SDK

Project description

Yandex Go for Business SDK (Python)


Officially supported Python client for Yandex Go for Business


Documentation: https://taxi__business-api.docs-viewer.yandex.ru/ru/


Quickstart

Prerequisites

  • Python 3.8 or higher
  • pip version 9.0.1 or higher

If necessary, upgrade your version of pip:

$ python -m pip install --upgrade pip

If you cannot upgrade pip due to a system-owned installation, you can run the example in a virtualenv:

$ python -m pip install virtualenv
$ virtualenv venv
$ source venv/bin/activate
$ python -m pip install --upgrade pip

Install Yandex Go for Business SDK:

$ python -m pip install yandex_b2b_go

Getting started

Your requests are authorized via an OAuth token.

client = yandex_b2b_go.Client(token='y2_...')

Or you can use context manager

async with yandex_b2b_go.Client(token='y2_...') as client:
    pass

Get user list

Example method for get users list.

import yandex_b2b_go

TOKEN = 'y2_...'
client = yandex_b2b_go.Client(token=TOKEN)
user_manager = yandex_b2b_go.UserManager(client=client)
users = await user_manager.list(limit=20, cursor='djEgMTY2M...MGM3OTE=')

This method return class UserListResponse


Get user create

Example method for user create.

import yandex_b2b_go

TOKEN = 'y2_...'
client = yandex_b2b_go.Client(token=TOKEN)
user_manager = yandex_b2b_go.UserManager(client=client)
user = yandex_b2b_go.typing.User(
    fullname='Иванов Илья',
    phone='+79990000000',
    is_active=True,
)
response = await user_manager.create(user=user)

This method return class UserCreateResponse


Class Client have parameters

  • timeout - the time in seconds to limit the execution of the request
  • log_level - the logging level for a specific method. Default logging.INFO
  • log_request - whether to log the entire request. Default False
  • log_response - whether to log the entire response. Default False

Example

Set log_level = WARNING and log_request = True

import logging
import yandex_b2b_go

TOKEN = 'y2_...'
client = yandex_b2b_go.Client(token=TOKEN, log_level=logging.WARNING, log_request=True)
user_manager = yandex_b2b_go.UserManager(client=client)
users = await user_manager.list(limit=1)

Output:

2024-09-17 16:20:03,166 WARNING Request=GET, for url=https://b2b-api.go.yandex.ru/integration/2.0/users?limit=1, params={'limit': '1'}, body=None
2024-09-17 16:20:03,814 WARNING GET request https://b2b-api.go.yandex.ru/integration/2.0/users success with status code 200

Set log_response = True

import yandex_b2b_go

TOKEN = 'y2_...'
client = yandex_b2b_go.Client(token=TOKEN, log_response=True)
user_manager = yandex_b2b_go.UserManager(client=client)
users = await user_manager.list(limit=1)

Output:

2024-09-17 16:22:22,995 INFO Performing GET request to https://b2b-api.go.yandex.ru/integration/2.0/users
2024-09-17 16:22:23,276 INFO GET request https://b2b-api.go.yandex.ru/integration/2.0/users success with status code 200, body={'items': [{'fullname': 'Иванов Илья', 'is_active': True, 'phone': '+79990000000', 'id': '0516587…..c5a8adb58', 'is_deleted': False, 'cost_center': '', 'department_id': '9080a2……208a1856', 'email': 'email1@email.ru', 'limits': [{'limit_id': 'e31cc52437...', 'service': 'eats2'}, {'limit_id': '4afef98...', 'service': 'drive'}, {'limit_id': '20569bb9d...', 'service': 'taxi'}], 'nickname': 'id1234572', 'client_id': '1f300a6…..edf867021c'}], 'limit': 1, 'total_amount': 20, 'next_cursor': 'djEgMTY2NjA3OTAN….GM4MTgwMDFlNTAzYjg3NTQ='}

Contributing

Dependencies

Use make deps command to install library, its production and development dependencies.

Formatting

Use make format to autoformat code with black tool.

Tests

  • make test to run tests for current python version
  • make lint to run only linters for current python version

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yandex_b2b_go-1.0.3.tar.gz (81.6 kB view details)

Uploaded Source

Built Distribution

yandex_b2b_go-1.0.3-py3-none-any.whl (36.9 kB view details)

Uploaded Python 3

File details

Details for the file yandex_b2b_go-1.0.3.tar.gz.

File metadata

  • Download URL: yandex_b2b_go-1.0.3.tar.gz
  • Upload date:
  • Size: 81.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.19

File hashes

Hashes for yandex_b2b_go-1.0.3.tar.gz
Algorithm Hash digest
SHA256 68514b106a6c822ff91e3739dea734454de7fc9d3dbf707617896f5955c7377a
MD5 722574bd817d9ee21c68967426ac741a
BLAKE2b-256 96dac4b200ebb06033a22051edff0e3be530554391ac7c2782158f1e7099de84

See more details on using hashes here.

File details

Details for the file yandex_b2b_go-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for yandex_b2b_go-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f5b41ccfa59a891212ea8afe3b86d79d8c1957ae4df4c77bd4b70fa3780b1557
MD5 e1b25adc269692bd79d922689e1e5dfd
BLAKE2b-256 ab01c2609bcd95eddf40df97ba38debd565c6eeb592a6e4553a60e2e3bcf4344

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page