feat(so-sync): final round-trip tools and infrastructure fixes
This commit is contained in:
57
so_perfect_sync.py
Normal file
57
so_perfect_sync.py
Normal file
@@ -0,0 +1,57 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user