API pro eurodluby (1.0.1 beta)

Stáhnout specifikaci OpenAPI:Ke stažení

Podpora eurodluhů: support@eurodebt.eu URL: https://eurodebt.eu Licence: Proprietární

Eurodebt API poskytuje služby ověřování společností a dopravců pro evropské firmy.

Základní URL

https://api.eurodebt.eu/api/{version}
Verze Status URL
verze 1.0.1 beta https://api.eurodebt.eu/api/v1.0

Začínáme

  1. Získejte klíč API z ovládacího panelu Eurodebt. Přejděte do sekce Správa > Nastavení > Klíče API a klikněte na tlačítko „Vytvořit klíč API“.
  2. Zahrňte klíč API do všech požadavků prostřednictvím x-api-key hlavička
  3. Odesílejte žádosti o ověření a získejte výsledky prostřednictvím webhooků nebo dotazování

Ověřování

Všechny požadavky API vyžadují ověření pomocí klíče API. Uveďte svůj klíč API v x-api-key záhlaví.

x-api-key: your-api-key-here

Klíče API mají oprávnění, která řídí přístup k různým koncovým bodům:

  • čístPřístup k načtení žádostí o ověření, zpráv a údajů o využití
  • zapsatMožnost odeslat nové žádosti o ověření

Omezení rychlosti

API je omezeno rychlostí 100 požadavků za minutu za klíč API. V případě omezení rychlosti obdržíte 429 Too Many Requests odpověď.

Záhlaví limitu rychlosti jsou zahrnuta ve všech odpovědích:

  • RateLimit-LimitMaximální počet požadavků na okno
  • RateLimit-RemainingZbývající požadavky v aktuálním okně
  • RateLimit-ResetČas, kdy se limit rychlosti resetuje (časové razítko Unixu)

Webhooks

Webhooky vám umožňují dostávat upozornění v reálném čase, když na vašem účtu dojde k událostem. Místo dotazování API na aktualizace zadáte URL adresu a Eurodebt na ni odešle požadavky HTTP POST, když dojde k relevantním událostem.

Jak fungují webhooky

  1. Konfigurace: Poskytněte a webhookUrl při odesílání požadavku (např. požadavek na ověření, generování PDF)
  2. Událost nastanePo dokončení nebo neúspěchu operace odešle Eurodebt požadavek POST na vaši URL adresu.
  3. ProcesVáš server přijme datovou část, ověří podpis a zpracuje data.
  4. PotvrditDo 10 sekund vraťte stavový kód 2xx pro potvrzení přijetí

Zabezpečení webhooku (ověřování podpisu)

Všechny požadavky na webhook jsou podepsány pomocí HMAC-SHA256 s tajným kódem webhooku vašeho API klíče. Podpis je součástí X-Eurodebt-Signature záhlaví.

Formát záhlaví: sha256=<hex-encoded-signature>

Node.js / Express:

const crypto = require('crypto');

app.post('/webhook', (req, res) => {
  const signature = req.headers['x-eurodebt-signature'];
  
  const expected = 'sha256=' + crypto
    .createHmac('sha256', WEBHOOK_SECRET)
    .update(JSON.stringify(req.body))
    .digest('hex');

  if (signature !== expected) {
    return res.status(401).send('Invalid signature');
  }

  res.status(200).send('OK');
});

Python / Baňka:

import hmac, hashlib

@app.route('/webhook', methods=['POST'])
def webhook():
    signature = request.headers.get('X-Eurodebt-Signature', '')
    expected = 'sha256=' + hmac.new(WEBHOOK_SECRET.encode(), request.data, hashlib.sha256).hexdigest()

    if not hmac.compare_digest(signature, expected):
        return 'Invalid signature', 401

    return 'OK', 200

PHP:

$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_EURODEBT_SIGNATURE'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $payload, WEBHOOK_SECRET);

if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit('Invalid signature');
}

http_response_code(200);

Záhlaví webhooku

Každý požadavek webhooku obsahuje následující hlavičky:

Hlavička Hodnota
Content-Type application/json
User-Agent Eurodebt-Webhook/1.0
X-Eurodebt-Signature sha256=<signature>

Zásady opakování webhooku

