Add delete_invoice functionality
This commit is contained in:
parent
c88a1b199d
commit
123eded3c6
15
api.py
15
api.py
|
@ -61,13 +61,16 @@ class OpenbravoToBanqupAPI:
|
|||
self.authHandler.checkHeaderTokens()
|
||||
response = self.doRequest(method, url, data, headers, files)
|
||||
|
||||
if 'json' in response.headers['Content-Type']:
|
||||
respContent = response.json()
|
||||
elif 'pdf' in response.headers['Content-Type']:
|
||||
respContent = response.content
|
||||
|
||||
if response.status_code != 204:
|
||||
if 'json' in response.headers['Content-Type']:
|
||||
respContent = response.json()
|
||||
elif 'pdf' in response.headers['Content-Type']:
|
||||
respContent = response.content
|
||||
else:
|
||||
respContent = ''
|
||||
|
||||
return response.status_code, response.headers, respContent
|
||||
|
||||
|
||||
def get(self, url, data=None, headers=None):
|
||||
status, headers, response = self.request('GET', url, data, headers)
|
||||
return status, headers, response
|
||||
|
|
35
delete_invoice.py
Normal file
35
delete_invoice.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
import requests
|
||||
from requests_oauthlib import OAuth2Session
|
||||
import json
|
||||
import sys
|
||||
import webbrowser
|
||||
from config import *
|
||||
from cachehandler import CacheHandler
|
||||
from authhandler import AuthHandler
|
||||
from api import OpenbravoToBanqupAPI
|
||||
from datetime import timedelta, date
|
||||
|
||||
def delete_invoice(document):
|
||||
|
||||
api = OpenbravoToBanqupAPI(bq_client_id,bq_client_secret)
|
||||
authUrl = api.authHandler.getAuthURL(bq_redirect_uri)
|
||||
webbrowser.open(authUrl)
|
||||
response = input('Paste response: ')
|
||||
token = api.authHandler.retrieveToken(response, redirectUri=bq_redirect_uri)
|
||||
#print(token)
|
||||
invoice_list = api.get('sales-invoices?client_id='+banqup_client_id+'&sales_invoice_number='+document,None,None)
|
||||
if not invoice_list[2]['results']:
|
||||
print('***********************')
|
||||
print('The invoice number provided does not exist in the Banqup portal.')
|
||||
print('Please verify and try again.')
|
||||
print('***********************')
|
||||
return
|
||||
invoice_id = str(invoice_list[2]['results'][0]['id'])
|
||||
#print(invoice_id)
|
||||
payload = json.dumps({})
|
||||
invoice_action = api.delete('sales-invoices/'+invoice_id,json.loads(payload),None)
|
||||
print(invoice_action)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
delete_invoice(str(sys.argv[1]))
|
Loading…
Reference in a new issue