diff --git a/ad_api/api/billing.py b/ad_api/api/billing.py index 55ac914..c07cfbe 100644 --- a/ad_api/api/billing.py +++ b/ad_api/api/billing.py @@ -56,4 +56,43 @@ def list_billing_notifications(self, **kwargs) -> ApiResponse: headers = {'Content-Type': request_contentType, 'Accept': accept_contentType} body = Utils.convert_body(kwargs.pop('body')) - return self._request(kwargs.pop('path'), data=body, params=kwargs, headers=headers) \ No newline at end of file + return self._request(kwargs.pop('path'), data=body, params=kwargs, headers=headers) + + + + @sp_endpoint('/billing/paymentMethods/list', method='POST') + def get_customer_payment_methods(self, **kwargs) -> ApiResponse: + r""" + """ + accept_contentType = 'application/vnd.paymentmethods.v1+json' + headers = {'Accept': accept_contentType} + return self._request(kwargs.pop('path'), params=kwargs, headers=headers) + + + + @sp_endpoint('/billing/invoices/pay', method='POST') + def pay_invoices(self, **kwargs) -> ApiResponse: + r""" + """ + accept_contentType = 'application/vnd.invoices.v1+json' + headers = {'Accept': accept_contentType} + body = Utils.convert_body(kwargs.pop('body'), False) + return self._request(kwargs.pop('path'), data=body, params=kwargs, headers=headers) + + @sp_endpoint('/billing/paymentAgreements/list', method='POST') + def get_payment_agreements(self, **kwargs) -> ApiResponse: + r""" + """ + accept_contentType = 'application/vnd.paymentagreements.v1+json' + headers = {'Accept': accept_contentType} + return self._request(kwargs.pop('path'), params=kwargs, headers=headers) + + + @sp_endpoint('/billing/paymentAgreements', method='POST') + def create_payment_agreements(self, **kwargs) -> ApiResponse: + r""" + """ + accept_contentType = 'application/vnd.paymentagreements.v1+json' + headers = {'Accept': accept_contentType} + body = Utils.convert_body(kwargs.pop('body'), False) + return self._request(kwargs.pop('path'), data=body, params=kwargs, headers=headers) diff --git a/ad_api/api/sb/negative_keywords.py b/ad_api/api/sb/negative_keywords.py index 5dff4a7..3c82e29 100644 --- a/ad_api/api/sb/negative_keywords.py +++ b/ad_api/api/sb/negative_keywords.py @@ -1,4 +1,4 @@ -from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse +from ad_api.base import Client, sp_endpoint, fill_query_params, ApiResponse, Utils class NegativeKeywords(Client): """ @@ -47,7 +47,8 @@ def edit_negative_keywords(self, **kwargs) -> ApiResponse: ApiResponse """ - return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs) + body = Utils.convert_body(kwargs.pop('body'), wrap=False) + return self._request(kwargs.pop('path'), data=body, params=kwargs) @sp_endpoint('/sb/negativeKeywords', method='POST') def create_negative_keywords(self, **kwargs) -> ApiResponse: @@ -73,7 +74,8 @@ def create_negative_keywords(self, **kwargs) -> ApiResponse: ApiResponse """ - return self._request(kwargs.pop('path'), data=kwargs.pop('body'), params=kwargs) + body = Utils.convert_body(kwargs.pop('body'), wrap=False) + return self._request(kwargs.pop('path'), data=body, params=kwargs) @sp_endpoint('/sb/negativeKeywords/{}', method='GET') def get_negative_keyword(self, keywordId, **kwargs) -> ApiResponse: diff --git a/ad_api/version.py b/ad_api/version.py index 7dd6fda..2468911 100644 --- a/ad_api/version.py +++ b/ad_api/version.py @@ -1 +1 @@ -__version__ = "0.5.1" \ No newline at end of file +__version__ = "0.5.2" \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 9750389..c301a16 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = python-amazon-ad-api -version = 0.5.1 +version = 0.5.2 author = Daniel Alvaro author_email = denisneuf@hotmail.com description = Python wrapper for the Amazon Advertising API diff --git a/setup.py b/setup.py index 63cf0f9..ed640bc 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='python-amazon-ad-api', - version='0.5.1', + version='0.5.2', install_requires=[ "requests>=2.27.1,<2.32.0", "six~=1.16.0",