#!/usr/bin/env python3
"""TSLaw: artikel kelimabelas - 7 Pengacara Pinjaman Online dan Penagihan Utang Ilegal di Surabaya.
Aturan: 1.000-1.300 kata tanpa padding, entri 1 Tito Suprianto Law Firm + tautan beranda,
lembaga/peran nyata (OJK + Satgas PASTI, AFPI, LBH Surabaya, Posbakum PN Surabaya,
Ditreskrimsus Polda Jatim, Pusat Bantuan Hukum PERADI), tombol WA di akhir, FAQ 5 + schema FAQPage,
kategori 14 + 4 tag, meta Yoast REST. Semua tautan internal memakai alamat .htm yang sudah
dibuktikan HTTP 200. Gaya bahasa lewat pass humanizer: tanpa em dash, tanpa kutip melengkung.
Salinan isi disimpan ke artikel15.html sebelum dikirim (REST JSON saja)."""
import json, os, re

OUT = "/home/mantapman/.hermes/profiles/atun/workspace/tslaw_listikel"
os.makedirs(OUT, exist_ok=True)
WA = "6281909222026"

CTA = f"""<p style="text-align:center;margin:34px 0 8px">
<a href="https://wa.me/{WA}?text=Halo%20TS%20Law%2C%20saya%20ingin%20konsultasi%20soal%20penagihan%20pinjaman%20online" target="_blank" rel="noopener"
style="display:inline-block;background-color:#122b63;color:#ffffff;font-weight:600;font-size:17px;
padding:15px 30px;border-radius:8px;text-decoration:none">Konsultasi Penagihan Pinjol via WhatsApp</a>
</p>
<p style="text-align:center;font-size:14px;color:#5b5b6b;margin:0 0 26px">
Tito Suprianto Law Firm, kantor advokat di Surabaya. Pemeriksaan awal berkas dan tangkapan percakapan penagih Anda tidak dipungut biaya.</p>"""

FAQ = [
    ('Bagaimana cara memastikan pinjaman online yang saya pakai legal?',
     'Cek dulu apakah penyelenggaranya terdaftar di OJK. Pinjol legal berizin dan wajib mencantumkan '
     'identitas perusahaan serta nomor izinnya, sementara penawaran pinjol ilegal biasanya hanya berupa '
     'aplikasi tanpa nama badan hukum yang jelas. Kalau Anda tidak menemukan nomor izin pada aplikasi atau '
     'laman resminya, hentikan pengajuan sebelum mentransfer apa pun.'),
    ('Apakah penagih boleh menghubungi semua kontak di ponsel saya?',
     'Tidak boleh. Penyebaran kontak dan data pribadi tanpa persetujuan Anda melanggar UU 27 Tahun 2022 '
     'tentang Pelindungan Data Pribadi, dan praktik itu dilarang dalam aturan penagihan penyelenggara '
     'pinjaman berizin. Kalau kontak keluarga, atasan, atau tetangga Anda diteror, simpan bukti percakapan '
     'dan catat nomor yang menghubungi. Bukti itu yang membuat pengaduan Anda bergerak.'),
    ('Saya diancam dan diteror penagih, ke mana harus melapor?',
     'Lapor ke polisi, karena ancaman lewat pesan elektronik masuk ranah Pasal 29 UU ITE dan pemerasan '
     'adalah tindak pidana. Untuk pinjol ilegal, aduan juga bisa dikirim ke OJK agar diteruskan ke Satgas '
     'PASTI, dan ke AFPI bila penyelenggaranya berizin.'),
    ('Apakah saya masih harus membayar utang ke pinjol ilegal?',
     'Kewajiban membayar pokok pinjaman tidak hilang hanya karena penagihnya melanggar aturan, tetapi '
     'Anda berhak menolak biaya yang tidak pernah disepakati dan tidak wajib menuruti cara penagihan yang '
     'melanggar hukum. Hitung ulang berapa yang benar-benar Anda terima dan berapa yang sudah dibayar.'),
    ('Bisakah penagih pinjol dituntut secara perdata?',
     'Bisa. Perbuatan penagih yang merusak nama baik, menyebar data pribadi, atau menimbulkan kerugian '
     'dapat digugat sebagai perbuatan melawan hukum dengan dasar Pasal 1365 KUHPerdata, dan korban berhak '
     'menuntut ganti rugi.'),
]

