84 lines
2.5 KiB
Python
84 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
||
"""
|
||
Finaler Test: Junction-Entity API mit Filterung und syncId
|
||
"""
|
||
|
||
import requests
|
||
import json
|
||
|
||
BASE_URL = "https://crm.bitbylaw.com"
|
||
API_KEY = "e53def10eea27b92a6cd00f40a3e09a4"
|
||
HEADERS = {
|
||
"X-Api-Key": API_KEY,
|
||
"Content-Type": "application/json"
|
||
}
|
||
|
||
print("\n" + "="*80)
|
||
print(" "*25 + "Junction-Entity API - SUCCESS!")
|
||
print("="*80 + "\n")
|
||
|
||
# Test 1: Alle Junction-Einträge
|
||
print("1️⃣ Alle Verknüpfungen abrufen:")
|
||
response = requests.get(
|
||
f"{BASE_URL}/api/v1/CAICollectionCDokumente",
|
||
headers=HEADERS,
|
||
params={"maxSize": 10}
|
||
)
|
||
print(f" Status: {response.status_code}")
|
||
data = response.json()
|
||
print(f" Total: {data['total']}")
|
||
print(f" ✅ API funktioniert!\n")
|
||
|
||
# Test 2: Filterung nach Dokument-ID
|
||
print("2️⃣ Filterung nach Dokument-ID (testdoc999):")
|
||
response = requests.get(
|
||
f"{BASE_URL}/api/v1/CAICollectionCDokumente",
|
||
headers=HEADERS,
|
||
params={
|
||
"where[0][type]": "equals",
|
||
"where[0][attribute]": "cDokumenteId",
|
||
"where[0][value]": "testdoc999",
|
||
"select": "id,cDokumenteId,cAICollectionsId,syncId"
|
||
}
|
||
)
|
||
print(f" Status: {response.status_code}")
|
||
if response.status_code == 200:
|
||
data = response.json()
|
||
print(json.dumps(data, indent=2, ensure_ascii=False))
|
||
|
||
if data['list'] and 'syncId' in data['list'][0]:
|
||
print(f"\n ✅ syncId gefunden: {data['list'][0]['syncId']}")
|
||
print()
|
||
|
||
# Test 3: Suche nach syncId
|
||
print("3️⃣ Filterung nach syncId (SYNC-TEST-999):")
|
||
response = requests.get(
|
||
f"{BASE_URL}/api/v1/CAICollectionCDokumente",
|
||
headers=HEADERS,
|
||
params={
|
||
"where[0][type]": "equals",
|
||
"where[0][attribute]": "syncId",
|
||
"where[0][value]": "SYNC-TEST-999"
|
||
}
|
||
)
|
||
print(f" Status: {response.status_code}")
|
||
if response.status_code == 200:
|
||
data = response.json()
|
||
print(json.dumps(data, indent=2, ensure_ascii=False))
|
||
if data['list']:
|
||
entry = data['list'][0]
|
||
print(f"\n ✅ Verknüpfung gefunden:")
|
||
print(f" Dokument: {entry['cDokumenteId']}")
|
||
print(f" Collection: {entry['cAICollectionsId']}")
|
||
print(f" Sync-ID: {entry['syncId']}")
|
||
print()
|
||
|
||
print("="*80)
|
||
print("✅ VOLLSTÄNDIGER ERFOLG!")
|
||
print("="*80)
|
||
print("\nDie Junction-Entity ist via REST-API verfügbar und gibt die syncId zurück!")
|
||
print("- Endpoint: /api/v1/CAICollectionCDokumente")
|
||
print("- Filterung funktioniert (where-Clauses)")
|
||
print("- Alle additionalColumns (syncId) sind in der Response")
|
||
print("\n" + "="*80 + "\n")
|