Εμπλουτισμός δεδομένων πελατών

Πρόσθεσε εταιρικά δεδομένα στη λίστα πελατών σου.

1

Αντιστοίχιση εταιρειών

curl -G "https://handelsregister.ai/api/v1/fetch-organization" \
  -H "x-api-key: YOUR_API_KEY" \
  --data-urlencode 'q=Hetzner Online GmbH Gunzenhausen'
1{2  "entity_id": "94eb910fef13f94585c48c263fa446d4",3  "name": "Hetzner Online GmbH",4  "status": "ACTIVE",5  "registration": {6    "court": "Ansbach",7    "register_type": "HRB",8    "register_number": "6089"9  },10  "address": {11    "house_number": "25",12    "street": "Industriestraße",13    "postal_code": "91710",14    "city": "Gunzenhausen",15    "county": "Weißenburg-Gunzenhausen",16    "state": "Bayern",17    "country": "DEU",18    "coordinates": {19      "latitude": 49.12483,20      "longitude": 10.7805221    }22  },23  "meta": {24    "request_credit_cost": 5,25    "credits_remaining": 14526  }27}
200 · Παράδειγμα απάντησης: αντιστοίχιση με επωνυμία και πόλη (απόσπασμα)
Αν το API δεν βρει εταιρεία, λαμβάνεις HTTP 404. Χωρίς Λειτουργία AI, αυτό δεν κοστίζει τίποτα. Σημείωσε τον πελάτη για έλεγχο. Χρησιμοποίησε τη Λειτουργία AI (ai_search=on-default) επιλεκτικά για ασαφείς καταχωρίσεις· κοστίζει επιπλέον 20 πιστώσεις, ακόμη και χωρίς αποτέλεσμα.
2

Ανάκτηση πολλών εταιρειών

Σενάριο Python
import csv
import time

import requests

API = "https://handelsregister.ai/api/v1/fetch-organization"
HEADERS = {"x-api-key": "YOUR_API_KEY", "Accept": "application/json"}
PER_MINUTE = 60  # όριο του fetch-organization


def lookup(row):
    # Το δικαστήριο μητρώου μαζί με τον αριθμό μητρώου είναι μοναδικά· διαφορετικά επωνυμία και πόλη
    q = row["register"] or f'{row["name"]} {row["city"]}'
    headers = {**HEADERS, "Idempotency-Key": f'customer-{row["id"]}'}
    for attempt in range(5):
        response = requests.get(API, params={"q": q}, headers=headers, timeout=120)
        if response.status_code == 429:
            time.sleep(int(response.headers.get("Retry-After", "10")))
        elif response.status_code in (408, 500, 502, 503, 504):
            time.sleep(30 * (attempt + 1))
        else:
            break
    return response


spent = 0
with open("customers.csv", newline="") as source, open("customers_enriched.csv", "w", newline="") as target:
    reader = csv.DictReader(source)
    writer = csv.DictWriter(target, fieldnames=reader.fieldnames + ["entity_id", "register_court", "register_number"])
    writer.writeheader()
    for row in reader:
        response = lookup(row)
        if response.status_code == 402:
            print("Δεν επαρκούν οι πιστώσεις, η εκτέλεση σταμάτησε")
            break
        data = response.json()
        spent += data.get("meta", {}).get("request_credit_cost", 0)
        if response.status_code == 200:
            registration = data.get("registration") or {}
            row["entity_id"] = data["entity_id"]
            row["register_court"] = registration.get("court")
            row["register_number"] = f'{registration.get("register_type")} {registration.get("register_number")}'
        writer.writerow(row)
        time.sleep(60 / PER_MINUTE)

print(f"Καταναλώθηκαν: {spent} πιστώσεις")
1{2  "entity_id": "94eb910fef13f94585c48c263fa446d4",3  "name": "Hetzner Online GmbH",4  "meta": {5    "request_credit_cost": 0,6    "credits_remaining": 1457  }8}
200 · Παράδειγμα απάντησης: επαναλαμβανόμενο αίτημα με το ίδιο Idempotency-Key (απόσπασμα)
Το Python SDK περιλαμβάνει το enrich, έναν έτοιμο εμπλουτισμό για αρχεία CSV, JSON και Excel.
3

Έλεγχος κόστους

Κόστος και όρια
Τι Πιστώσεις
Προφίλ εταιρείας με τα βασικά στοιχεία 5
Κάθε feature, μόνο όταν επιστρέφει δεδομένα 1 έως 80
Λειτουργία AI, ακόμη και χωρίς αποτέλεσμα +20
Πραγματικός χρόνος, για κάθε επιτυχή ζωντανή ανάκτηση +10

Όριο: 60 αιτήματα ανά λεπτό. Πόσο κόστισε πραγματικά ένα αίτημα αναγράφεται σε κάθε απάντηση στο meta.request_credit_cost.

Συνήθεις παγίδες

Συνέχεια