Source code for britecore_sdk.api.api_calls.v2.commissions

"""BriteCore v2 Commissions API endpoint wrappers."""

from typing import Any, Unpack

from britecore_sdk.api.api_calls import (
    BritecoreAPIClient,
    RequestParameters,
    api_client,
)
from britecore_sdk.api.api_calls.v2._common import build_payload, post

API_CLIENT: BritecoreAPIClient = api_client


[docs] def delete_batch_payments( payment_ids: list[str] | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Delete commission payments in batch.. POST /api/v2/commissions/delete_batch_payments """ return post( "/api/v2/commissions/delete_batch_payments", build_payload(payment_ids=payment_ids), **kwargs, )
[docs] def delete_payment( payment_id: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Delete a single commission payment.. POST /api/v2/commissions/delete_payment """ return post( "/api/v2/commissions/delete_payment", build_payload(payment_id=payment_id), **kwargs, )
[docs] def get_commission_payees(**kwargs: Unpack[RequestParameters]) -> Any: """Retrieve the list of commission payee agency numbers.. POST /api/v2/commissions/get_commission_payees """ return post("/api/v2/commissions/get_commission_payees", **kwargs)
[docs] def get_payment( commission_payment_id: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Retrieve a commission payment record.. POST /api/v2/commissions/get_payment """ return post( "/api/v2/commissions/get_payment", build_payload(commission_payment_id=commission_payment_id), **kwargs, )
[docs] def get_unexported_commissions(**kwargs: Unpack[RequestParameters]) -> Any: """Retrieve commission records that have not yet been exported.. POST /api/v2/commissions/get_unexported_commissions """ return post("/api/v2/commissions/get_unexported_commissions", **kwargs)
[docs] def save_batch_payments( payments: list[dict[str, Any]] | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Save commission payments in batch.. POST /api/v2/commissions/save_batch_payments """ return post( "/api/v2/commissions/save_batch_payments", build_payload(payments=payments), **kwargs, )
[docs] def save_batch_payments_csv( data: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Save commission payments in batch from CSV data.. POST /api/v2/commissions/save_batch_payments_csv """ return post( "/api/v2/commissions/save_batch_payments_csv", build_payload(data=data), **kwargs, )
[docs] def save_payment( amount: float | int | None = None, agency_number: str | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Save a single commission payment.. POST /api/v2/commissions/save_payment """ return post( "/api/v2/commissions/save_payment", build_payload(amount=amount, agency_number=agency_number), **kwargs, )
[docs] def update_commission_payments_complete( commission_payment_ids: list[str] | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Clear selected payments from the commission queue.. POST /api/v2/commissions/update_commission_payments_complete """ return post( "/api/v2/commissions/update_commission_payments_complete", build_payload(commission_payment_ids=commission_payment_ids), **kwargs, )
__all__ = [ "delete_batch_payments", "delete_payment", "get_commission_payees", "get_payment", "get_unexported_commissions", "save_batch_payments", "save_batch_payments_csv", "save_payment", "update_commission_payments_complete", ] # --- Autogenerated spec wrappers ---
[docs] def batch_export_payments( commission_payment_ids: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Batch Export Payments. POST /api/v2/commissions/batch_export_payments """ request_json: dict[str, Any] = {"commission_payment_ids": commission_payment_ids} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/batch_export_payments", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/batch_export_payments" )
[docs] def batch_review_payments( commission_payment_ids: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Batch Review Payments. POST /api/v2/commissions/batch_review_payments """ request_json: dict[str, Any] = {"commission_payment_ids": commission_payment_ids} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/batch_review_payments", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/batch_review_payments" )
[docs] def batch_update_payment_methods( operations: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Batch Update Payment Methods. POST /api/v2/commissions/batch_update_payment_methods """ request_json: dict[str, Any] = {"operations": operations} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/batch_update_payment_methods", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/batch_update_payment_methods" )
[docs] def create_adjustment( source_accounting_id: Any | None = None, adjustment_amount: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Create Adjustment. POST /api/v2/commissions/create_adjustment """ request_json: dict[str, Any] = { "source_accounting_id": source_accounting_id, "adjustment_amount": adjustment_amount, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/create_adjustment", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/create_adjustment" )
[docs] def download_commission_report( report: str | None = None, year: str | None = None, month: str | None = None, contacts: list[str] | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Download Commission Report. POST /api/v2/commissions/download_commission_report """ request_json: dict[str, Any] = { "report": report, "year": year, "month": month, "contacts": contacts, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/download_commission_report", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/download_commission_report" )
[docs] def email_commission_report( contacts: Any | None = None, report: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Email Commission Report. POST /api/v2/commissions/email_commission_report """ request_json: dict[str, Any] = { "contacts": contacts, "report": report, } filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/email_commission_report", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/email_commission_report" )
[docs] def get_commission_accounting_entries( **kwargs: Unpack[RequestParameters], ) -> Any: """Get Commission Accounting Entries. POST /api/v2/commissions/get_commission_accounting_entries """ request_json: dict[str, Any] = {} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/get_commission_accounting_entries", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/get_commission_accounting_entries" )
[docs] def get_commission_payment_composition( commission_payment_id: Any | None = None, **kwargs: Unpack[RequestParameters], ) -> Any: """Get Commission Payment Composition. POST /api/v2/commissions/get_commission_payment_composition """ request_json: dict[str, Any] = {"commission_payment_id": commission_payment_id} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/get_commission_payment_composition", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/get_commission_payment_composition", )
[docs] def get_commission_payments( **kwargs: Unpack[RequestParameters], ) -> Any: """Get Commission Payments. POST /api/v2/commissions/get_commission_payments """ request_json: dict[str, Any] = {} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/get_commission_payments", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/get_commission_payments" )
[docs] def get_delayed_commission_accounting_entries( **kwargs: Unpack[RequestParameters], ) -> Any: """Get Delayed Commission Accounting Entries. POST /api/v2/commissions/get_delayed_commission_accounting_entries """ request_json: dict[str, Any] = {} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/get_delayed_commission_accounting_entries", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/get_delayed_commission_accounting_entries", )
[docs] def get_delayed_commission_entries_summary( **kwargs: Unpack[RequestParameters], ) -> Any: """Get Delayed Commission Entries Summary. POST /api/v2/commissions/get_delayed_commission_entries_summary """ request_json: dict[str, Any] = {} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/get_delayed_commission_entries_summary", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/get_delayed_commission_entries_summary", )
[docs] def write_off_negative_amount( **kwargs: Unpack[RequestParameters], ) -> Any: """Write Off Negative Amount. POST /api/v2/commissions/write_off_negative_amount """ request_json: dict[str, Any] = {} filtered_json = {k: v for k, v in request_json.items() if v is not None} request_result = API_CLIENT.do_request( path="/api/v2/commissions/write_off_negative_amount", json=filtered_json, method="POST", **kwargs, ) return API_CLIENT.process_result( request_result, endpoint="/api/v2/commissions/write_off_negative_amount" )
__all__.extend( [ "batch_export_payments", "batch_review_payments", "batch_update_payment_methods", "create_adjustment", "download_commission_report", "email_commission_report", "get_commission_accounting_entries", "get_commission_payment_composition", "get_commission_payments", "get_delayed_commission_accounting_entries", "get_delayed_commission_entries_summary", "write_off_negative_amount", ] )