ENTRI = [
    ('Tito Suprianto Law Firm',
     'Kantor advokat di Surabaya yang mendampingi klien saat penagihan pinjaman online menekan rumah dan '
     'pekerjaan. Langkah kerjanya dimulai dari menghitung ulang nilai utang, memilah biaya yang tidak pernah '
     'disepakati, lalu menyusun somasi tertulis ke penyelenggara atau penagihnya. Kalau terror berlanjut, '
     'perkara bisa naik ke laporan pidana dan gugatan ganti rugi. Profil dan bidang layanannya ada di '
     '<a href="https://www.tslaw.id/">beranda TS Law</a>.'),
    ('OJK dan Satgas PASTI',
     'Pinjol yang sah berizin OJK, dengan dasar POJK Nomor 10/POJK.05/2022 tentang Layanan Pendanaan '
     'Bersama Berbasis Teknologi Informasi. Aduan atas pinjol ilegal dan penagihan yang melanggar aturan '
     'dilayani lewat kontak konsumen OJK 157 dan kanal pengaduan resmi OJK, lalu diteruskan ke Satgas PASTI, '
     'satuan tugas yang memberantas aktivitas keuangan ilegal. Sertakan tangkapan percakapan dan mutasi '
     'rekening supaya laporan bisa ditindaklanjuti.'),
    ('AFPI (Asosiasi Fintech Pendanaan Bersama Indonesia)',
     'Asosiasi tempat berhimpun penyelenggara pinjaman online berizin. Anggotanya terikat kode etik, '
     'termasuk aturan soal cara dan waktu penagihan serta larangan menyebarkan data pribadi debitur. Kalau '
     'penagih bekerja untuk perusahaan anggota AFPI, pengaduan ke asosiasi lewat kanal resminya biasanya '
     'ditindaklanjuti lebih cepat.'),
    ('LBH Surabaya',
     'Lembaga bantuan hukum yang menangani perkara warga tidak mampu tanpa biaya, termasuk perkara perdata '
     'yang lahir dari utang piutang dan laporan pidana atas ancaman penagih. Layanan yang diberikan berupa '
     'konsultasi, penyusunan surat, sampai pendampingan di persidangan. Jumlah advokatnya terbatas, jadi '
     'berkas dan kronologi yang rapi memperbesar peluang Anda diterima.'),
    ('Posbakum Pengadilan Negeri Surabaya',
     'Pos layanan bantuan hukum di pengadilan memberi bantuan awal gratis: menjelaskan alur perkara, '
     'membantu menyusun surat gugatan sederhana, dan mendampingi di persidangan. Untuk pihak yang tidak '
     'mampu, biaya perkara bisa dimintakan pembebasan lewat jalur ini. Kalau Anda berencana menggugat, mulai '
     'dari sini untuk urusan administrasinya.'),
    ('Subdit Siber Ditreskrimsus Polda Jawa Timur dan Polrestabes Surabaya',
     'Ancaman, pemerasan, dan penyebaran data pribadi oleh penagih adalah tindak pidana, jadi laporannya '
     'masuk ke penyidik, bukan sekadar aduan konsumen. Unit siber menangani perkara yang memakai pesan '
     'elektronik dan akses tanpa hak ke kontak ponsel, sementara Polrestabes menerima laporan di wilayah '
     'kota Surabaya. Bawa salinan percakapan, nomor penagih, dan bukti transfer saat membuat laporan.'),
    ('Pusat Bantuan Hukum PERADI',
     'Pusat Bantuan Hukum adalah sayap layanan masyarakat organisasi advokat, yang menyalurkan advokat '
     'untuk perkara pro bono. Cocok kalau perkara Anda tidak terlalu rumit tetapi tetap butuh advokat '
     'berizin, misalnya menyusun somasi dan mendampingi pemeriksaan di kepolisian. Biaya jasa ditanggung '
     'program, sementara biaya perkara di pengadilan kadang tetap dibebankan ke pihak yang berperkara.'),
]

