easybill_client/generated/sync/easybill_generated_sync/__init__.py
claudi caacb339dd Add unit tests for authentication and webhook parsing
- Implement tests for basic and bearer authentication headers in `test_auth.py`.
- Create tests for the `EasybillWebhookParser` in `test_webhooks.py`, covering JSON and form-encoded payloads, as well as a generic parse and acknowledgement method.
2026-04-17 10:20:12 +02:00

208 lines
11 KiB
Python

# coding: utf-8
# flake8: noqa
"""
easybill REST API
The first version of the easybill REST API. [CHANGELOG](https://api.easybill.de/rest/v1/CHANGELOG.md) ## Authentication You can choose between two available methods: `Basic Auth` or `Bearer Token`. In each HTTP request, one of the following HTTP headers is required: ``` # Basic Auth Authorization: Basic base64_encode('<email>:<api_key>') # Bearer Token Authorization: Bearer <api_key> ``` ## Limitations ### Request Limit * PLUS: 10 requests per minute * BUSINESS: 60 requests per minute If the limit is exceeded, you will receive the HTTP error: `429 Too Many Requests` ### Result Limit All result lists are limited to 100 by default. This limit can be increased by the query parameter `limit` to a maximum of 1000. ## Query filter Many list resources can be filtered. In `/documents` you can filter e.g. by number with `/documents?number=111028654`. If you want to filter multiple numbers, you can either enter them separated by commas `/documents?number=111028654,222006895` or as an array `/documents?number[]=111028654&number[]=222006895`. **Warning**: The maximum size of an HTTP request line in bytes is 4094. If this limit is exceeded, you will receive the HTTP error: `414 Request-URI Too Large` ### Escape commas in query You can escape commans in query `name=Patrick\\, Peter` if you submit the header `X-Easybill-Escape: true` in your request. ## Property login_id This is the login of your admin or employee account. ## Date and Date-Time format Please use the timezone `Europe/Berlin`. * **date** = *Y-m-d* = `2016-12-31` * **date-time** = *Y-m-d H:i:s* = `2016-12-31 03:13:37` Date or datetime can be `null` because the attributes have been added later and the entry is older.
The version of the OpenAPI document: 1.96.0
Generated by OpenAPI Generator (https://openapi-generator.tech)
Do not edit the class manually.
""" # noqa: E501
__version__ = "1.0.0"
# Define package exports
__all__ = [
"AttachmentApi",
"ContactApi",
"CustomerApi",
"CustomerGroupApi",
"DiscountApi",
"DocumentApi",
"DocumentPaymentApi",
"DocumentVersionApi",
"LoginsApi",
"PdfTemplatesApi",
"PositionApi",
"PositionGroupApi",
"PostBoxApi",
"ProjectApi",
"SepaPaymentApi",
"SerialNumberApi",
"StockApi",
"TaskApi",
"TextTemplateApi",
"TimeTrackingApi",
"WebhookApi",
"ApiResponse",
"ApiClient",
"Configuration",
"OpenApiException",
"ApiTypeError",
"ApiValueError",
"ApiKeyError",
"ApiAttributeError",
"ApiException",
"AdvancedDataField",
"Attachment",
"Attachments",
"Contact",
"Contacts",
"Customer",
"CustomerGroup",
"CustomerGroups",
"CustomerSnapshot",
"Customers",
"Discount",
"DiscountPosition",
"DiscountPositionGroup",
"DiscountPositionGroups",
"DiscountPositions",
"Document",
"DocumentAddress",
"DocumentPayment",
"DocumentPayments",
"DocumentPosition",
"DocumentRecurring",
"DocumentVersion",
"DocumentVersionItem",
"DocumentVersions",
"Documents",
"FileFormatConfig",
"List",
"Login",
"LoginSecurity",
"Logins",
"PDFTemplate",
"PDFTemplateSettings",
"PDFTemplateSettingsEmail",
"PDFTemplates",
"Position",
"PositionExportIdentifierExtended",
"PositionGroup",
"PositionGroups",
"Positions",
"PostBox",
"PostBoxRequest",
"PostBoxes",
"Project",
"Projects",
"SEPAPayment",
"SEPAPayments",
"SerialNumber",
"SerialNumbers",
"ServiceDate",
"Stock",
"Stocks",
"Task",
"Tasks",
"TextTemplate",
"TextTemplates",
"TimeTracking",
"TimeTrackings",
"WebHook",
"WebHookLastResponse",
"WebHooks",
]
# import apis into sdk package
from easybill_generated_sync.api.attachment_api import AttachmentApi as AttachmentApi
from easybill_generated_sync.api.contact_api import ContactApi as ContactApi
from easybill_generated_sync.api.customer_api import CustomerApi as CustomerApi
from easybill_generated_sync.api.customer_group_api import CustomerGroupApi as CustomerGroupApi
from easybill_generated_sync.api.discount_api import DiscountApi as DiscountApi
from easybill_generated_sync.api.document_api import DocumentApi as DocumentApi
from easybill_generated_sync.api.document_payment_api import DocumentPaymentApi as DocumentPaymentApi
from easybill_generated_sync.api.document_version_api import DocumentVersionApi as DocumentVersionApi
from easybill_generated_sync.api.logins_api import LoginsApi as LoginsApi
from easybill_generated_sync.api.pdf_templates_api import PdfTemplatesApi as PdfTemplatesApi
from easybill_generated_sync.api.position_api import PositionApi as PositionApi
from easybill_generated_sync.api.position_group_api import PositionGroupApi as PositionGroupApi
from easybill_generated_sync.api.post_box_api import PostBoxApi as PostBoxApi
from easybill_generated_sync.api.project_api import ProjectApi as ProjectApi
from easybill_generated_sync.api.sepa_payment_api import SepaPaymentApi as SepaPaymentApi
from easybill_generated_sync.api.serial_number_api import SerialNumberApi as SerialNumberApi
from easybill_generated_sync.api.stock_api import StockApi as StockApi
from easybill_generated_sync.api.task_api import TaskApi as TaskApi
from easybill_generated_sync.api.text_template_api import TextTemplateApi as TextTemplateApi
from easybill_generated_sync.api.time_tracking_api import TimeTrackingApi as TimeTrackingApi
from easybill_generated_sync.api.webhook_api import WebhookApi as WebhookApi
# import ApiClient
from easybill_generated_sync.api_response import ApiResponse as ApiResponse
from easybill_generated_sync.api_client import ApiClient as ApiClient
from easybill_generated_sync.configuration import Configuration as Configuration
from easybill_generated_sync.exceptions import OpenApiException as OpenApiException
from easybill_generated_sync.exceptions import ApiTypeError as ApiTypeError
from easybill_generated_sync.exceptions import ApiValueError as ApiValueError
from easybill_generated_sync.exceptions import ApiKeyError as ApiKeyError
from easybill_generated_sync.exceptions import ApiAttributeError as ApiAttributeError
from easybill_generated_sync.exceptions import ApiException as ApiException
# import models into sdk package
from easybill_generated_sync.models.advanced_data_field import AdvancedDataField as AdvancedDataField
from easybill_generated_sync.models.attachment import Attachment as Attachment
from easybill_generated_sync.models.attachments import Attachments as Attachments
from easybill_generated_sync.models.contact import Contact as Contact
from easybill_generated_sync.models.contacts import Contacts as Contacts
from easybill_generated_sync.models.customer import Customer as Customer
from easybill_generated_sync.models.customer_group import CustomerGroup as CustomerGroup
from easybill_generated_sync.models.customer_groups import CustomerGroups as CustomerGroups
from easybill_generated_sync.models.customer_snapshot import CustomerSnapshot as CustomerSnapshot
from easybill_generated_sync.models.customers import Customers as Customers
from easybill_generated_sync.models.discount import Discount as Discount
from easybill_generated_sync.models.discount_position import DiscountPosition as DiscountPosition
from easybill_generated_sync.models.discount_position_group import DiscountPositionGroup as DiscountPositionGroup
from easybill_generated_sync.models.discount_position_groups import DiscountPositionGroups as DiscountPositionGroups
from easybill_generated_sync.models.discount_positions import DiscountPositions as DiscountPositions
from easybill_generated_sync.models.document import Document as Document
from easybill_generated_sync.models.document_address import DocumentAddress as DocumentAddress
from easybill_generated_sync.models.document_payment import DocumentPayment as DocumentPayment
from easybill_generated_sync.models.document_payments import DocumentPayments as DocumentPayments
from easybill_generated_sync.models.document_position import DocumentPosition as DocumentPosition
from easybill_generated_sync.models.document_recurring import DocumentRecurring as DocumentRecurring
from easybill_generated_sync.models.document_version import DocumentVersion as DocumentVersion
from easybill_generated_sync.models.document_version_item import DocumentVersionItem as DocumentVersionItem
from easybill_generated_sync.models.document_versions import DocumentVersions as DocumentVersions
from easybill_generated_sync.models.documents import Documents as Documents
from easybill_generated_sync.models.file_format_config import FileFormatConfig as FileFormatConfig
from easybill_generated_sync.models.list import List as List
from easybill_generated_sync.models.login import Login as Login
from easybill_generated_sync.models.login_security import LoginSecurity as LoginSecurity
from easybill_generated_sync.models.logins import Logins as Logins
from easybill_generated_sync.models.pdf_template import PDFTemplate as PDFTemplate
from easybill_generated_sync.models.pdf_template_settings import PDFTemplateSettings as PDFTemplateSettings
from easybill_generated_sync.models.pdf_template_settings_email import PDFTemplateSettingsEmail as PDFTemplateSettingsEmail
from easybill_generated_sync.models.pdf_templates import PDFTemplates as PDFTemplates
from easybill_generated_sync.models.position import Position as Position
from easybill_generated_sync.models.position_export_identifier_extended import PositionExportIdentifierExtended as PositionExportIdentifierExtended
from easybill_generated_sync.models.position_group import PositionGroup as PositionGroup
from easybill_generated_sync.models.position_groups import PositionGroups as PositionGroups
from easybill_generated_sync.models.positions import Positions as Positions
from easybill_generated_sync.models.post_box import PostBox as PostBox
from easybill_generated_sync.models.post_box_request import PostBoxRequest as PostBoxRequest
from easybill_generated_sync.models.post_boxes import PostBoxes as PostBoxes
from easybill_generated_sync.models.project import Project as Project
from easybill_generated_sync.models.projects import Projects as Projects
from easybill_generated_sync.models.sepa_payment import SEPAPayment as SEPAPayment
from easybill_generated_sync.models.sepa_payments import SEPAPayments as SEPAPayments
from easybill_generated_sync.models.serial_number import SerialNumber as SerialNumber
from easybill_generated_sync.models.serial_numbers import SerialNumbers as SerialNumbers
from easybill_generated_sync.models.service_date import ServiceDate as ServiceDate
from easybill_generated_sync.models.stock import Stock as Stock
from easybill_generated_sync.models.stocks import Stocks as Stocks
from easybill_generated_sync.models.task import Task as Task
from easybill_generated_sync.models.tasks import Tasks as Tasks
from easybill_generated_sync.models.text_template import TextTemplate as TextTemplate
from easybill_generated_sync.models.text_templates import TextTemplates as TextTemplates
from easybill_generated_sync.models.time_tracking import TimeTracking as TimeTracking
from easybill_generated_sync.models.time_trackings import TimeTrackings as TimeTrackings
from easybill_generated_sync.models.web_hook import WebHook as WebHook
from easybill_generated_sync.models.web_hook_last_response import WebHookLastResponse as WebHookLastResponse
from easybill_generated_sync.models.web_hooks import WebHooks as WebHooks