Pokud se doručení webhooku nezdaří, systém implementuje mechanismus automatického opakování:

  1. Okamžité opakované pokusyAž 3 pokusy se zpožděním 1 s, 5 s a 30 s
  2. Plánované opakované pokusyPokud okamžité opakované pokusy selžou, webhook naplánuje opakované pokusy na pozadí v rostoucích intervalech:
    • 5 minut, 15 minut, 30 minut, 1 hodina, 2 hodiny, 4 hodiny, 8 hodin
  3. Maximální počet opakováníPo celkem 10 pokusech je webhook označen jako neúspěšný.

Chyby, které lze opakovat:

  • Časové limity sítě a chyby připojení
  • Chyby serveru HTTP 5xx

Chyby, které nelze opakovat (žádné další pokusy):

  • Chyby klienta HTTP 4xx (kromě 429)

Stav doručení webhooku

Stav doručení webhooku můžete zkontrolovat načtením požadavku na ověření:

Status Popis
pending Webhook je ve frontě nebo čeká na opakování
delivered Webhook byl úspěšně doručen
failed Všechny pokusy o opakování byly vyčerpány

Důležité poznámky

  • Odpovězte rychleVrátit status 2xx do 10 sekund pro potvrzení přijetí
  • Ověření podpisůVždy ověřte X-Eurodebt-Signature hlavička

Ověřovací proces

  1. Podat žádostPOST /verification/submit Vrací requestId
  2. Zpracování → Ověření je zpracováno
  3. Dokončení → Webhook se odesílá (pokud je nakonfigurován) s status: "completed" or status: "rejected"
  4. Načíst zprávu → Použití verificationId z webhooku nebo ankety GET /verification/request/{id}

Jazyky

Několik koncových bodů podporuje language parametr pro přeložitelná pole.

🇧🇬 bg bulharský 🇨🇿 cs Čeština 🏴󠁧󠁢󠁷󠁬󠁳󠁿 cy velšský 🇩🇰 da dánský
🇩🇪 de Němčina 🇬🇷 el řecký ???????? en angličtina ???????? es Španělština
🇪🇪 et estonský 🇫🇮 fi finský 🇫🇷 fr Francouzština 🇮🇪 ga irský
🇭🇷 hr chorvatský 🇭🇺 hu Maďarština 🇮🇸 is islandský 🇮🇹 it Italština
🇱🇹 lt litevský 🇱🇻 lv lotyština 🇲🇹 mt Maltézák 🇳🇱 nl Holandština
🇵🇱 pl Polština 🇵🇹 pt portugalský 🇷🇴 ro rumunský 🇷🇺 ru ruský
🇸🇰 sk slovenština 🇸🇮 sl slovinština 🇸🇪 sv Švédština 🇹🇷 tr turecký
🇺🇦 uk ukrajinský

Vypořádání se s chybou

Všechny chyby vracejí konzistentní strukturu JSON:

{
  "error": {
    "type": "ERROR_TYPE",
    "message": "Human-readable error description"
  }
}
Stav HTTP Typ chyby Popis
400 BAD_REQUEST Neplatné parametry požadavku
401 UNAUTHORIZED Chybějící, neplatný nebo vypršelý klíč API
402 PAYMENT_REQUIRED Nedostatek finančních prostředků nebo kreditů
403 FORBIDDEN Klíč API postrádá potřebná oprávnění.
404 NOT_FOUND Zdroj nenalezen
429 TOO_MANY_REQUESTS Překročen limit rychlosti
500 INTERNAL_SERVER_ERROR Chyba serveru

Ověření

Koncové body pro odesílání a načítání žádostí a zpráv o ověření

Odeslat žádost o ověření

Odešlete žádost o ověření nové společnosti nebo dopravce.

Tento koncový bod vyžaduje write oprávnění k vašemu API klíči.

Doba zpracování

Zpracování pracovní doby:
Žádosti podané během naší pracovní doby (Pondělí–pátek, 7:00–18:00 SEČ) jsou obvykle zpracovány během několika minut.

Zpracování po pracovní době:
Žádosti podané mimo pracovní dobu mohou být zařazeny do fronty ke zpracování následující pracovní den. Naše automatizované systémy však i nadále zpracovávají žádosti 24 hodin denně, 7 dní v týdnu, kdykoli je to možné, takže výsledky můžete obdržet i mimo standardní otevírací dobu.

Oznámení webhooku

Pokud webhookUrl Pokud je poskytnuta informace, bude po dokončení nebo zamítnutí ověření odesláno oznámení. Datová část webhooku obsahuje:

  • requestId: Použijte k porovnání s vašimi záznamy
  • verificationId: Slouží k načtení celé zprávy (pouze v případě úspěšného dokončení)
  • statusStav požadavku (pending, completednebo rejected)
  • rejectReasonDůvod odmítnutí čitelný člověkem (přeložen do požadovaného jazyka)

