"""API Client for ows-payee.""" import requests class PayeeAPIClient: """API Client for ows-payee.""" def __init__(self, base_url, headers): """Initialize ows_payee_APIClient class.""" self.base_url = base_url self.headers = headers def post_payoneer_mass_payout(self, body, program_id='100158940'): """POST against /payoneer/programs//mass-payouts endpoint.""" endpoint = '{}/payoneer/programs/{}/mass-payouts'.format( self.base_url, program_id ) return requests.post(endpoint, headers=self.headers, json=body) def post_account_payee_tax_details(self, account_payee_id, body): """POST against /account-payee/{account_payee_id}/tax-details endpoint.""" endpoint = '{}/account-payee/{}/tax-details'.format( self.base_url, account_payee_id ) return requests.post(endpoint, headers=self.headers, json=body) def get_account_payee_tax_details(self, account_payee_id): """GET against /account-payee/{account_payee_id}/tax-details endpoint.""" endpoint = '{}/account-payee/{}/tax-details'.format( self.base_url, account_payee_id ) return requests.get(endpoint, headers=self.headers) def get_account_payee_tax_details_receipt(self, account_payee_id): """GET /account-payee/{account_payee_id}/tax-details/receipt .""" endpoint = '{}/account-payee/{}/tax-details/receipt'.format( self.base_url, account_payee_id ) return requests.get(endpoint, headers=self.headers) def get_account_payee_payoneer_status(self, account_payee_id): """GET /account-payee/{account_payee_id}/payoneer-status .""" endpoint = '{}/account-payee/{}/payoneer-status'.format( self.base_url, account_payee_id ) return requests.get(endpoint, headers=self.headers) def get_account_payee_tax_details_receipt_url(self, account_payee_id): """GET /account-payee/{account_payee_id}/tax-details/receipt-url .""" endpoint = '{}/account-payee/{}/tax-details/receipt-url'.format( self.base_url, account_payee_id ) return requests.get(endpoint, headers=self.headers) def post_payoneer_registration_link(self, body): """POST against /payoneer/registration-link endpoint.""" endpoint = '{}/payoneer/registration-link'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=body) def get_account_payee_tax_details_history(self, account_payee_id): """GET /account-payee/{account_payee_id}/tax-details-history endpoint.""" endpoint = '{}/account-payee/{}/tax-details-history'.format( self.base_url, account_payee_id ) return requests.get(endpoint, headers=self.headers) def post_account_payee_tax_details_dataloader(self, body): """POST /account-payee/tax-details-dataloader endpoint.""" endpoint = '{}/account-payee/tax-details-dataloader'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=body) def get_account_payee_knr_details_history(self, account_payee_id): """GET /account-payee/{account_payee_id}/knr-details-history endpoint.""" endpoint = '{}/account-payee/{}/knr-details-history'.format( self.base_url, account_payee_id ) return requests.get(endpoint, headers=self.headers) def post_account_payee_knr_details_dataloader(self, body): """POST /account-payee/knr-details-dataloader endpoint.""" endpoint = '{}/account-payee/knr-details-dataloader'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=body) def post_tax_withholding_override_dataloader(self, body): """POST /account-payee/withholding-tax-override/dataloader endpoint.""" endpoint = '{}/account-payee/withholding-tax-override/dataloader'.format( self.base_url ) return requests.post(endpoint, headers=self.headers, json=body) def post_tax_withholding_override(self, account_payee_id, body): """POST /account-payee//withholding-tax-override endpoint.""" endpoint = '{}/account-payee/{}/withholding-tax-override'.format( self.base_url, account_payee_id ) return requests.post(endpoint, headers=self.headers, json=body)