Penyisipan atau pembaruan yang dideduplikasi berdasarkan tax_id, plus pencarian registri resmi (di Rumania: ANAF) agar faktur elektronik tidak ditolak.
Faktur pertama Anda dalam 6 langkah
- POST /v1/clients membuat atau memperbarui klien, dideduplikasi berdasarkan tax_id dan, jika tidak ada, berdasarkan nama yang dinormalisasi.
- GET /v1/clients mendaftar klien dengan limit, offset, dan pencarian teks bebas q.
- GET /v1/lookup/company/{tax_id} memvalidasi nomor pajak terhadap registri resmi (di Rumania: CUI di ANAF) dan mengembalikan data resminya.
- Isi otomatis buyer dari hasil pencarian agar e-Factura tidak ditolak karena nama atau alamat yang sudah usang.
Semua endpoint
| Metode | Endpoint | Scope | Idempotency-Key | Permintaan / menit |
|---|---|---|---|---|
| GET | /clients Daftar klien | clients:read | — | 120 |
| POST | /clients Buat atau perbarui klien | clients:write | — | 30 |
| GET | /lookup/company/{tax_id} Validasi nomor pajak terhadap registri resmi (di Rumania: ANAF) | clients:read | — | 120 |
Apa itu API 4invoices
bash
# Dideduplikasi berdasarkan tax_id, dan jika tidak ada, berdasarkan nama yang dinormalisasi:
# mengirim ulang klien yang sama akan MEMPERBARUI datanya, bukan membuat duplikat.
curl -sS -X POST https://api.4invoices.net/v1/clients \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "Exemplu Comert SRL",
"tax_id": "RO12345678",
"email": "[email protected]",
"country": "RO",
"county": "Cluj",
"city": "Cluj-Napoca",
"address": "Str. Fabricii 12",
"iban": "RO49AAAA1B31007593840000"
}'bash
curl -sS https://api.4invoices.net/v1/lookup/company/RO12345678 \
-H "Authorization: Bearer $ACCESS_TOKEN"
# Data resmi dari registri (di Rumania: ANAF) — gunakan untuk mengisi "buyer" terlebih dahulu agar
# e-Factura tidak ditolak karena nama atau alamat yang sudah usang.https://api.4invoices.net/v1 · https://api.4invoices.net/v1/openapi.json
Kesalahan umum
- Anda tidak perlu menyimpan klien untuk menerbitkan: objek buyer dapat dikirim langsung di POST /invoices.
- Untuk pembeli Rumania, county harus berupa județ yang benar; untuk Bucharest, letakkan sektor di city.
- tax_id diterima dengan atau tanpa prefiks negara (RO12345678 atau 12345678).
- Mengirim ulang klien yang sama memperbarui catatannya, sehingga impor berulang tidak membuat duplikat.
Tanya jawab untuk pengembang
Scope apa yang dibutuhkan pencarian registri?
clients:read. Menulis klien memerlukan clients:write.
Bisakah saya mengimpor ribuan klien dari sistem lama?
Bisa, tetapi patuhi ember tulis 30 per menit. Impor dalam batch dengan backoff saat menerima 429.
Bagaimana jika nomor pajak tidak ada di registri?
Pencarian mengembalikan 404 not_found. Anda tetap dapat menerbitkan dengan data sendiri, tetapi berisiko ditolak saat pengajuan.