Hi TI support,
I was trying to create a quote but I got 401 error saying 'InvalidAPICallAsNoApiProductMatchFound'
I am sure I have my Sandbox client_id and client_secret correct since they work on PlaceOrder and RetriveOrder.
from TI_Backlog_API_V2 import TI_Backlog_Quotes
class Backlog_Example_Script:
def __init__(self, client_id, client_secret, server):
self.server = server
self.client_id = client_id
self.client_secret = client_secret
self.quotesAPI = TI_Backlog_Quotes(client_id=client_id, client_secret=client_secret, server=server)
def create_quote(self, part_number, quantity, customer_name):
self.quotesAPI.add_item_to_quote(part_number=part_number, quantity=quantity)
response = self.quotesAPI.post_quote(customer_name=customer_name)
if response.status_code == 200:
quote_number = response.json().get('quotes', [{}])[0].get('quoteNumber')
print(f"Quote created successfully. Quote Number: {quote_number}")
return quote_number
else:
print(f"Failed to create quote: {response.status_code}, {response.text}")
return None
# Usage example
if __name__ == "__main__":
client_id = 'masked' # Replace with your actual client ID
client_secret = 'masked' # Replace with your actual client secret
server = 'https://transact-pre.ti.com' # Replace with the actual server URL
part_number = 'SN74LS00N' # Replace with the actual part number
quantity = 10000 # Replace with the actual quantity
customer_name = 'Test Customer' # Replace with the actual customer name
backlog_script = Backlog_Example_Script(client_id, client_secret, server)
quote_number = backlog_script.create_quote(part_number, quantity, customer_name)
if quote_number:
print("Quote Number:", quote_number)
else:
print("Quote could not be created.")
Error message:
WARNING: Unexpected HTTP status code 401.
Failed to create quote: 401, {"fault":{"faultstring":"Invalid API call as no apiproduct match found","detail":{"errorcode":"keymanagement.service.InvalidAPICallAsNoApiProductMatchFound"}}}
Thanks,
David