Skip to main content

Python services for convenient work with iiko Transport / iiko cloud api

Project description

pyiikocloudapi - python iiko Cloud API сервис

Другие реализации

Также доступны реализации для других языков программирования:

Go: goiikoapi — реализация iiko Cloud API на языке Go

Установка

Пользуем pip:

pip install pyiikocloudapi

Зависимости

requests
pydantic

Начиная с версии 0.0.20

requests
pydantic>=2.9.2

Как использовать

Все названия методов соответствуют названию в ссылке (смотрите документацию iiko Transport).

Пример названия метода:

  • /api/1/auth/ - access_token
  • /api/1/order/create - order_create

Если вам нужно чтобы ответ был в dict - то либо

api = IikoTransport(api_login, return_dict=True)

# Либо
api.return_dict = True

Example

from pyiikocloudapi import IikoTransport
from pyiikocloudapi.models import CouriersModel

# инициализация класса 
api = IikoTransport(api_login)

# получаем организации получить из можно api.organizations_ids: dict or api.organizations_ids_models: OrganizationsModel
api.organizations()

# получаю список курьеров организации
couriers: CouriersModel = api.couriers(api.organizations_ids)

Пример валидации WebHook событий

from pyiikocloudapi.models import WebHookDeliveryOrderEventInfoModel

# Пример данных WebHook события
data = {
    "eventType": "DeliveryOrderUpdate",
    "eventTime": "2019-08-24 14:15:22.123",
    "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
    "correlationId": "48fb4cd3-2ef6-4479-bea1-7c92721b988c",
    "eventInfo": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "posId": "7f542382-3a91-4db8-938e-e9f86b88057c",
        "externalNumber": "string",
        "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
        "timestamp": 1566650122,
        "creationStatus": "Success",
        "errorInfo": None,
        "order": {
            # ... данные заказа
        }
    }
}

# Валидация данных WebHook
webhook_event = WebHookDeliveryOrderEventInfoModel.model_validate(data)

# Доступ к данным после валидации
print(webhook_event.event_type)  # "DeliveryOrderUpdate"
print(webhook_event.organization_id)  # "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"

# В зависимости от event_type, event_info будет разного типа:
# - DeliveryOrderUpdate -> EventInfo
# - StopListUpdate -> EventInfoStopList
# - TableOrderError -> EventInfoTableOrder
# - ReserveUpdate / ReserveError -> EventInfoReserve
# - PersonalShift -> EventInfoPersonalShift

Каждый метод проверяет время жизни маркера доступа, если время жизни маркера прошло то будет автоматически запрошен заново.

Время жизни маркера доступа равно ~60 минутам.

###Дополнительная информация iiko Transport(iiko Cloud API) по словам разработчиков это по сути горячие хранилище без доступа к данным БД

sourceKey это "Источник заказа" из настроек в iikoWeb

Реализованные методы iiko Transport(iiko Cloud API)

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

pyiikocloudapi-0.0.31.tar.gz (31.1 kB view details)

Uploaded Source

File details

Details for the file pyiikocloudapi-0.0.31.tar.gz.

File metadata

  • Download URL: pyiikocloudapi-0.0.31.tar.gz
  • Upload date:
  • Size: 31.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.7

File hashes

Hashes for pyiikocloudapi-0.0.31.tar.gz
Algorithm Hash digest
SHA256 1c26d504c08e1d9e3cae12507ed13bf822e63277ada408af4b4a5f2aff2fb434
MD5 6d886ba6470d6c08b5395a48afba6331
BLAKE2b-256 84905541f94cfd097ac45d040be0b18fe219fb274d9e859282c0fc67de503aed

See more details on using hashes here.

Supported by

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