AndesOps-AI / backend /scratch_test_oc.py
Álvaro Valenzuela Valdes
feat: implement Purchase Order (OC) monitoring and real-time market monitor UI
5f2460b
raw
history blame
1.52 kB
import httpx
import asyncio
import json
import os
from dotenv import load_dotenv
load_dotenv()
async def test_oc_api():
ticket = os.getenv("MERCADO_PUBLICO_TICKET")
if not ticket:
print("No ticket found in .env")
return
# 1. Fetch today's OCs
url_list = f"https://api.mercadopublico.cl/servicios/v1/publico/ordenesdecompra.json?ticket={ticket}"
print(f"Fetching OCs: {url_list}")
async with httpx.AsyncClient(timeout=30) as client:
try:
resp = await client.get(url_list)
data = resp.json()
items = data.get("Listado", [])
print(f"Found {len(items)} OCs today.")
if items:
code = items[0].get("Codigo")
print(f"Fetching details for OC code: {code}")
url_detail = f"https://api.mercadopublico.cl/servicios/v1/publico/ordenesdecompra.json?codigo={code}&ticket={ticket}"
resp_detail = await client.get(url_detail)
detail_data = resp_detail.json()
print("OC Detail sample:")
# print(json.dumps(detail_data, indent=2))
with open("oc_sample_detail.json", "w") as f:
json.dump(detail_data, f, indent=2)
print("Saved to oc_sample_detail.json")
except Exception as e:
print(f"Error: {e}")
if __name__ == "__main__":
asyncio.run(test_oc_api())