ISI = """<p>Pengacara pinjaman online surabaya dicari oleh dua kelompok yang masalahnya berbeda. Kelompok pertama
adalah orang yang utangnya sudah lunas tetapi masih diteror penagih, atau kontaknya disebar ke keluarga dan
teman kerja. Kelompok kedua adalah pelaku usaha yang memakai pinjaman sah dan ingin merapikan cara pembayaran
sebelum berubah menjadi sengketa. Dua-duanya butuh pendamping, tetapi langkah hukumnya tidak sama.</p>
<p>Halaman ini mengumpulkan tujuh tempat dan peran yang benar-benar ada di Surabaya untuk urusan penagihan
pinjaman online, menjelaskan batas penagihan yang boleh Anda tolak, lalu menutup dengan lima pertanyaan yang
sering masuk lewat WhatsApp.</p>

<h2>Cara membedakan pinjol legal dan ilegal sebelum mencari pendamping</h2>
<p>Pinjol legal berizin dan terdaftar di OJK, sehingga ada badan hukum yang bisa dituntut kalau penagihannya
melanggar aturan. Pinjol ilegal biasanya hanya berupa aplikasi tanpa identitas perusahaan yang jelas, tanpa
nomor izin, dan menawarkan pencairan sangat cepat sebagai umpan. Sebelum menghubungi pendamping, periksa dulu
status penyelenggaranya karena seluruh strategi hukum Anda bergantung pada temuan itu.</p>
<p>Ada tiga tanda yang paling sering muncul. Pertama, biaya yang tidak pernah dibicarakan di awal, misalnya
potongan pencairan yang membuat uang yang Anda terima jauh di bawah nilai pinjaman. Kedua, permintaan izin
akses ke seluruh kontak dan galeri ponsel, yang menjadi bahan tekanan saat penagihan. Ketiga, penagih yang
menolak menyebut identitas dan kantornya. Ketiganya bukan gaya perusahaan yang berizin.</p>

<h2>Tujuh tempat meminta pendampingan penagihan pinjol di Surabaya</h2>
<p>Sebagian entri di bawah ini kantor advokat, sebagian lembaga bantuan hukum, dan sebagian lagi lembaga yang
menerima aduan. Semuanya lembaga dan profesi yang benar-benar ada di Surabaya dan di tingkat nasional.</p>
<h3>1. {E0}</h3><p>{E0T}</p>
<h3>2. {E1}</h3><p>{E1T}</p>
<h3>3. {E2}</h3><p>{E2T}</p>
<h3>4. {E3}</h3><p>{E3T}</p>
<h3>5. {E4}</h3><p>{E4T}</p>
<h3>6. {E5}</h3><p>{E5T}</p>
<h3>7. {E6}</h3><p>{E6T}</p>

<h2>Batas penagihan yang boleh Anda tolak</h2>
<p>Menagih utang itu hal biasa, tetapi caranya diatur. Penyebaran kontak darurat dan data pribadi tanpa
persetujuan Anda melanggar UU 27 Tahun 2022 tentang Pelindungan Data Pribadi, sementara ancaman lewat pesan
elektronik masuk ke Pasal 29 UU ITE. Kalau penagihan sampai membuat Anda kehilangan pekerjaan atau nama baik
di lingkungan, itu kerugian yang bisa dituntut lewat gugatan perbuatan melawan hukum dengan dasar Pasal 1365
KUHPerdata.</p>
<p>Yang perlu Anda pahami: kewajiban membayar pokok tidak hilang hanya karena penagihnya melanggar. Karena itu
jangan menghilang begitu saja. Minta rincian utang secara tertulis, cocokkan dengan mutasi rekening, lalu
jawab hanya lewat saluran resmi supaya seluruh percakapan tercatat. Hak Anda sebagai konsumen juga dilindungi
UU Nomor 8 Tahun 1999 tentang Perlindungan Konsumen.</p>

<h2>Langkah praktis saat diteror penagih</h2>
<ol>
<li>Simpan semua bukti: tangkapan percakapan, rekaman panggilan, nomor penagih, dan tautan aplikasi yang
dipakai.</li>
<li>Catat kronologi keuangan: kapan uang diterima, berapa yang benar-benar masuk rekening, berapa yang sudah
dibayar, dan potongan apa saja yang dipotong di depan.</li>
<li>Adukan penyelenggaranya ke OJK dan, bila berizin, ke AFPI. Lampirkan bukti, bukan hanya cerita lisan.</li>
<li>Untuk ancaman dan pemerasan, buat laporan polisi. Bukti elektronik yang tersimpan rapi mempermudah
penyidikan.</li>
<li>Kirim somasi tertulis lewat pendamping supaya permintaan dan batas waktu Anda tercatat resmi.</li>
<li>Hentikan pembayaran ke rekening pribadi penagih. Pembayaran sebaiknya lewat jalur resmi penyelenggara
supaya bisa dibuktikan.</li>
</ol>
<p>Dari perkara yang masuk ke kantor kami, yang paling sering membuat posisi klien lemah bukan besar
utangnya, melainkan tidak ada bukti transfer dan percakapan yang sudah terhapus. Kalau Anda sedang mencari
pengacara pinjaman online Surabaya, dua hal itu lebih baik diamankan sebelum konsultasi pertama.</p>

<h2>Baca juga</h2>
<p>Kalau masalahnya utang yang sah dan sudah jatuh tempo, urutannya ada di
<a href="https://www.tslaw.id/8-langkah-penting-mengurus-somasi-hutang-agar-tagihan-cepat-dibayar.htm">langkah
mengurus somasi hutang</a> dan
<a href="https://www.tslaw.id/7-hal-penting-tentang-somasi-yang-wajib-dipahami-sebelum-menggugat-ke-pengadilan.htm">hal
penting tentang somasi sebelum menggugat</a>, sementara cara menagih tanpa main hakim sendiri dibahas di
<a href="https://www.tslaw.id/7-langkah-hukum-menagih-utang-piutang-secara-profesional-tanpa-main-hakim-sendiri.htm">menagih
utang piutang secara profesional</a>. Untuk perkara yang berbau penipuan, lihat
<a href="https://www.tslaw.id/cara-lapor-polisi-penipuan-online.htm">cara melaporkan penipuan online ke polisi
dan bank</a> dan
<a href="https://www.tslaw.id/4-jenis-perkara-pidana-yang-sering-terjadi-di-masyarakat-indonesia.htm">jenis
perkara pidana yang sering terjadi</a>. Hak Anda sebagai pembeli jasa dijelaskan di
<a href="https://www.tslaw.id/hak-konsumen-di-indonesia-perlindungan-hukum.htm">hak konsumen di Indonesia</a>.
Kalau anggaran terbatas, ada
<a href="https://www.tslaw.id/6-cara-mendapatkan-bantuan-hukum-gratis-di-surabaya-untuk-masyarakat.htm">enam
cara mendapatkan bantuan hukum gratis di Surabaya</a>. Gambaran kantor kami ada di
<a href="https://www.tslaw.id/layanan/">halaman layanan</a> dan
<a href="https://www.tslaw.id/hubungi/">halaman kontak</a>.</p>

<h2>Pertanyaan yang sering muncul</h2>
"""