Podívejte se Webhooks sekce pro formát datové části, ověření podpisu a zásady opakování.

Alternativa: Průzkum

Pokud nepoužíváte webhooky, můžete provádět ankety GET /verification/request/{id} pro kontrolu stavu.

oprávnění:
ApiKeyAuth
Schéma těla požadavku: app/json
typ
požadováno
šňůra
Enum: "společnost" "dopravce"

Typ ověření, které se má provést

kód země
požadováno
šňůra = 2 znaky

Kód země ISO 3166-1 alpha-2

DIČ
požadováno
šňůra [1 .. 18] znaků

DIČ bez předpony kódu země

Jméno společnosti
šňůra <= 256 znaků

Volitelný název společnosti pro referenci

URL webhooku
šňůra <Odkazy>

URL adresa pro příjem oznámení webhookem po dokončení ověření. Musí se jednat o platnou URL adresu HTTP nebo HTTPS. HTTPS se důrazně doporučuje pro produkční prostředí. Podrobnosti o formátu dat a zabezpečení naleznete v části Webhooky.

Odpovědi

Vyžádejte si vzorky

Typ obsahu
app/json
Příklad
{}

Ukázky odpovědí

Typ obsahu
app/json
{
  • "requestId": "507f1f77bcf86cd799439011"
}

Získejte žádost o ověření

Získání podrobností o konkrétní žádosti o ověření podle jejího ID.

Tento koncový bod vyžaduje read oprávnění k vašemu API klíči.

oprávnění:
ApiKeyAuth
cesta parametry
id
požadováno
šňůra^[af\d]{24}$
Příklad: 507f1f77bcf86cd799439011

ID žádosti o ověření

dotaz parametry
jazyk
šňůra
Výchozí hodnota: "en"
Enum: „bg“ „cs“ "cy" "a" "de" "el" "en" „es“ "a další" "fi" „fr“ "ga" "hod" "hu" "je" "pes" "lt" "lv" "mt" "nl" "pl" "pt" "ro" "ru" „sk“ „sl“ sv. "tr" "Spojené království"
Příklad: jazyk=cs

Kód jazyka pro přeložitelná pole

Odpovědi

Ukázky odpovědí

Typ obsahu
app/json
{
  • "request": {
    }
}

Seznam žádostí o ověření

Získejte stránkovaný seznam všech žádostí o ověření pro vaši společnost.

Tento koncový bod vyžaduje read oprávnění k vašemu API klíči.

Výsledky jsou seřazeny sestupně podle data vytvoření (od nejnovějších).

oprávnění:
ApiKeyAuth
dotaz parametry
typ
šňůra
Výchozí hodnota: "žádný"
Enum: "společnost" "dopravce" "žádný"

Filtrovat požadavky podle typu ověření

limit
celé číslo [1 .. 25]
Výchozí hodnota: 10

Maximální počet požadavků k vrácení (1–25)

ofset
celé číslo > = 0
Výchozí hodnota: 0

Počet požadavků, které se mají přeskočit kvůli stránkování

jazyk
šňůra
Výchozí hodnota: "en"
Enum: „bg“ „cs“ "cy" "a" "de" "el" "en" „es“ "a další" "fi" „fr“ "ga" "hod" "hu" "je" "pes" "lt" "lv" "mt" "nl" "pl" "pt" "ro" "ru" „sk“ „sl“ sv. "tr" "Spojené království"
Příklad: jazyk=cs

Kód jazyka pro přeložitelná pole

Odpovědi

Ukázky odpovědí

Typ obsahu
app/json
{
  • "requests": [
    ],
  • "total": 42
}

Získejte ověřovací zprávu

Načíst vyplněnou ověřovací zprávu podle jejího číselného ID.

Tento koncový bod vyžaduje read oprávnění k vašemu API klíči.

Zpráva obsahuje podrobné výsledky ověření, včetně informací o společnosti, finančních údajů, ukazatelů rizika a dalších v závislosti na typu ověření.

oprávnění:
ApiKeyAuth
cesta parametry
id
požadováno
celé číslo
Příklad: 12345

Číselné ID ověřovací zprávy

