- 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.
208 lines
11 KiB
Python
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_async.api.attachment_api import AttachmentApi as AttachmentApi
|
|
from easybill_generated_async.api.contact_api import ContactApi as ContactApi
|
|
from easybill_generated_async.api.customer_api import CustomerApi as CustomerApi
|
|
from easybill_generated_async.api.customer_group_api import CustomerGroupApi as CustomerGroupApi
|
|
from easybill_generated_async.api.discount_api import DiscountApi as DiscountApi
|
|
from easybill_generated_async.api.document_api import DocumentApi as DocumentApi
|
|
from easybill_generated_async.api.document_payment_api import DocumentPaymentApi as DocumentPaymentApi
|
|
from easybill_generated_async.api.document_version_api import DocumentVersionApi as DocumentVersionApi
|
|
from easybill_generated_async.api.logins_api import LoginsApi as LoginsApi
|
|
from easybill_generated_async.api.pdf_templates_api import PdfTemplatesApi as PdfTemplatesApi
|
|
from easybill_generated_async.api.position_api import PositionApi as PositionApi
|
|
from easybill_generated_async.api.position_group_api import PositionGroupApi as PositionGroupApi
|
|
from easybill_generated_async.api.post_box_api import PostBoxApi as PostBoxApi
|
|
from easybill_generated_async.api.project_api import ProjectApi as ProjectApi
|
|
from easybill_generated_async.api.sepa_payment_api import SepaPaymentApi as SepaPaymentApi
|
|
from easybill_generated_async.api.serial_number_api import SerialNumberApi as SerialNumberApi
|
|
from easybill_generated_async.api.stock_api import StockApi as StockApi
|
|
from easybill_generated_async.api.task_api import TaskApi as TaskApi
|
|
from easybill_generated_async.api.text_template_api import TextTemplateApi as TextTemplateApi
|
|
from easybill_generated_async.api.time_tracking_api import TimeTrackingApi as TimeTrackingApi
|
|
from easybill_generated_async.api.webhook_api import WebhookApi as WebhookApi
|
|
|
|
# import ApiClient
|
|
from easybill_generated_async.api_response import ApiResponse as ApiResponse
|
|
from easybill_generated_async.api_client import ApiClient as ApiClient
|
|
from easybill_generated_async.configuration import Configuration as Configuration
|
|
from easybill_generated_async.exceptions import OpenApiException as OpenApiException
|
|
from easybill_generated_async.exceptions import ApiTypeError as ApiTypeError
|
|
from easybill_generated_async.exceptions import ApiValueError as ApiValueError
|
|
from easybill_generated_async.exceptions import ApiKeyError as ApiKeyError
|
|
from easybill_generated_async.exceptions import ApiAttributeError as ApiAttributeError
|
|
from easybill_generated_async.exceptions import ApiException as ApiException
|
|
|
|
# import models into sdk package
|
|
from easybill_generated_async.models.advanced_data_field import AdvancedDataField as AdvancedDataField
|
|
from easybill_generated_async.models.attachment import Attachment as Attachment
|
|
from easybill_generated_async.models.attachments import Attachments as Attachments
|
|
from easybill_generated_async.models.contact import Contact as Contact
|
|
from easybill_generated_async.models.contacts import Contacts as Contacts
|
|
from easybill_generated_async.models.customer import Customer as Customer
|
|
from easybill_generated_async.models.customer_group import CustomerGroup as CustomerGroup
|
|
from easybill_generated_async.models.customer_groups import CustomerGroups as CustomerGroups
|
|
from easybill_generated_async.models.customer_snapshot import CustomerSnapshot as CustomerSnapshot
|
|
from easybill_generated_async.models.customers import Customers as Customers
|
|
from easybill_generated_async.models.discount import Discount as Discount
|
|
from easybill_generated_async.models.discount_position import DiscountPosition as DiscountPosition
|
|
from easybill_generated_async.models.discount_position_group import DiscountPositionGroup as DiscountPositionGroup
|
|
from easybill_generated_async.models.discount_position_groups import DiscountPositionGroups as DiscountPositionGroups
|
|
from easybill_generated_async.models.discount_positions import DiscountPositions as DiscountPositions
|
|
from easybill_generated_async.models.document import Document as Document
|
|
from easybill_generated_async.models.document_address import DocumentAddress as DocumentAddress
|
|
from easybill_generated_async.models.document_payment import DocumentPayment as DocumentPayment
|
|
from easybill_generated_async.models.document_payments import DocumentPayments as DocumentPayments
|
|
from easybill_generated_async.models.document_position import DocumentPosition as DocumentPosition
|
|
from easybill_generated_async.models.document_recurring import DocumentRecurring as DocumentRecurring
|
|
from easybill_generated_async.models.document_version import DocumentVersion as DocumentVersion
|
|
from easybill_generated_async.models.document_version_item import DocumentVersionItem as DocumentVersionItem
|
|
from easybill_generated_async.models.document_versions import DocumentVersions as DocumentVersions
|
|
from easybill_generated_async.models.documents import Documents as Documents
|
|
from easybill_generated_async.models.file_format_config import FileFormatConfig as FileFormatConfig
|
|
from easybill_generated_async.models.list import List as List
|
|
from easybill_generated_async.models.login import Login as Login
|
|
from easybill_generated_async.models.login_security import LoginSecurity as LoginSecurity
|
|
from easybill_generated_async.models.logins import Logins as Logins
|
|
from easybill_generated_async.models.pdf_template import PDFTemplate as PDFTemplate
|
|
from easybill_generated_async.models.pdf_template_settings import PDFTemplateSettings as PDFTemplateSettings
|
|
from easybill_generated_async.models.pdf_template_settings_email import PDFTemplateSettingsEmail as PDFTemplateSettingsEmail
|
|
from easybill_generated_async.models.pdf_templates import PDFTemplates as PDFTemplates
|
|
from easybill_generated_async.models.position import Position as Position
|
|
from easybill_generated_async.models.position_export_identifier_extended import PositionExportIdentifierExtended as PositionExportIdentifierExtended
|
|
from easybill_generated_async.models.position_group import PositionGroup as PositionGroup
|
|
from easybill_generated_async.models.position_groups import PositionGroups as PositionGroups
|
|
from easybill_generated_async.models.positions import Positions as Positions
|
|
from easybill_generated_async.models.post_box import PostBox as PostBox
|
|
from easybill_generated_async.models.post_box_request import PostBoxRequest as PostBoxRequest
|
|
from easybill_generated_async.models.post_boxes import PostBoxes as PostBoxes
|
|
from easybill_generated_async.models.project import Project as Project
|
|
from easybill_generated_async.models.projects import Projects as Projects
|
|
from easybill_generated_async.models.sepa_payment import SEPAPayment as SEPAPayment
|
|
from easybill_generated_async.models.sepa_payments import SEPAPayments as SEPAPayments
|
|
from easybill_generated_async.models.serial_number import SerialNumber as SerialNumber
|
|
from easybill_generated_async.models.serial_numbers import SerialNumbers as SerialNumbers
|
|
from easybill_generated_async.models.service_date import ServiceDate as ServiceDate
|
|
from easybill_generated_async.models.stock import Stock as Stock
|
|
from easybill_generated_async.models.stocks import Stocks as Stocks
|
|
from easybill_generated_async.models.task import Task as Task
|
|
from easybill_generated_async.models.tasks import Tasks as Tasks
|
|
from easybill_generated_async.models.text_template import TextTemplate as TextTemplate
|
|
from easybill_generated_async.models.text_templates import TextTemplates as TextTemplates
|
|
from easybill_generated_async.models.time_tracking import TimeTracking as TimeTracking
|
|
from easybill_generated_async.models.time_trackings import TimeTrackings as TimeTrackings
|
|
from easybill_generated_async.models.web_hook import WebHook as WebHook
|
|
from easybill_generated_async.models.web_hook_last_response import WebHookLastResponse as WebHookLastResponse
|
|
from easybill_generated_async.models.web_hooks import WebHooks as WebHooks
|
|
|