Files
Brancheneinstufung2/connector-superoffice/tools/so_perfect_sync.py

58 lines
1.8 KiB
Python

import os
import requests
from dotenv import load_dotenv
# Load ENV
load_dotenv(dotenv_path="/home/node/clawd/.env", override=True)
def perfect_sync():
# Credentials
base_url = "https://app-sod.superoffice.com/Cust55774/api/v1"
headers = {
"Authorization": f"Bearer {os.getenv('SO_ACCESS_TOKEN')}", # Will be handled by client if needed, but here direct for speed
"Content-Type": "application/json",
"Accept": "application/json"
}
# We use the SuperOfficeClient to get a fresh token first
from repos.brancheneinstufung2.connector_superoffice.superoffice_client import SuperOfficeClient
client = SuperOfficeClient()
headers["Authorization"] = f"Bearer {client.access_token}"
print("--- Perfect Sync: Finalizing Robo-Planet (ID 2) ---")
payload = {
"contactId": 2,
"Name": "RoboPlanet GmbH-SOD",
"Number2": "123",
"UrlAddress": "http://robo-planet.de",
"OrgNr": "DE400464410",
"Department": "Perfectly Synchronized",
"Address": {
"Postal": {
"Address1": "Schatzbogen 39",
"City": "München",
"Zipcode": "81829"
},
"Street": {
"Address1": "Schatzbogen 39",
"City": "München",
"Zipcode": "81829"
}
},
"UserDefinedFields": {
"SuperOffice:5": "[I:23]" # Logistics
}
}
url = f"{base_url}/Contact/2"
resp = requests.put(url, headers=headers, json=payload)
if resp.status_code == 200:
print("🚀 BOOM. Website, VAT, Address and Vertical are now 100% correct.")
else:
print(f"❌ Error: {resp.text}")
if __name__ == "__main__":
perfect_sync()