dotaz parametry
jazyk
šňůra
Výchozí hodnota: "en"
Enum: „bg“ „cs“ "cy" "a" "de" "el" "en" „es“ "a další" "fi" „fr“ "ga" "hod" "hu" "je" "pes" "lt" "lv" "mt" "nl" "pl" "pt" "ro" "ru" „sk“ „sl“ sv. "tr" "Spojené království"
Příklad: jazyk=cs

Kód jazyka pro přeložitelná pole

Odpovědi

Ukázky odpovědí

Typ obsahu
app/json
{
  • "report": {
    }
}

Vyžádat si generování PDF ověřovací zprávy

Požádejte o asynchronní generování ověřovací zprávy ve formátu PDF dokumentu.

Tento koncový bod vyžaduje read oprávnění k vašemu API klíči.

Doručování asynchronního webhooku

Generování PDF probíhá asynchronně. Po dokončení je na vámi zadanou adresu odeslán webhook. webhookUrl s dočasným odkazem ke stažení. URL je platná 1 hodinu.

Koncový bod se okamžitě vrátí s requestId sledovat generaci.

Omezení rychlosti

Generování PDF je náročné na zdroje a má samostatné omezení rychlosti (výchozí: 1 požadavek za minutu na klíč API).

Užitečné zatížení webhooku

O úspěchu:

{
  "requestId": "507f1f77bcf86cd799439011",
  "verificationId": 12345,
  "status": "completed",
  "downloadUrl": "https://...",
  "dateExpires": "2024-01-15T15:45:00.000Z",
  "fileName": "EURODEBT.eu - PL1234567890 - ABC12XYZ.pdf"
}

Při selhání:

{
  "requestId": "507f1f77bcf86cd799439011",
  "verificationId": 12345,
  "status": "failed"
}

Webhook je podepsán stejným X-Eurodebt-Signature záhlaví jako ostatní webhooky.

oprávnění:
ApiKeyAuth
cesta parametry
id
požadováno
celé číslo
Příklad: 12345

Číselné ID ověřovací zprávy

Schéma těla požadavku: app/json
jazyk
šňůra
Výchozí hodnota: "en"
Enum: „bg“ „cs“ "cy" "a" "de" "el" "en" „es“ "a další" "fi" „fr“ "ga" "hod" "hu" "je" "pes" "lt" "lv" "mt" "nl" "pl" "pt" "ro" "ru" „sk“ „sl“ sv. "tr" "Spojené království"

Jazykový kód pro přeložená pole v PDF

URL webhooku
požadováno
šňůra <Odkazy>

URL adresa pro příjem upozornění webhookem, když je PDF připraveno. Musí se jednat o platnou URL adresu HTTP nebo HTTPS. HTTPS se důrazně doporučuje.

Odpovědi

Vyžádejte si vzorky

Typ obsahu
app/json
Příklad
{}

Ukázky odpovědí

Typ obsahu
app/json
{
  • "requestId": "507f1f77bcf86cd799439011",
  • "status": "queued"
}

Seznam ověřovacích zpráv

Získejte stránkovaný seznam všech dokončených ověřovacích zpráv pro vaši společnost.

Tento koncový bod vyžaduje read oprávnění k vašemu API klíči.

Výsledky jsou seřazeny sestupně podle data vytvoření (od nejnovějších). Vrátí souhrnnou verzi sestav vhodnou pro výpisy.

oprávnění:
ApiKeyAuth
dotaz parametry
typ
šňůra
Výchozí hodnota: "žádný"
Enum: "společnost" "dopravce" "žádný"

Filtrovat přehledy podle typu ověření

limit
celé číslo [1 .. 25]
Výchozí hodnota: 10

Maximální počet vrácených reportů (1–25)

ofset
celé číslo > = 0
Výchozí hodnota: 0

Počet sestav, které se mají přeskočit kvůli stránkování

kód země
šňůra = 2 znaky
Příklad: kód země=PL

Filtrovat podle kódu země ISO 3166-1 alpha-2 (např. PL, DE)

DIČ
šňůra [1 .. 32] znaků
Příklad: DIČ = 123456

Filtrovat podle DIČ

hledat
šňůra [2 .. 128] znaků
Příklad: hledat=Doprava

Hledat v názvu firmy

Odpovědi

Ukázky odpovědí

Typ obsahu
app/json
{
  • "reports": [
    ],
  • "total": 156
}

Používání

Koncové body pro monitorování využití účtu a kvót

Získejte informace o používání účtu

Získejte aktuální informace o využití vašeho účtu, včetně zůstatku bodů, kvót balíčků a aktivních předplatných.

