Hi everyone,
I'm working on retrieving a PDF from an external API (in base64 format), decoding it in Python using a Zapier Code step, and generating the PDF successfully. However, I'm stuck on how to store this PDF in Zapier so that I can attach it in a later step.
The PDF filenames vary with each activation: "filename": f"{salesorder_id}.pdf".
Here’s the code I’m using:
import requests
import base64
# Get sales order ID
salesorder_id = input_data.get('salesorder_id', '')
# API URL for PDF retrieval
salesorder_pdf_url = f'https://api.example.com/documents/salesorder/{salesorder_id}/pdf'
headers = {
    "accept": "application/json",
    "key": "XXXXXX"  # API key is replaced for security
}
# API call to get the PDF
response = requests.get(salesorder_pdf_url, headers=headers)
if response.status_code == 200:
    json_response = response.json()
    data = json_response.get("data")
    if data:
        pdf_data = base64.b64decode(data)
        return {"pdf_data": base64.b64encode(pdf_data).decode('utf-8'), "filename": f"{salesorder_id}.pdf"}
    else:
        return {"error": "Data not found in the response."}
else:
    return {"error": f"Request failed with status code {response.status_code}."}
# Decode base64 to bytes and attempt to store in Zapier
pdf_bytes = base64.b64decode(pdf_data)
# StoreClient code for Zapier
store = StoreClient('XXXXXX')
sales_order_storage_key = store.store(f"{salesorder_id}.pdf", pdf_bytes)
Does anyone have experience with storing files in Zapier for later use as attachments? Any guidance on where I might be going wrong or how I can properly store the PDF?
Thanks in advance!
