Вставка або оновлення з дедуплікацією за tax_id і запит до реєстру ANAF (Румунія), щоб електронний рахунок не було відхилено.
Перший рахунок за 6 кроків
- POST /v1/clients створює або оновлює клієнта з дедуплікацією за tax_id, а за його відсутності — за нормалізованою назвою.
- GET /v1/clients повертає список клієнтів з ліміт, offset і вільним текстом q.
- GET /v1/lookup/company/{tax_id} перевіряє CUI в реєстрі ANAF (Румунія) і повертає офіційні дані.
- Попередньо заповнюйте покупець з результату пошуку, щоб e-Factura не було відхилено через застарілу назву чи адресу.
Усі ендпоїнти
| Метод | Ендпоїнт | Scope | Idempotency-Key | Запитів / хвилину |
|---|---|---|---|---|
| GET | /clients Список клієнтів | clients:read | — | 120 |
| POST | /clients Створити або оновити клієнта | clients:write | — | 30 |
| GET | /lookup/company/{tax_id} Перевірити CUI у реєстрі ANAF (Румунія) | clients:read | — | 120 |
Що таке API 4invoices
bash
# Дедуплікація за tax_id, а за його відсутності — за нормалізованою назвою:
# повторне надсилання того самого клієнта його ОНОВЛЮЄ, а не створює дублікат.
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"
# Офіційні дані з реєстру ANAF (Румунія) — використовуйте їх, щоб заздалегідь заповнити "buyer", аби
# e-Factura не відхилили через застарілу назву чи адресу.https://api.4invoices.net/v1 · https://api.4invoices.net/v1/openapi.json
Типові помилки
- Для випуску не потрібен збережений клієнт: об’єкт покупець можна передати безпосередньо у POST /invoices.
- Для румунських покупців county має бути справжнім повітом; для Бухареста вкажіть сектор у місто.
- tax_id приймається з префіксом країни або без нього (RO12345678 чи 12345678).
- Повторне надсилання того самого клієнта оновлює запис, тож повторний імпорт не створює дублікатів.
Питання та відповіді для розробників
Яка область доступу потрібна для пошуку в реєстрі ANAF (Румунія)?
clients:read. Для запису клієнтів потрібен clients:write.
Чи можна імпортувати тисячі клієнтів зі старої системи?
Так, але дотримуйтеся кошика запису на 30 за хвилину. Імпортуйте партіями з експоненційна затримка у разі 429.
А якщо CUI немає в реєстрі?
Пошук повертає 404 not_found. Ви все одно можете виставити рахунок із власними даними, але ризикуєте відхиленням національною системою електронного виставлення рахунків під час подання.