Tento koncový bod vyžaduje read oprávnění k vašemu API klíči.

oprávnění:
ApiKeyAuth

Odpovědi

Ukázky odpovědí

Typ obsahu
app/json
{
  • "usage": {
    }
}

Webhooks

Zpětná volání webhooku odeslaná Eurodebtem po dokončení operací. Každý typ webhooku má svou vlastní strukturu datové části popsanou níže.

Ověření dokončeno zpětné volání webhook

Tento webhook je odeslán do vaší nakonfigurované webhookUrl když je žádost o ověření dokončena nebo zamítnuta.

důležité: Váš koncový bod by měl:

  • Vrátit stavový kód 2xx do 10 sekund
  • Ověřte podpis pomocí X-Eurodebt-Signature hlavička

Webhook se v případě selhání automaticky pokusí o opětovné spuštění (viz Zásady opakování webhooku v hlavním popisu).

Struktura užitečného zatížení

{
  "apiVersion": "1.0",
  "requestId": "507f1f77bcf86cd799439011",
  "verificationId": 12345,
  "countryCode": "PL",
  "vatNumber": "1234567890",
  "companyName": "Przykładowa Firma Sp. z o.o.",
  "type": "company",
  "status": "completed",
  "rejectReason": null,
  "dateCreated": "2024-01-15T10:30:00.000Z",
  "dateCompleted": "2024-01-15T14:45:00.000Z"
}

Pole užitečného zatížení

Pole Typ Popis
apiVersion šňůra Verze API, která vytvořila požadavek
requestId šňůra ID žádosti o ověření
verificationId celé číslo Číselné ID dokončené ověřovací zprávy (pouze v případě úspěšného dokončení)
countryCode šňůra Kód země ISO 3166-1 alpha-2
vatNumber šňůra Ověřené DIČ
companyName šňůra Název společnosti (pokud byl uveden při podání)
type šňůra Typ ověření: company or carrier
status šňůra Stav požadavku: pending, completednebo rejected
rejectReason šňůra Důvod zamítnutí (pokud bylo zamítnuto)
dateCreated šňůra Časové razítko ISO 8601 při odeslání žádosti
dateCompleted šňůra Časové razítko ISO 8601 po dokončení ověření
oprávnění:
ApiKeyAuth
Schéma těla požadavku: app/json
apiVersion
požadováno
šňůra

Verze API, která vytvořila požadavek na ověření

ID požadavku
požadováno
šňůra^[af\d]{24}$

ID žádosti o ověření

ověřovací ID
celé číslo

Číselné ID vyplněné ověřovací zprávy. Uvádí se pouze tehdy, když status is completed (ověření úspěšně dokončeno). Použijte toto ID s GET /verification/report/{id} pro získání celé zprávy.

kód země
požadováno
šňůra

Kód země ISO 3166-1 alpha-2

DIČ
požadováno
šňůra

Ověřené DIČ

Jméno společnosti
šňůra

Název společnosti

typ
požadováno
šňůra
Enum: "společnost" "dopravce"

Typ provedeného ověření

postavení
požadováno
šňůra (Stav žádosti o ověření)
Enum: "čeká" "dokončeno" „odmítnuto“

Stav žádosti o ověření:

  • pendingProbíhá ověřování
  • completedOvěření bylo úspěšně dokončeno
  • rejectedOvěření bylo zamítnuto (viz rejectReason pro detaily)
Důvod odmítnutí
řetězec nebo null

Důvod odmítnutí čitelný člověkem, přeložený do požadovaného jazyka. Zobrazuje se pouze tehdy, když je stav rejected.

datumVytvoření
požadováno
šňůra <čas schůzky>

Časové razítko ISO 8601, kdy byla žádost odeslána

datumDokončeno
šňůra <čas schůzky>

Časové razítko ISO 8601, kdy bylo ověření dokončeno nebo odmítnuto

Odpovědi

Vyžádejte si vzorky

Typ obsahu
app/json
Příklad
{
  • "apiVersion": "1.0",
  • "requestId": "507f1f77bcf86cd799439011",
  • "verificationId": 12345,
  • "countryCode": "PL",
  • "vatNumber": "1234567890",
  • "companyName": "Example Company Sp. z o.o.",
  • "type": "company",
  • "status": "completed",
  • "dateCreated": "2024-01-15T10:30:00.000Z",
  • "dateCompleted": "2024-01-15T14:45:00.000Z"
}