Merkliste

berape-API für Partner

Zeige berape-Anzeigen auf deiner Website und lass Besucher Anzeigen aufgeben, ohne deine Seite zu verlassen. Alle Anzeigen landen in einer gemeinsamen Datenbank; über deine Website aufgegebene Anzeigen werden dir zugeordnet.

Am schnellsten: das Widget

Füge diese zwei Zeilen in deine Seite ein. Kein Programmieren nötig; das Aussehen übernimmt Linkfarbe und Schrift deiner Website.

<script src="https://berape.com/widget/v1.js" defer></script>

<!-- Kompletter Markt: Suche, Details, WhatsApp-Chat, Anzeige aufgeben, meine Anzeigen -->
<berape-pasar kunci="pk_…"></berape-pasar>

<!-- Kleine Box, z. B. auf der Startseite oder neben Artikeln -->
<berape-terbaru kunci="pk_…" jumlah="4" tautan="/pasar"></berape-terbaru>

Optionale Attribute: lokasi (PLZ oder Ort), radius (km), kategori (Slug), warna (z. B. #0a6ebd), sudut (px), bahasa (id, de oder en; Standard: Sprache deiner Seite), jumlah und tautan (deine Marktseite, für <berape-terbaru>). Ohne lokasi verwendet das Widget den Standardort deines Partnerkontos.

WordPress

WordPress-Website: Installiere das Plugin berape Pasar (Plugins → Neues Plugin hinzufügen → Plugin hochladen), trage unter Einstellungen → berape Pasar den öffentlichen Schlüssel ein und schreibe [berape_pasar] auf eine neue Seite. Box mit neuesten Anzeigen: [berape_terbaru jumlah="4" tautan="/pasar"] oder das Widget Neueste berape-Anzeigen.

Schlüssel

  • Öffentlicher Schlüssel (pk_…): darf auf Webseiten stehen. Gilt nur von registrierten Domains aus (Header Origin).
  • Geheimer Schlüssel (sk_…): nur für deinen Server. Ohne Domain-Beschränkung, auch für Statistiken.

Sende den Schlüssel im Header X-Berape-Kunci. Die Schlüssel findest du nach Registrierung und Domain-Bestätigung im Partner-Dashboard.

Adresse

https://api.berape.com/v1, Antworten sind immer JSON. Fehler: {"galat": "…"} mit HTTP-Code 4xx/5xx.

Sprache

Hänge ?bahasa=de oder ?bahasa=en an, um Kategorienamen und Fehlermeldungen auf Deutsch oder Englisch zu erhalten. Die Originalmeldung steht weiterhin in galatAsli. Anzeigentexte bleiben so, wie der Verkäufer sie geschrieben hat. Feldnamen der API sind indonesisch (z. B. judul = Titel, harga = Preis).

Endpoint

GET/v1Schlüssel prüfen, Partnerinfo
GET/v1/kategoriKategorien und Unterkategorien (Slug für Suche und Aufgeben)
GET/v1/lokasi?q=294Vorschläge für PLZ, Stadt, Bezirk, Ortsteil beim Tippen
GET/v1/lokasi?kp=29432Ortsteile mit dieser PLZ (id → Feld desa)
GET/v1/iklan?q=&kategori=&lokasi=&radius=&min=&maks=&urut=&hal=Anzeigen suchen. Ohne lokasi: Standardort des Partners; lokasi=semua für ganz Indonesien
GET/v1/iklan/{id}Anzeigendetails (eigene Anzeigen auch vor Freischaltung, mit Token)
POST/v1/iklan/{id}/kontakWhatsApp-Link zum Verkäufer (zählt als Klick)
POST/v1/iklan/{id}/laporanAnzeige melden: {"alasan": "penipuan|terlarang|spam|salah|terjual|lainnya"}
POST/v1/masuk/kodeLogin-Code per WhatsApp an den Verkäufer: {"nomor": "0812…"}
POST/v1/masuk/verifikasi{"nomor", "kode"} → {"token"} (90 Tage)
POST/v1/masuk/pesanLogin per WhatsApp-Nachricht (wenn GET /v1 "masuk": "pesan" liefert): → {"id", "rahasia", "waUrl", "teks"}
POST/v1/masuk/pesan/cek{"id", "rahasia"} → {"status": "menunggu"} … {"status": "masuk", "token"}. Alle 2–3 Sekunden abfragen.
GET/v1/sayaVerkäuferdaten und seine Anzeigen (Token)
POST/v1/iklanAnzeige aufgeben, multipart (Token)
POST/v1/iklan/{id}Eigene Anzeige bearbeiten, multipart (Token)
POST/v1/iklan/{id}/aksi{"aksi": "terjual|perpanjang|hapus"} (Token)
GET/v1/statistikÜber deine Website aufgegebene Anzeigen (geheimer Schlüssel)

Beispiel: neueste Anzeigen rund um deine Stadt

const r = await fetch('https://api.berape.com/v1/iklan?lokasi=batam&radius=20', {
  headers: { 'X-Berape-Kunci': 'pk_…' },
})
const { iklan } = await r.json()
// iklan[0].judul (Titel), .harga (Preis), .foto[0].kecil, .lokasi.teks, .urlKanonik

Beispiel: Verkäufer einloggen und Anzeige aufgeben

// 1. Code an die WhatsApp des Verkäufers
await fetch('https://api.berape.com/v1/masuk/kode', { method: 'POST', headers, body: JSON.stringify({ nomor: '0812…' }) })
// 2. Verkäufer tippt den Code ein → Token
const { token } = await (await fetch('https://api.berape.com/v1/masuk/verifikasi', {
  method: 'POST', headers, body: JSON.stringify({ nomor: '0812…', kode: '123456' }),
})).json()
// 3. Anzeige aufgeben (multipart): judul, deskripsi, harga, nego, kondisi, kategori (Slug),
//    desa (id aus /lokasi?kp=), nama, foto (1–8 Dateien JPG/PNG/WebP)
const f = new FormData()
f.append('judul', 'Honda Beat 2019'); f.append('kategori', 'motor'); f.append('desa', '44754')
f.append('foto', fileInput.files[0])
await fetch('https://api.berape.com/v1/iklan', {
  method: 'POST', headers: { 'X-Berape-Kunci': 'pk_…', Authorization: 'Bearer ' + token }, body: f,
})

Regeln

  • Anzeigen neuer Verkäufer werden zuerst moderiert; die Antwort enthält "tayang": false.
  • Die WhatsApp-Nummer des Verkäufers wird nie übertragen; nutze /kontak für den Chat-Link.
  • Verlinke jede Anzeige auf urlKanonik (Originalseite auf berape.com), damit Google keinen doppelten Inhalt sieht.
  • Anfragelimit pro Schlüssel und Minute je nach Paket; darüber → HTTP 429.