this is my in house library for interacting with Zimra's FDMS system
# Fiscal Device Gateway API Client
This repository provides a Python client for interacting with the Fiscal Device Gateway API provided by ZIMRA. The client can be used to manage various operations related to fiscal devices, such as registering a device, fetching configurations, issuing certificates, and handling fiscal day operations.
## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Class Methods](#class-methods)
- [Contributing](#contributing)
- [License](#license)
## Installation
To use this client, clone the repository and install the necessary dependencies:
```bash
git clone https://github.com/lordskyzw/zimra.git
cd zimra
pip install -r requirements.txt
```
## Usage
You can use the `Device` class to interact with the Fiscal Device Gateway API. Below is an example of how to initialize the class and perform some operations.
### Example
```python
from zimra import Device
# Initialize the device in test mode
device = Device(test_mode=True)
# Get the configuration of the device
config_status = device.getConfig()
print(config_status)
# Open a fiscal day
fiscal_day_status = device.openDay(fiscalDayNo=102)
print(fiscal_day_status)
```
## Class Methods
### `__init__(self, test_mode=False, *args)`
Initializes the Device class.
- `test_mode`: Boolean to specify whether to use the test environment or production environment.
### `register(self)`
Registers the device.
### `verifyTaxpayerInformation(self)`
Verifies the taxpayer information associated with the device.
### `getConfig(self)`
Fetches the device configuration and updates the device attributes.
### `issueCertificate(self)`
Issues a certificate for the device.
### `getStatus(self)`
Gets the current status of the device.
### `openDay(self, fiscalDayNo, fiscalDayOpened=None)`
Opens a fiscal day.
### `submitReceipt(self, receiptData)`
Submits a receipt to the fiscal device gateway.
### `closeDay(self)`
Closes the fiscal day.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request for any changes.
## License
This project is licensed under the MIT License. See the LICENSE file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/lordskyzw/zimra",
"name": "zimra",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "fiscalisation, api, automation, zimra, opensource",
"author": "Tarmica Chiwara",
"author_email": "Tarmica Chiwara <tarimicac@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/3b/d4/963e5b83541b2e7d051325217c7d52e5a3efdec9d8155cedaafd95ce6195/zimra-0.0.2.tar.gz",
"platform": null,
"description": "this is my in house library for interacting with Zimra's FDMS system \n# Fiscal Device Gateway API Client\n\nThis repository provides a Python client for interacting with the Fiscal Device Gateway API provided by ZIMRA. The client can be used to manage various operations related to fiscal devices, such as registering a device, fetching configurations, issuing certificates, and handling fiscal day operations.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Class Methods](#class-methods)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Installation\n\nTo use this client, clone the repository and install the necessary dependencies:\n\n```bash\ngit clone https://github.com/lordskyzw/zimra.git\ncd zimra\npip install -r requirements.txt\n```\n\n## Usage\n\nYou can use the `Device` class to interact with the Fiscal Device Gateway API. Below is an example of how to initialize the class and perform some operations.\n\n### Example\n\n```python\nfrom zimra import Device\n\n# Initialize the device in test mode\ndevice = Device(test_mode=True)\n\n# Get the configuration of the device\nconfig_status = device.getConfig()\nprint(config_status)\n\n# Open a fiscal day\nfiscal_day_status = device.openDay(fiscalDayNo=102)\nprint(fiscal_day_status)\n```\n\n## Class Methods\n\n### `__init__(self, test_mode=False, *args)`\n\nInitializes the Device class. \n\n- `test_mode`: Boolean to specify whether to use the test environment or production environment.\n\n### `register(self)`\n\nRegisters the device.\n\n### `verifyTaxpayerInformation(self)`\n\nVerifies the taxpayer information associated with the device.\n\n### `getConfig(self)`\n\nFetches the device configuration and updates the device attributes.\n\n### `issueCertificate(self)`\n\nIssues a certificate for the device.\n\n### `getStatus(self)`\n\nGets the current status of the device.\n\n### `openDay(self, fiscalDayNo, fiscalDayOpened=None)`\n\nOpens a fiscal day.\n\n### `submitReceipt(self, receiptData)`\n\nSubmits a receipt to the fiscal device gateway.\n\n### `closeDay(self)`\n\nCloses the fiscal day.\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request for any changes.\n\n## License\n\nThis project is licensed under the MIT License. See the LICENSE file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Unofficial Python wrapper for the ZIMRA FDMS API by Tarmica Chiwara",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://github.com/lordskyzw/zimra",
"Repository": "https://github.com/lordskyzw/zimra"
},
"split_keywords": [
"fiscalisation",
" api",
" automation",
" zimra",
" opensource"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2ecb9d0e7418ea5eecd22dc0fdcb20311bac35e5e3a967362bd7c50063004856",
"md5": "8e98afa45d50a39daec69a5100ddc2aa",
"sha256": "b9cd209cb6993e1dd07b2a4256dac2c7e150b0c773139206aaa03a0aefd6dc2f"
},
"downloads": -1,
"filename": "zimra-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8e98afa45d50a39daec69a5100ddc2aa",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 4495,
"upload_time": "2024-07-31T20:29:55",
"upload_time_iso_8601": "2024-07-31T20:29:55.538021Z",
"url": "https://files.pythonhosted.org/packages/2e/cb/9d0e7418ea5eecd22dc0fdcb20311bac35e5e3a967362bd7c50063004856/zimra-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3bd4963e5b83541b2e7d051325217c7d52e5a3efdec9d8155cedaafd95ce6195",
"md5": "90822b4d811b40b9afc620cf324135a8",
"sha256": "ff2912ad756c8d0efbe409c62138ad3aad3e257af4750c203c59504bf9398700"
},
"downloads": -1,
"filename": "zimra-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "90822b4d811b40b9afc620cf324135a8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 4674,
"upload_time": "2024-07-31T20:29:57",
"upload_time_iso_8601": "2024-07-31T20:29:57.105160Z",
"url": "https://files.pythonhosted.org/packages/3b/d4/963e5b83541b2e7d051325217c7d52e5a3efdec9d8155cedaafd95ce6195/zimra-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-31 20:29:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lordskyzw",
"github_project": "zimra",
"github_not_found": true,
"lcname": "zimra"
}