import requests
import os
# Define the API endpoint
url = "https://app.stammer.ai/en/chatbot/api/your_chabot_uuid/datafile/upload/with-training/"
# Set up authentication and headers
headers = {
'Authorization': 'Token <YOUR-API-TOKEN>',
'Accept': 'application/json'
}
# Files to upload with their properties
files_to_upload = [
{
"file_path": "path/to/ex1.pdf",
"content_type": "application/pdf"
}
]
# Example of uploading multiple files
# Note: The API expects files to be sent as 'files[]'
upload_files = []
for file_info in files_to_upload:
upload_files.append(
('files[]',
(os.path.basename(file_info['file_path']),
open(file_info['file_path'], 'rb'),
file_info['content_type']))
)
# Upload the files
response = requests.post(url, headers=headers, files=upload_files)
# Process the response
if response.status_code in (200, 201, 202):
result = response.json()
print("Response data:", result)
else:
try:
error_data = response.json()
error_message = error_data.get('message') or error_data.get('error', 'Unknown error')
print(f"Error: {error_message}")
except ValueError:
print(f"Error: Status code {response.status_code}")
print(f"Response content: {response.text}")