Referencja API
Konto
Konto w trybie klucza: dane sprzedawcy drukowane na fakturach, stan połączenia z KSeF i wykorzystanie planu. Tryb testowy i produkcyjny mają osobne konta danych.
Obiekt Account
Konto w trybie klucza: dane sprzedawcy, połączenie z KSeF i wykorzystanie planu.
Pola
idstringwymaganeId konta.
Prefiks
acct_objectstringwymaganeRodzaj obiektu.
Zawsze
accountlivemodebooleanwymaganeTryb klucza.
emailstring | nullE-mail konta.
platformstringapialbowoocommerce(konto wtyczki).Jedna z:
api,woocommerceksef_environmentstringwymaganeŚrodowisko KSeF tego trybu.
Jedna z:
test,demo,prodsellerobjectwymaganeDane sprzedawcy na fakturach.
Pokaż pola
nipstring | nullNIP sprzedawcy.
namestring | nullNazwa sprzedawcy.
address_line1string | nullUlica i numer.
address_line2string | nullKod pocztowy i miasto.
seller_configuredbooleanwymaganeCzy dane sprzedawcy są kompletne.
ksef_connectedbooleanwymaganeCzy działa certyfikat lub token KSeF tego trybu.
ksef_check_errorstring | nullOpis problemu z połączeniem z KSeF albo
null.planobjectwymaganePlan i wykorzystanie w bieżącym miesiącu.
Pokaż pola
namestringwymaganeNazwa planu (w trybie testowym
Unlimited).monthly_limitinteger | nullwymaganeMiesięczny limit faktur albo
nullbez limitu.used_this_monthintegerwymaganeFaktury wystawione w tym miesiącu.
{
"id": "acct_Xy7Qw2Er4Ty6Ui8Op0As2Df4",
"object": "account",
"livemode": false,
"email": "sklep@example.com",
"platform": "woocommerce",
"ksef_environment": "test",
"seller": {
"nip": "4235405606",
"name": "Sklep Woo sp. z o.o.",
"address_line1": "ul. Testowa 1",
"address_line2": "00-001 Warszawa"
},
"seller_configured": true,
"ksef_connected": true,
"ksef_check_error": null,
"plan": {
"name": "Unlimited",
"monthly_limit": null,
"used_this_month": 12
}
}Pobierz konto
GET /v1/account
Dane sprzedawcy, stan połączenia z KSeF i wykorzystanie planu w trybie klucza. Przycisk „Sprawdź połączenie” we wtyczce WooCommerce wywołuje właśnie ten endpoint.
Odpowiedzi
- 200Konto.
- 401Brak klucza albo zły klucz:
api_key_missingapi_key_invalid - 403Tryb produkcyjny nie jest jeszcze włączony:
live_mode_disabled - 429Przekroczony limit zapytań, czekaj
Retry-Aftersekund:rate_limited
curl https://app.ksefshop.pl/v1/account \
-H "Authorization: Bearer $KSEF_API_KEY"<?php
$ch = curl_init('https://app.ksefshop.pl/v1/account');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('KSEF_API_KEY'),
],
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($body, true);
if ($status >= 400) {
throw new RuntimeException($data['error']['code'] . ': ' . $data['error']['message']);
}
echo var_export($data['seller_configured'], true), ' ', var_export($data['ksef_connected'], true), PHP_EOL;const res = await fetch("https://app.ksefshop.pl/v1/account", {
headers: {
Authorization: `Bearer ${process.env.KSEF_API_KEY}`,
},
});
const data = await res.json();
if (!res.ok) throw new Error(`${data.error.code}: ${data.error.message}`);
console.log(data.seller_configured, data.ksef_connected);import os
import requests
resp = requests.get(
"https://app.ksefshop.pl/v1/account",
headers={
"Authorization": f"Bearer {os.environ['KSEF_API_KEY']}",
},
timeout=30,
)
data = resp.json()
if not resp.ok:
raise RuntimeError(f"{data['error']['code']}: {data['error']['message']}")
print(data["seller_configured"], data["ksef_connected"]){
"id": "acct_Xy7Qw2Er4Ty6Ui8Op0As2Df4",
"object": "account",
"livemode": false,
"email": "sklep@example.com",
"platform": "woocommerce",
"ksef_environment": "test",
"seller": {
"nip": "4235405606",
"name": "Sklep Woo sp. z o.o.",
"address_line1": "ul. Testowa 1",
"address_line2": "00-001 Warszawa"
},
"seller_configured": true,
"ksef_connected": true,
"ksef_check_error": null,
"plan": {
"name": "Unlimited",
"monthly_limit": null,
"used_this_month": 12
}
}{
"error": {
"type": "authentication_error",
"code": "api_key_invalid",
"message": "The API key is wrong, revoked, or the account is disabled.",
"doc_url": "https://ksefshop.pl/api/errors#api_key_invalid"
}
}{
"error": {
"type": "permission_error",
"code": "live_mode_disabled",
"message": "Live mode is not enabled for this account yet.",
"doc_url": "https://ksefshop.pl/api/errors#live_mode_disabled"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "Too many requests; wait for Retry-After seconds.",
"doc_url": "https://ksefshop.pl/api/errors#rate_limited"
}
}