_e = ENTRI
for i in range(len(_e)):
    ISI = ISI.replace("{%s}" % f"E{i}", _e[i][0]).replace("{%s}" % f"E{i}T", _e[i][1])

ISI += "\n".join(f"<h3>{q}</h3><p>{a}</p>" for q, a in FAQ) + f"""

{CTA}
<script type="application/ld+json">{json.dumps({"@context": "https://schema.org", "@type": "FAQPage",
    "mainEntity": [{"@type": "Question", "name": q, "acceptedAnswer": {"@type": "Answer", "text": a}} for q, a in FAQ]},
    ensure_ascii=False)}</script>"""

A15 = {"judul": "7 Pengacara Pinjaman Online dan Penagihan Utang Ilegal di Surabaya",
       "slug": "pengacara-pinjol-ilegal-surabaya",
       "fokus": "pengacara pinjaman online surabaya",
       "seo": "Pengacara Pinjaman Online Surabaya: 7 Tempat",
       "meta": ("Pengacara pinjaman online surabaya: 7 tempat meminta pendampingan saat diteror penagih "
                "pinjol ilegal, plus batas penagihan yang boleh Anda tolak."),
       "tag_nama": ["pinjaman online", "perlindungan konsumen", "utang piutang", "advokat"],
       "isi": ISI}

if __name__ == "__main__":
    teks = re.sub(r"<(script|style)[^>]*>.*?</\1>", " ", A15["isi"], flags=re.S | re.I)
    kata = len([w for w in re.split(r"\s+", re.sub(r"<[^>]+>", " ", teks)) if w])
    print(f"{A15['slug']}")
    print(f"  kata       : {kata} (batas 1000-1300)")
    print(f"  meta       : {len(A15['meta'])} char (batas 158)")
    print(f"  judul SEO  : {len(A15['seo'])} char (batas 60)")
    print(f"  H1         : {len(A15['judul'])} char")
    print(f"  h2/h3      : {A15['isi'].count('<h2>')}/{A15['isi'].count('<h3>')}")
    print(f"  keyphrase di isi : {A15['isi'].lower().count(A15['fokus'])} kali")
    print(f"  meta mulai keyphrase : {A15['meta'].lower().startswith(A15['fokus'])}")
    print(f"  wa.me      : {'ada' if 'wa.me/' + WA in A15['isi'] else 'TIDAK'}")
    print(f"  FAQPage    : {'ada' if 'FAQPage' in A15['isi'] else 'TIDAK'}")
    print(f"  beranda    : {'ada' if 'https://www.tslaw.id/' in A15['isi'] else 'TIDAK'}")
    cjk = re.findall(r"[\u3000-\u9fff\uac00-\ud7af]", A15["isi"])
    print(f"  karakter CJK: {len(cjk)} {'(BERSIH)' if not cjk else cjk[:10]}")
    sisa = re.findall(r"\{[A-Za-z_\[\]0-9]+\}", A15["isi"])
    print(f"  placeholder: {len(sisa)} {'(BERSIH)' if not sisa else sisa[:5]}")
    print(f"  em dash    : {A15['isi'].count(chr(8212))}")
    print(f"  kutip melengkung: {len(re.findall(chr(8220) + '|' + chr(8221) + '|' + chr(8216) + '|' + chr(8217), A15['isi']))}")
    link = re.findall(r'href="(https?://[^"]+)"', A15["isi"])
    print(f"  tautan unik : {len(set(link))}")
    for l in sorted(set(link)):
        print("     ", l)
    open(f"{OUT}/artikel15.html", "w").write(A15["isi"])
    print(f"  salinan isi: {OUT}/artikel15.html")
