org.openbravo.kikobar.banqup/delete_invoice.py

36 lines
1.2 KiB
Python
Raw Normal View History

2024-01-25 19:15:33 +00:00
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]))