Μια νέα εταιρεία, μια νέα επωνυμία, ένα εγγεγραμμένο γραφείο που άλλαξε ή μια νέα νομική μορφή σηματοδοτούν συχνά τη στιγμή που μια εταιρεία αρχίζει να αγοράζει. Το API παρακολουθεί τους λογαριασμούς του CRM σας, σας στέλνει την αλλαγή από το Τμήμα Εφόρου Εταιρειών και Διανοητικής Ιδιοκτησίας (ΤΕΕΔΙ) και σας δείχνει τις εταιρείες που μπήκαν στο μητρώο. Μόνο σε επίπεδο εταιρείας, χωρίς προσωπικά δεδομένα προσώπων.
Για την Κύπρο, το API καταγράφει την εμφάνιση μιας νέας εταιρείας στο μητρώο και τις αλλαγές επωνυμίας, νομικής μορφής, εγγεγραμμένου γραφείου και κατάστασης. Κάθε συμβάν έχει ένα event_type:
| Αλλαγή | event_type | Γιατί ενδιαφέρει τις πωλήσεις |
|---|---|---|
| Νέα εταιρεία στο μητρώο | new_incorporation | Μια νέα εταιρεία χρειάζεται τράπεζα, λογιστή, ασφάλιση, λογισμικό και γραφείο |
| Νέα επωνυμία | name_change | Η αλλαγή επωνυμίας ανοίγει ξανά συμβάσεις, τιμολόγια και συστήματα |
| Νέα νομική μορφή | legal_form_change | Η μετατροπή αλλάζει τις συμβάσεις και συχνά τις ανάγκες της εταιρείας |
| Νέο εγγεγραμμένο γραφείο | address_change | Νέα έδρα: διαρρύθμιση, υπηρεσίες, τοπικοί προμηθευτές. Μπορεί όμως να είναι απλώς η διεύθυνση λογιστή ή παρόχου εταιρικών υπηρεσιών |
| Διαγραφή σε εκκρεμότητα | status_change | Η εταιρεία κινδυνεύει να φύγει από το μητρώο: σταματήστε την πώληση και ελέγξτε |
| Εκκαθάριση, διαχείριση, διαγραφή | liquidation, insolvency, dissolution | Σταματά η πώληση, προστατεύεται το τιμολόγιο και καθαρίζει το CRM |
Πίσω από τις αλλαγές εγγεγραμμένου γραφείου και επωνυμίας υπάρχει μια δήλωση στον Έφορο Εταιρειών: το εγγεγραμμένο γραφείο δηλώνεται με το έντυπο HE2 εντός 14 ημερών και η αλλαγή επωνυμίας προϋποθέτει έγκριση του νέου ονόματος και υποβολή του ψηφίσματος εντός 15 ημερών. Στο API η αλλαγή φαίνεται μόνο όταν περάσει στα δεδομένα.
Δεν υπάρχει μετοχικό κεφάλαιο για την Κύπρο, άρα ούτε συμβάντα capital_change. Κάθε συμβάν έχει previous_value και new_value, ώστε να βλέπετε τι άλλαξε χωρίς δεύτερη κλήση. Τα ονόματα και οι διευθύνσεις αποθηκεύονται όπως υποβλήθηκαν, σε ελληνικούς ή λατινικούς χαρακτήρες και συχνά με κεφαλαία και τόνους: κανονικοποιήστε πεζά-κεφαλαία και τόνους πριν τα συγκρίνετε με το CRM.
Τα κυπριακά δεδομένα διαβάζονται μηνιαία, και μια αλλαγή εμφανίζεται με τη μηνιαία ανάγνωση. Η ημερομηνία ενός συμβάντος είναι η ημέρα της ανάγνωσης που είδε πρώτη φορά την αλλαγή (event_date), όχι η ημέρα που καταχωρίστηκε στο ΤΕΕΔΙ· το ιστορικό ξεκινά από την πρώτη φόρτωση των δεδομένων, τον Οκτώβριο 2026. Μια κενή λίστα σημαίνει απλώς ότι δεν έχει φανεί ακόμη καμία αλλαγή.
Αντιστοιχίστε κάθε λογαριασμό με την καταχώρισή του στο μητρώο μία φορά, ενεργοποιήστε την παρακολούθηση με POST /monitor και κρατήστε τον κωδικό του CRM ως label: επιστρέφει σε κάθε ειδοποίηση. Η παρακολούθηση δεν καταναλώνει μονάδες χρέωσης και αφορά μόνο ό,τι συμβαίνει μετά την ενεργοποίησή της· το παρελθόν μιας εταιρείας το διαβάζετε με GET /company-events/search?country=CY&company_number=HE165 (2 μονάδες χρέωσης).
import requests
BASE = 'https://api.prometiam.com/functions/v1/risk-api'
H = {'Authorization': 'Bearer rk_live_...'}
# Οι λογαριασμοί-στόχοι όπως τους έχει το CRM: αριθμός εγγραφής και κωδικός CRM
accounts = [('HE165', 'crm-1001'), ('HE835', 'crm-1002')]
for number, crm_id in accounts:
r = requests.get(f'{BASE}/companies/search', headers=H,
params={'country': 'CY', 'company_number': number})
r.raise_for_status()
hits = r.json()['data']
if not hits:
continue
m = requests.post(f'{BASE}/monitor', headers=H, json={
'company_id': hits[0]['id'],
'country': 'CY',
'label': crm_id, # επιστρέφει σε κάθε ειδοποίηση
'events': ['corporate_event', 'status_change', 'dissolution'],
'webhook_url': 'https://example.com/hooks/prometiam',
})
m.raise_for_status()
secret = m.json()['data']['webhook_secret'] # εμφανίζεται μία φορά: αποθηκεύστε το
Κάθε ειδοποίηση φτάνει υπογεγραμμένη. Η κεφαλίδα X-Prometiam-Signature περιέχει sha256= και το HMAC-SHA256 του σώματος, υπολογισμένο με το webhook_secret, που το POST /monitor επιστρέφει μόνο μία φορά. Ελέγξτε την υπογραφή πριν δημιουργήσετε την εργασία για τον πωλητή· μια απάντηση 2xx επιβεβαιώνει την παραλαβή, αλλιώς η παράδοση επαναλαμβάνεται.
import hashlib, hmac, json, os
SECRET = os.environ['PROMETIAM_WEBHOOK_SECRET'].encode() # webhook_secret από το POST /monitor
def handle_alert(body: bytes, signature: str) -> int:
"""body: το ακατέργαστο σώμα του αιτήματος· signature: η κεφαλίδα X-Prometiam-Signature."""
mine = 'sha256=' + hmac.new(SECRET, body, hashlib.sha256).hexdigest()
if not hmac.compare_digest(signature, mine):
return 401
alert = json.loads(body)
# alert['label'] = ο κωδικός CRM, alert['alert_type'], alert['company']['name'], alert['event_date']
# στο corporate_event: alert['detail'] = {'event_type': 'name_change', 'previous_value': ..., 'new_value': ...}
... # δημιουργήστε την εργασία για τον υπεύθυνο του λογαριασμού alert['label']
return 204
Τα webhooks περιλαμβάνονται σε όλα τα πακέτα. Οι ειδοποιήσεις διαβάζονται και με GET /monitor (οι παρακολουθήσεις σας και οι 50 τελευταίες ειδοποιήσεις), οπότε μια νυχτερινή εργασία μπορεί να αντικαταστήσει το webhook. Η δοκιμή παρακολουθεί 3 εταιρείες, το Starter 25, το Professional 250 και το Scale 2.500.
Χωρίς επωνυμία και χωρίς αριθμό εγγραφής, η ίδια κλήση είναι η ροή συμβάντων της χώρας: ό,τι καταγράφηκε στο μητρώο, από το νεότερο στο παλαιότερο, με φίλτρο event_type. Το date_from έχει προεπιλογή 7 ημέρες πριν και μπορεί να φτάσει το πολύ 31 ημέρες πριν (παλαιότερη ημερομηνία απορρίπτεται με 400). Μια κλήση κοστίζει 2 μονάδες χρέωσης για έως 100 συμβάντα και η επόμενη σελίδα ζητείται με next_cursor.
# Οι εταιρείες που εμφανίστηκαν στο μητρώο τις τελευταίες 30 ημέρες, οι νεότερες πρώτες (100 συμβάντα ανά κλήση) # macOS: date -v-30d +%F αντί για date -d '30 days ago' +%F curl "https://api.prometiam.com/functions/v1/risk-api/company-events/search?country=CY&event_type=new_incorporation&date_from=$(date -d '30 days ago' +%F)&limit=100" \ -H 'Authorization: Bearer rk_live_...'
Επειδή η πηγή διαβάζεται μηνιαία, το διάστημα των 7 ημερών μπορεί να επιστρέψει κενή λίστα ανάμεσα σε δύο αναγνώσεις· γι’ αυτό το παράδειγμα ξεκινά από 30 ημέρες πίσω. Μια εργασία που τρέχει συχνά κρατά την πιο πρόσφατη event_date που είδε, ξεκινά από εκεί και αφαιρεί διπλότυπα με βάση το id του συμβάντος. Η ροή φτάνει το πολύ 31 ημέρες πίσω: τρέξτε την τουλάχιστον μία φορά τον μήνα.
Το founded_after απαριθμεί τις εταιρείες που ιδρύθηκαν από μια ημερομηνία και μετά, χωρίς επωνυμία, από τη νεότερη στην παλαιότερη: έως 100 εταιρείες ανά κλήση, με 1 μονάδα χρέωσης και next_cursor για την επόμενη σελίδα. Κάθε εγγραφή έχει founding_date, την επαρχία στο region (π.χ. NICOSIA, LARNACA, PAPHOS, LIMASSOL), την πόλη στο city και τη νομική μορφή στο legal_form.
# Εταιρείες που ιδρύθηκαν από 1 Σεπτεμβρίου, οι νεότερες πρώτες (100 ανά κλήση) curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=CY&founded_after=2026-09-01&limit=100' \ -H 'Authorization: Bearer rk_live_...'
Για την Κύπρο δεν υπάρχει κωδικός δραστηριότητας ούτε μετοχικό κεφάλαιο, οπότε οι νέες εταιρείες δεν φιλτράρονται ανά κλάδο ή κεφάλαιο (μια παράμετρος cnae= απορρίπτεται με 400). Το φίλτρο ανά επαρχία ή νομική μορφή το κάνετε στον κώδικά σας:
def new_companies(since, region='LIMASSOL'):
"""Εταιρείες που ιδρύθηκαν από μια ημερομηνία, σε μία επαρχία (χρησιμοποιεί τα requests, BASE, H από πάνω)."""
cursor = None
while True:
params = {'country': 'CY', 'founded_after': since, 'limit': 100}
if cursor:
params['cursor'] = cursor
r = requests.get(f'{BASE}/companies/search', headers=H, params=params)
r.raise_for_status()
body = r.json()
for c in body['data']:
if c['region'] == region:
yield c['company_number'], c['company_name'], c['founding_date']
cursor = body['pagination']['next_cursor']
if not cursor:
break
Το meta.data_as_of δείχνει την ημερομηνία στην οποία αναφέρονται τα δεδομένα· οι εταιρείες που εγγράφηκαν μετά από αυτήν εμφανίζονται στην επόμενη ανάγνωση. Κάθε σελίδα 100 εταιρειών κοστίζει 1 μονάδα χρέωσης.
vat= απορρίπτεται.Η παρακολούθηση δεν καταναλώνει μονάδες χρέωσης: το πακέτο ορίζει πόσες εταιρείες παρακολουθείτε (3 στη δοκιμή, 25 στο Starter, 250 στο Professional και 2.500 στο Scale· τα webhooks περιλαμβάνονται σε κάθε πακέτο). Μια αναζήτηση εταιρείας κοστίζει 1 μονάδα χρέωσης και μια αναζήτηση συμβάντων ή μια κλήση στη ροή της χώρας 2· τα σφάλματα δεν κοστίζουν τίποτα. Στη δοκιμή, οι αναζητήσεις συμβάντων (και η ροή της χώρας) έχουν όριο 25 κλήσεων τον μήνα· από το Starter και πάνω το όριο αυτό δεν ισχύει. Το Starter κοστίζει 9,99 € τον μήνα με 1.000 μονάδες χρέωσης, το Professional 29,99 € με 10.000 και το Scale 99,99 € με 50.000. Η δωρεάν δοκιμή διαρκεί 14 ημέρες και περιλαμβάνει 500 μονάδες χρέωσης: απαιτείται κάρτα, δεν γίνεται καμία χρέωση κατά τη δοκιμή και στη συνέχεια ισχύει το Starter (9,99 € τον μήνα), εκτός αν ακυρώσετε. Δείτε τις τιμές.
Contains data from the Department of the Registrar of Companies and Intellectual Property (DRCOR), Republic of Cyprus, via data.gov.cy, CC BY 4.0
Ξεκινήστε τη δωρεάν δοκιμή 14 ημερών · Τεκμηρίωση API
Η δοκιμή διαρκεί 14 ημέρες και περιλαμβάνει 500 μονάδες χρέωσης. Απαιτείται κάρτα, δεν γίνεται καμία χρέωση κατά τη διάρκειά της, και στη συνέχεια ισχύει το πακέτο Starter (9,99 € τον μήνα), εκτός αν ακυρώσετε.