Opis
POST /onlinesession/send-invoice wysyła wyłącznie fakturę wbudowaną w aplikację — po poprawce z #235 jest to Templates/invoice-template-fa-3.xml z podstawionym NIP-em z kontekstu. Nie ma sposobu, aby przez sesję interaktywną wysłać własny dokument FA(3).
W praktyce oznacza to, że integrator, który chce sprawdzić własny XML na środowisku testowym, musi rozwidlić DemoWebApp i podmienić jedną linię w kontrolerze. U nas dokładnie tak było — i to jest ten sam powód, dla którego powstały #232 i #234: kontrolery z demo są kopiowane jako punkt wyjścia do własnych integracji.
Propozycja
Opcjonalne ciało żądania z treścią faktury, z zachowaniem obecnego zachowania, gdy ciała nie ma:
public sealed class SendInvoicePayload
{
public string? Invoice { get; set; }
}
[HttpPost("send-invoice")]
public async Task<ActionResult<SendInvoiceResponse>> SendInvoiceOnlineSessionAsync(
string sessionReferenceNumber,
string accessToken,
[FromBody] SendInvoicePayload? payload,
CancellationToken cancellationToken)
{
byte[] invoice = string.IsNullOrWhiteSpace(payload?.Invoice)
? ReadInvoiceTemplate()
: System.Text.Encoding.UTF8.GetBytes(payload.Invoice);
// dalej bez zmian
}
Zmiana jest zgodna wstecznie: wywołanie bez ciała działa dokładnie tak jak dziś, więc obecne scenariusze demonstracyjne pozostają nienaruszone.
Uwaga
Rozumiem, że DemoWebApp jest PoC-em o celowo ograniczonej funkcjonalności — to wynika wprost z odpowiedzi na #234. Dlatego zgłaszam to jako propozycję do decyzji, a nie od razu jako PR: jeśli uznacie, że własna treść faktury wykracza poza rolę aplikacji demonstracyjnej, zamykam zgłoszenie bez dyskusji.
Jeśli natomiast pomysł jest w porządku, chętnie przygotuję PR wraz z testami — po tym, jak #235 zostanie rozpatrzony, żeby zmiany się nie nakładały na tym samym kontrolerze.
Środowisko
main, commit 04f01c1 (tag 2.7.1)
- .NET 10
- Środowisko testowe KSeF (
api-test.ksef.mf.gov.pl)
Opis
POST /onlinesession/send-invoicewysyła wyłącznie fakturę wbudowaną w aplikację — po poprawce z #235 jest toTemplates/invoice-template-fa-3.xmlz podstawionym NIP-em z kontekstu. Nie ma sposobu, aby przez sesję interaktywną wysłać własny dokument FA(3).W praktyce oznacza to, że integrator, który chce sprawdzić własny XML na środowisku testowym, musi rozwidlić
DemoWebAppi podmienić jedną linię w kontrolerze. U nas dokładnie tak było — i to jest ten sam powód, dla którego powstały #232 i #234: kontrolery z demo są kopiowane jako punkt wyjścia do własnych integracji.Propozycja
Opcjonalne ciało żądania z treścią faktury, z zachowaniem obecnego zachowania, gdy ciała nie ma:
Zmiana jest zgodna wstecznie: wywołanie bez ciała działa dokładnie tak jak dziś, więc obecne scenariusze demonstracyjne pozostają nienaruszone.
Uwaga
Rozumiem, że
DemoWebAppjest PoC-em o celowo ograniczonej funkcjonalności — to wynika wprost z odpowiedzi na #234. Dlatego zgłaszam to jako propozycję do decyzji, a nie od razu jako PR: jeśli uznacie, że własna treść faktury wykracza poza rolę aplikacji demonstracyjnej, zamykam zgłoszenie bez dyskusji.Jeśli natomiast pomysł jest w porządku, chętnie przygotuję PR wraz z testami — po tym, jak #235 zostanie rozpatrzony, żeby zmiany się nie nakładały na tym samym kontrolerze.
Środowisko
main, commit04f01c1(tag 2.7.1)api-test.ksef.mf.gov.pl)