Skip to content

Translation. Original: pobieranie-faktur/pobieranie-faktur.md

Загрузка счетов-фактур

Получение счетов-фактур по номеру KSeF

21.08.2025

Возвращает счет-фактуру с указанным номером KSeF.

GET /invoices/ksef/{ksefNumber}

Пример на языке C#: KSeF.Client.Tests.Core\E2E\Invoice\InvoiceE2ETests.cs

csharp
string invoice = await ksefClient.GetInvoiceAsync(ksefReferenceNumber, accessToken, cancellationToken);

Пример на языке Java:

OnlineSessionIntegrationTest.java

java
byte[] invoice = ksefClient.getInvoice(ksefNumber, accessToken);

Получение списка метаданных счетов-фактур

Возвращает список метаданных счетов-фактур, соответствующих указанным критериям поиска.

Файл _metadata.json в пакете экспорта
В пакете экспорта находится файл _metadata.json, содержащий массив объектов InvoiceMetadata (модель, возвращаемая POST /invoices/query/metadata - "Получение метаданных счетов-фактур").

POST /invoices/query/metadata

Пример на языке C#: KSeF.Client.Tests.Core\E2E\Invoice\InvoiceE2ETests.cs

csharp
InvoiceQueryFilters invoiceQueryFilters = new InvoiceQueryFilters
{
    SubjectType = InvoiceSubjectType.Subject1,
    DateRange = new DateRange
    {
        From = DateTime.UtcNow.AddDays(-30),
        To = DateTime.UtcNow,
        DateType = DateType.Issue
    }
};

PagedInvoiceResponse pagedInvoicesResponse = await ksefClient.QueryInvoiceMetadataAsync(
    invoiceQueryFilters, 
    accessToken, 
    pageOffset: 0, 
    pageSize: 10, 
    cancellationToken);

Пример на языке Java:

QueryInvoiceIntegrationTest.java

java
InvoiceQueryFilters request = new InvoiceQueryFiltersBuilder()
        .withSubjectType(InvoiceQuerySubjectType.SUBJECT1)
        .withDateRange(
                new InvoiceQueryDateRange(InvoiceQueryDateType.INVOICING, OffsetDateTime.now().minusYears(1),
                        OffsetDateTime.now()))
        .build();

QueryInvoiceMetadataResponse response = ksefClient.queryInvoiceMetadata(pageOffset, pageSize, SortOrder.ASC, request, accessToken);

Инициализирует асинхронный запрос на получение счетов-фактур

Начинает асинхронный процесс поиска счетов-фактур в системе KSeF на основе переданных фильтров. Требуется передать информацию о шифровании в поле encryption, которая используется для шифрования генерируемых пакетов со счетами-фактурами.

POST /invoices/exports

Пример на языке C#: KSeF.Client.Tests.Core\E2E\Invoice\InvoiceE2ETests.cs

csharp
EncryptionData encryptionData = CryptographyService.GetEncryptionData();

InvoiceQueryFilters query = new InvoiceQueryFilters
{
    DateRange = new DateRange
    {
        From = DateTime.Now.AddDays(-1),
        To = DateTime.Now.AddDays(1),
        DateType = DateType.Invoicing
    },
    SubjectType = InvoiceSubjectType.Subject1
};

InvoiceExportRequest invoiceExportRequest = new InvoiceExportRequest
{
    Encryption = encryptionData.EncryptionInfo,
    Filters = query
};

OperationResponse invoicesForSellerResponse = await KsefClient.ExportInvoicesAsync(
    invoiceExportRequest,
    _accessToken,
    CancellationToken);

Доступные значения DateType и SubjectType описаны здесь.

Счета-фактуры в пакете отсортированы по возрастанию согласно типу даты, указанному в DateRange при инициализации экспорта.

Пример на языке Java:

QueryInvoiceIntegrationTest.java

java
InvoiceExportFilters filters = new InvoicesAsyncQueryFiltersBuilder()
        .withSubjectType(InvoiceQuerySubjectType.SUBJECT1)
        .withDateRange(
                new InvoiceQueryDateRange(InvoiceQueryDateType.INVOICING, OffsetDateTime.now().minusDays(10), OffsetDateTime.now().plusDays(10)))
        .build();

InvoiceExportRequest request = new InvoiceExportRequest(
        new EncryptionInfo(encryptionData.encryptionInfo().getEncryptedSymmetricKey(),
                encryptionData.encryptionInfo().getInitializationVector()), filters);

InitAsyncInvoicesQueryResponse response = ksefClient.initAsyncQueryInvoice(request, accessToken);

Проверяет статус асинхронного запроса на получение счетов-фактур

Получает статус ранее инициализированного асинхронного запроса на основе идентификатора операции. Позволяет отслеживать ход обработки запроса и загружать готовые пакеты с результатами, если они уже доступны.

GET /invoices/exports/{referenceNumber}

Пример на языке C#: KSeF.Client.Tests.Core\E2E\Invoice\InvoiceE2ETests.cs

csharp
InvoiceExportStatusResponse exportStatus = await KsefClient.GetInvoiceExportStatusAsync(
    exportInvoicesResponse.ReferenceNumber,
    accessToken);

Пример на языке Java:

QueryInvoiceIntegrationTest.java

java
InvoiceExportStatus response = ksefClient.checkStatusAsyncQueryInvoice(referenceNumber, accessToken);

Связанные документы