Hızlı başlangıç
Dört adımda ilk entegrasyon. Örnekler deneme anahtarıyla çalışır; gerçek anahtarda aynı istekler gerçek şirketlerinizle çalışır.
0. Deneme anahtarı
Panelde API Anahtarları › Deneme anahtarı oluştur. Anahtar ve gizli anahtarı ortam değişkenine koyun:
export ULAWK_ANAHTAR="ulk_DENEME_ANAHTARINIZ"
export ULAWK_GIZLI="ulsk_DENEME_GIZLI_ANAHTARINIZ"1. Şirketi takibe alın
İstek beklemez: kayıt hemen açılır, ilanlar ve profil arka planda hazırlanır. Şirket listenizde zaten varsa zaten_var döner, paket hakkı harcanmaz.
curl -X POST https://ulawk.com/api/v1/sirket-ekle/ \
-H "X-API-Key: $ULAWK_ANAHTAR" -H "X-API-Secret: $ULAWK_GIZLI" \
-H "Content-Type: application/json" \
-d '{"mudurluk": "İSTANBUL", "sicil_no": "555555"}'Yanıtta sirket_id ve durum_adresi gelir (deneme ortamında DENEME-YAVAS).
2. Hazırlanmasını izleyin
asama: ilanlar-cekiliyor → gazeteler-indiriliyor → profil-hazirlaniyor → hazir. Birkaç dakikada bir sorgulayın.
curl https://ulawk.com/api/v1/sirketler/DENEME-YAVAS/durum/ \
-H "X-API-Key: $ULAWK_ANAHTAR" -H "X-API-Secret: $ULAWK_GIZLI"3. Profili okuyun
Her kayıtta kaynak var; veri_durumu her bölümün ne kadar tam olduğunu söyler.
curl https://ulawk.com/api/v1/sirketler/DENEME-100001/ \
-H "X-API-Key: $ULAWK_ANAHTAR" -H "X-API-Secret: $ULAWK_GIZLI"4. Değişikliklere abone olun
Seçtiğiniz kategorilerde değişiklik olunca ilanın kendisini imzalı olarak göndeririz. gizli yalnız bu yanıtta gelir; saklayın ve imzayı doğrulayın.
curl -X POST https://ulawk.com/api/v1/webhooklar/ \
-H "X-API-Key: $ULAWK_ANAHTAR" -H "X-API-Secret: $ULAWK_GIZLI" \
-H "Content-Type: application/json" \
-d '{"url": "https://sisteminiz.ornek.com/ulawk", "kategoriler": ["durum", "yetkililer"]}'Ardından POST /api/v1/webhooklar/{id}/test/ ile uydurma bir test bildirimi gönderin.
Hepsi bir arada (Python)
import os
import time
import requests
TABAN = "https://ulawk.com"
B = {"X-API-Key": os.environ["ULAWK_ANAHTAR"], "X-API-Secret": os.environ["ULAWK_GIZLI"]}
ekle = requests.post(f"{TABAN}/api/v1/sirket-ekle/", headers=B, json={"mudurluk": "İSTANBUL", "sicil_no": "555555"}, timeout=30).json()
for _ in range(30):
durum = requests.get(ekle["durum_adresi"], headers=B, timeout=30).json()
if durum["profil_hazir"] or durum["asama"] == "sube":
break
time.sleep(60) # deneme ortamında DENEME-YAVAS hiç hazır olmaz; döngü 30 denemede biter
sirket_id = ekle["sirket_id"] if durum["profil_hazir"] else "DENEME-100001" # deneme ortamında hazır örnek
profil = requests.get(f"{TABAN}/api/v1/sirketler/{sirket_id}/", headers=B, timeout=30).json()
for y in profil["yetkililer"] or []:
print(y["isim"], y["sifat"], y["kaynak"]["gazete_pdf"] if y["kaynak"] else "-")