Skip to main content

Python SDK for Ebarimt POS API 3.0

Project description

ebarimt-pos-sdk

codecov

Modern async-first Python SDK for Ebarimt Pos API 3.0.

Project doc
Ebarimt Pos API 3.0 documentation

Quick Start

REST client — create a receipt

from ebarimt_pos_sdk import EbarimtRestClient, RestClientSettings

settings = RestClientSettings(base_url="http://localhost:1234")

with EbarimtRestClient(settings) as client:
    receipt = client.receipt.create({
        "branch_no": "001",
        "total_amount": 10000,
        "merchant_tin": "1234567890",
        "pos_no": "POS001",
        "type": "B2C_RECEIPT",
        "bill_id_suffix": "A",
        "receipts": [{
            "total_amount": 10000,
            "tax_type": "VAT_ABLE",
            "merchant_tin": "1234567890",
            "items": [{
                "name": "Product",
                "measure_unit": "ш",
                "qty": 1,
                "unit_price": 10000,
                "total_amount": 10000,
            }],
        }],
    })
    print(receipt.id, receipt.qr_data)

Async version — replace withasync with and client.receipt.createawait client.receipt.acreate.

API client — fetch TIN info

from ebarimt_pos_sdk import EbarimtApiClient, ApiClientSettings

settings = ApiClientSettings(
    base_url="https://api.ebarimt.mn",
    token_url="https://auth.ebarimt.mn/token",
    client_id="your_client_id",
    username="your_username",
    password="your_password",
)

with EbarimtApiClient(settings=settings) as client:
    info = client.tin_info.read("1234567890")
    print(info.data)

Development setup

uv sync --dev
uv run pytest

PosAPI тохируулах

PosAPI нь суусны дараа анхны байдлаар тохируулах шаардлагатай. “posapi.ini” файлд тухайн PosAPI-н үндсэн тохиргоо байрлах ба “P101.poi, P102.poi” файлуудад ажиллагааны тохиргоо байрлах ба нууцлагдсан байна.

Үндсэн тохиргооны тайлбар /posapi.ini файл/

Нэр Тайлбар
authUrl
authRealm Тухайн PosAPI-н нэгдсэн нэвтрэлттэй холбогдох тохиргоо
authClientId Өөрчлөх шаардлагагүй.
authClientSecret
ebarimtUrl Ebarimt системтэй холбогдох хаяг Өөрчлөх шаардлагагүй
db Өгөгдлийн сангийн driver
dbHost Өгөгдлийн сангийн хаяг Хэрэв QSQLITE бол файлын зам байна
dbPort Өгөгдлийн сангийн port Хэрэв QSQLITE бол бөглөхгүй
dbUser Өгөгдлийн сангийн хэрэглэгчийн нэр Хэрэв QSQLITE бол бөглөхгүй
dbPass Өгөгдлийн сангийн нууц үг хэрэв QSQLITE бол бөглөхгүй
dbName Өгөгдлийн сангийн баазын нэр Хэрэв QSQLITE бол бөглөхгүй
dbOptions Өгөгдлийн сангийн нэмэлт тохиргоо Хэрэв QSQLITE бол бөглөхгүй
workDir PosAPI-н ажиллагааны хавтас
webServiceHost PosAPI-н ажиллах сүлжээний IP address
webServicePort PosAPI-н ажиллах сүлжээний port

WorkDir хавтсанд ажиллагааны тохиргоо байрлах ба уг тохиргооны файлуудын агуулга нь тогтмол өөрчлөгдөж байх тул PosAPI ажиллуулж буй хэрэглэгч нь унших, бичих эрхтэй байхыг анхаарана уу. Мөн уг хавтсыг ямар ч нөхцөлд FREEZE хийх ёсгүй гэдгийг анхаарна уу.

PosAPI-н дэмжиж ажиллах өгөгдлийн сангууд ба driver-ууд

Нэр Тайлбар
QMYSQL MySQL эсвэл MariaDB
QPSQL PostgreSQL
QODBC ODBC for Microsoft SQL Server
QSQLITE SQLite version 3

PosAPI нь ачааллах үедээ өгөгдлийн сангийн table-г автоматаар өөрөө үүсгэдэг тул тухайн хэрэглэгч нь table үүсгэх эрх бүхий хэрэглэгч байх шаардлагатайг анхаарна уу

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

ebarimt_pos_sdk-0.2.9.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ebarimt_pos_sdk-0.2.9-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file ebarimt_pos_sdk-0.2.9.tar.gz.

File metadata

  • Download URL: ebarimt_pos_sdk-0.2.9.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ebarimt_pos_sdk-0.2.9.tar.gz
Algorithm Hash digest
SHA256 07c3a28b5685af6f58f02f852ceb018b6ab3af3c63e09eaa7412446873dec946
MD5 18dbcd5de7e2dba1e1f23cca5efcc18b
BLAKE2b-256 67fdacc1fe23587b872c1b1ae8f307c9bd90965911d22c24c823841ba3ef741b

See more details on using hashes here.

File details

Details for the file ebarimt_pos_sdk-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: ebarimt_pos_sdk-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.11 {"installer":{"name":"uv","version":"0.10.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ebarimt_pos_sdk-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 9059517e6291ca8238b73842c84b01a20eb0956031682c7196125b790b46e153
MD5 a6f06175fce134b5da15ae1f3ea768d1
BLAKE2b-256 24df23062f4142ec873daafd3c8796742b0d21c8a244ba5a2470d07932b899c8

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