Krajowy system e-Faktur

0

mnie ani nie chce obecnie sesja uzyskac statusu 315 (komunikacja otwarta), ani sesja po wywolaniu terminate nie chce wyjsc ze statusu 360 (Zakończenie etapu weryfikacji wyników podprocesów przetwarzania faktury), tym samym sie nie da UPO pobrac, plus minus tak mam od soboty (=

0

Hej.
Cyklicznie pobieram faktury z aplikacji testowej ksef. W aplikacji ministerstwa faktury dodają się z numerem KSeF w postaci:
screenshot-20231120093019.png
W dniu dodania faktura pobiera się z numerem w postaci:
screenshot-20231120093034.png
Następnego dnia aplikacja KSeF dodatkowo dorzuca tą samą fakturę z numerm bez myślnika. Powoduje to zdublowanie faktur, co prawda o innym numerze, ale jest to ta sama faktura.
Ktoś ma podobny przypadek?
Wie, czy ogarną ten burdel czy mamy zmniejszać zabezpieczenia w aplikacji i tworzyć na to jakieś obejścia?
Wie, który numer jest poprawny? Oficjalnym stanowiskiem MF, z tego co znalazłem nadal jest numer z dodatkowym myślnikiem.

0

I doczekaliśmy się komunikatu

20 listopada 2023 r. występują utrudnienia w dostępie do środowiska testowego Krajowego Systemu e-Faktur.
Pracujemy nad przywróceniem poprawności działania usługi. O przywróceniu dostępności środowiska, poinformujemy oddzielnym komunikatem.

1

https://www.podatki.gov.pl/komunikaty-techniczne/aktualizacja-api-krajowego-systemu-e-faktur-i-aplikacji-podatnika-ksef-na-srodowisku-przedprodukcyjnym-demo/

Informujemy o aktualizacji API Krajowego Systemu e-Faktur i Aplikacji Podatnika KSeF na środowisku przedprodukcyjnym (Demo)

23 listopada 2023 r. w godzinach od 11.00 do 21.00 na środowisku przedprodukcyjnym (Demo) planowana jest aktualizacja API Krajowego Systemu e-Faktur i Aplikacji Podatnika KSeF.

Aktualizacja API Krajowego Systemu e-Faktur do wersji 2.0.4 obejmuje:

oznaczenie pola tradeName w SubjectNameType jako opcjonalne,
optymalizację zapytań o faktury.
Aktualizacja Aplikacji Podatnika KSeF do wersji 1.4.3 obejmuje:

dodanie endpoint zwracającego aktualną wersję aplikacji mobilnej.
W tym czasie mogą wystąpić chwilowe utrudnienia w dostępie do tych środowisk.

Przepraszamy za utrudnienia.

0

Kwestia daty wystawienia, którą MF uznaje za właściwą. Można ją pobrać API od pobierania faktur (subject2), a można też pobrać parsując numer KSeF, który ją zawiera.
Ja mam pytanie o trzecią opcję. Gdy pobieramy UPO to w pliku XML poza samym UPO jest lista faktur, których UPO dotyczy , każda wygląda tak:

<Dokument>
  <NumerKSeFDokumentu>1254809786-20231108-F33E4880A8AE-C1</NumerKSeFDokumentu>
  <NumerFaktury>FV/11/8/16190</NumerFaktury>

  <DataPrzeslaniaDokumentu>2023-11-08T10:36:53.561+01:00</DataPrzeslaniaDokumentu>

  <DataPrzyjeciaDokumentu>2023-11-08T10:36:53.717+01:00</DataPrzyjeciaDokumentu>
  <SkrotDokumentu>lQOzWifeAbjnp+ElA0OvFfmLMMw5liw9Bs1w6Rq6VZc=</SkrotDokumentu>
</Dokument>

Czy można przyjąć, że data wystawienia to DataPrzeslaniaDokumentu?

0

Mam taki case:

  • generuje token sesyjny na podstawie tokena i nipu
  • wysyłam fakturę
  • sprawdzam jej status (/api/online/Invoice/Status/{elRefNb}
  • dostaje poprawna odpowiedź, faktura zapisana poprawnie

I teraz generuje nowy token sesyjny, na podstawie tego samego nipu i tokena i odpytuje ten sam endpoint o status faktury, ale tym razem dostaje Faktura o podanym identyfikatorze nie istnieje.

Czyli mam rozumieć, że pobiorę status faktury tylko używając tego samego tokena sesyjnego co do jej wysyłki? Czyli jeżeli chcę, zaimplementować sprawdzanie statusu po jakimś czasie, np. po tygodniu, to to nie jest w ogóle możliwe?

0

Limity po raz kolejny...
Mam sytuacje taką, gdzie kolejne request'y to:
screenshot-20231120140612.png
Na następnym "online.session.authorisation.challenge" dostałem ban'a (ban z czasem 2023-11-20 13:44:00.477 +0100), i moje pytanie jak to w końcu jest z tymi limitami ? (bo podchodzę do tego już z każdej strony aby się przed tym obronić tak finalnie)...

Według ich pliku:
"online.session.authorisation.challenge | limit : 2 | czas życia : 2 | Ograniczenie na liczbę identycznych wywołań usługi authorisation.challenge w sekwencji."

ja to rozumiem tak, że, nie mogę zapytać 3 (bo 2 już mogę?) razy pod rząd "authorisation.challenge" (przykład prosty).
Jeśli między zapytaniami "authorisation.challenge" znajdą się inne, to znaczy, że sekwencja została przerwana? i mogę już znowu wykonać request 2 razy, a dopiero za trzecim dostane bana?
A jeśli wykonałem 2 requesty "authorisation.challenge", i poczekam 2 minuty (czas życia?), to mogę później wykonać już request bez dostania bana?
Jaki tutaj jest w końcu algorytm aby się przed tym banem obronić? ale tak po bożemu, bez "zgadywania".

Póki co najlepszym rozwiązaniem (gdzie dostaje te limity bardzo rzadko) jaki u mnie teraz się kręci jest:
"sprawdzam czy w ciągu ostatniego "czasu" == "czas życia" były już zapytania identyczne dla danego klucza (klucz to np "authorisation.challenge"), i jeśli były, to odkładam wywołanie request'a na kolejną iterację.
Jeśli już dostanego tego bana dla danego klucza" to przed kolejnym zapytaniem dla danego klucza, weryfikuje czy mam bana i czekam aż upłynie "czas życia" od momentu dostania bana... i dopiero wtedy pozwalam na wykonanie requestu. Rozgryzł to już tak od a-z jak to naprawdę pod spodem działa?;>

0

@pkscargo: Body session/InitToken (w celu uzyskania tokena sesyjnego):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:InitSessionTokenRequest
	xmlns="http://ksef.mf.gov.pl/schema/gtw/svc/online/types/2021/10/01/0001"
	xmlns:ns2="http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001"
	xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001">
	<ns3:Context>
		<Challenge>20231115-CR-199D0753F4-079DAB102F-E3</Challenge>
		<Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
			<ns2:Identifier>5354029094</ns2:Identifier>
		</Identifier>
		<DocumentType>
			<ns2:Service>KSeF</ns2:Service>
			<ns2:FormCode>
		     <ns2:SystemCode>FA (2)</ns2:SystemCode>
			   <ns2:SchemaVersion>1-0E</ns2:SchemaVersion>
			   <ns2:TargetNamespace>http://crd.gov.pl/wzor/2023/06/29/12648/</ns2:TargetNamespace>
			   <ns2:Value>FA</ns2:Value>
		  </ns2:FormCode>
	 </DocumentType>
	 <Token>o8xBJlRpbFAb2hWsqT4FAkZowWluqdgQ5Z4A8VUlflJypOe8E2kas5Rlsziu4r7e+VqBTMT9gOZhTpJszN4h+2N6az+Sp519JMdo/HQwpvm5Lg32NTPF8eEv+XE8s4YR3QcN+2f3wg+TeVmRG5bbjoiDPrVpFDrFWCuvYzmLaWYUfFTUOVZelfsMxoO2bfoWgsx5+ijmKzT+WWtToY3fMZhkg3G1kcJD2eIHIZ91mo/YeZ3XUoF2z1CeSbSA1k75aWynq+5roVXUGcu5Pd/HQBEQ7cMqedDpjftTVMC610M7UrofQ8L4iMwzXfEVXUiAAjI5HzGuCICWR4hupcnZ7A==</Token>
 </ns3:Context>
</ns3:InitSessionTokenRequest>
0

Sorry za offtop, ale muszę... :-)
Narzekamy na programistów AK, że cieniasy i bugi robią, no to zobaczcie to:

image

Wchodzę dziś na swoje konto OLX, gdzie sprzedaję parę książek i płyt audio, a tam... masa samochodów :-)
Ci to dopiero mają zabawę! I wszystko na produkcji :-)

0

Cześć. Jak jest z wersjonowaniem API KSeF? Obowiązują normalne zasady, tzn. nie muszę się przejmować dopóki major version pozostaje 2? Zbudowałem swój software w oparciu o API 2.0.0 a na teście i demo jest już 2.0.4 - niedługo pewnie 2.0.4 wejdzie na produkcję. Nie wyobrażam sobie, że nagle zrobią breaking change nie zmieniając url'a do usługi (np. nie dodając v3 w ścieżce itp.).

(Chociaż może być problem - bo np. jeśli pole tradeName zmienili na opcjonalne w 2.0.4 a do tej pory było wymagane i mój wygenerowany z yamla 2.0.0 klient przy deserializacji json'a będzie wymagał tego pola - to jak 2.0.4 wejdzie na produkcję i ludzie będą robić faktury bez pola tradeName - to ja ich wtedy nie wczytam.)

Pozdrawiam.

0

https://www.podatki.gov.pl/komunikaty-techniczne/utrudnienia-w-dostepie-do-srodowiska-testowego-krajowego-systemu-e-faktur-2/

Od 22 do 27 listopada 2023 r. będą prowadzone prace konserwacyjne na środowisku testowym Krajowego Systemu e-Faktur.

W tym czasie mogą wystąpić chwilowe utrudnienia w dostępie do środowiska.

wow

0

28 listopada 2023 r. w godzinach od 12.00 do 17.00 będą prowadzone prace serwisowe na środowisku produkcyjnym API Krajowego Systemu e-Faktur i Aplikacji Podatnika KSeF.

Czyli pewnie demo idzie na produkcję po tygodniu. Jest progress :) Choć nie zapowiedzieli, co grzebią.

Od 22 do 27 listopada 2023 r. będą prowadzone prace konserwacyjne na środowisku testowym Krajowego Systemu e-Faktur.

To już pojechali po bandzie. :P

Czyli od wczoraj do poniedziałku nie będzie działał, ale za to we wtorek też nie będzie działał :D

4 grudnia 2023 r. w godzinach od 13.00 do 20.00 na środowisku produkcyjnym planowana jest aktualizacja API Krajowego Systemu e-Faktur i Aplikacji Podatnika KSeF.

Aktualizacja API Krajowego Systemu e-Faktur do wersji 2.0.4 obejmuje:
zmianę struktury dokumentu z historią zmian,
zmianę typu w Query Invoice Detail dla amountType,
poprawę błędu braku autoryzacji przy zapytaniu o uprawnienia dla JST czy GRV dla uprawnienia subunit_manage,
zmianę Specyfikacji Interfejsu w zakresie opisów i linków do yamli,
przywrócenie finalnego statusu 200 dla procesu sesji,
poprawę kodowania dla pola telefon na kroku archiwizacji faktury,
oznaczenie pola tradeName w SubjectNameType jako opcjonalne,
optymalizacja zapytań o faktury,
zmianę przykładowej odpowiedzi dla nieautoryzowanego zapytana o sprawdzenie statusu przetwarzania na podstawie numeru referencyjnego,
zmianę typu z SubjectNameType na SubjectCompleteNameType w SessionContextType (usunięcie pola tradeName) dla odpowiedzi z żądania o rozpoczęcie sesji,
poprawę błędu dotyczącego wysyłania: faktury rozliczeniowej, korekty faktury zaliczkowej, korekty faktury rozliczeniowej, korekty faktury zbiorczej, która zawiera dwa lub więcej numerów wcześniejszych faktur zaliczkowych,
stopniowe wprowadzanie poprawek do kontraktu usług wymuszające poprawność typu danych.

Aktualizacja Aplikacji Podatnika KSeF 1.4.3 obejmuje:
zmiany w wizualizacji PDF e-Faktur,
dostosowanie do wersji API KSeF 2.0.3,
prezentowanie informacji o środowisku w komponencie informującym o błędzie,
dodanie endpoint zwracającego aktualną wersję aplikacji mobilnej.

W tym czasie mogą wystąpić chwilowe utrudnienia w dostępie do tych środowisk.

0

Działa komuś sprawdzenie statusu sesji, konkretniej czy otrzymuje kod 200 po terminowaniu sesji, czy cały czas na 310 stoi ?

0

Czy jest jakiś sposób (np. EP) na sprawdzenie poprawności XML faktury, który wyrzuci konkretne błędy? Na Ksef Web można zaimportować XML ale tylko 2 stany zwraca (niezgodny ze struktura lub zawiera błędy) tak więc szału nie ma.

0

Implementuję właśnie menedżera wątków do KSeFa i pracę asynchroniczną biblioteki, i zatrzymałem się nad refleksją czy faktury dodawane do kolejki wysyłkowej warto kompresować (chodzi mi o wewnętrzne mechanizmy w moim kodzie). Faktura wysyłana interfejsem interaktywnym może mieć z tego co pamiętam 1MB, ale gdy nad tym się zastanawiam to nie wiem czy w przyrodzie takie potwory będą występować, ale nie mam z tym doświadczenia.
Podzielcie się swoim doświadczeniem, jakie średnio faktury realnie Wam wychodzą?

0

Chyba faktycznie coś grzebią na instancji testowej ... chciałem sprawdzić stan w aplikacji online i od 30 minut mam:screenshot-20231123234129.png
No i chyba naprawili w końcu błąd przełączania na statyczną stronę kiedy KSeF jest niedostępny.
Kiedyś było takie przekierowanie i status-200 (OK), teraz mamy chociaż status-500 (Internal Server Error) :)

0

Czy nagranie z środy w tym tygodniu (22.11.2023) z webinara "środy z ksef" nie jest już dostępne? Próbowałem wejść w link do MS teamsów podany kilka tematów wyżej i wyskakuje że odtwarzanie zdarzenia na żywo na żądanie jest niedostępne.

0

Mam dzialający kod napisany w Javie i próbuje go przepisać na C#, ale nie potrafie sobie poradzić z serializacja XMLa do InitSessionTokenRequest
Uznałem, że spróbuje nieco nietypowego podejścia, tzn. zbuduje XMLa bez konwertowania XSD do klas, czyli

public static byte[] Create(string challenge, string identifier, string encodedToken)
{
    var xml = $@"
    <?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>
    <ns3:InitSessionTokenRequest xsi:schemaLocation=""https://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001 https://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001/authRequest.xsd"" xmlns=""http://ksef.mf.gov.pl/schema/gtw/svc/online/types/2021/10/01/0001"" xmlns:ns2=""http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001"" xmlns:ns3=""http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
        <ns3:Context>
            <Challenge>{challenge}</Challenge>
            <Identifier xsi:type=""ns2:SubjectIdentifierByCompanyType"">
                <ns2:Identifier>{identifier}</ns2:Identifier>
            </Identifier>
            <DocumentType>
                <ns2:Service>KSeF</ns2:Service>
                <ns2:FormCode>
                    <ns2:SystemCode>FA (2)</ns2:SystemCode>
                    <ns2:SchemaVersion>1-0E</ns2:SchemaVersion>
                    <ns2:TargetNamespace>http://crd.gov.pl/wzor/2023/06/29/12648/</ns2:TargetNamespace>
                    <ns2:Value>FA</ns2:Value>
                </ns2:FormCode>
            </DocumentType>
            <Token>{encodedToken}</Token>
        </ns3:Context>
    </ns3:InitSessionTokenRequest>";

    return Encoding.UTF8.GetBytes(xml);
}

I takie cos wrzucam do

using HttpClient client = new();
var response = await client.PostAsync("https://ksef-demo.mf.gov.pl/api/online/Session/InitToken", new ByteArrayContent(bytes));

ale odpowiedz to i tak exceptionDetailList":[{"exceptionCode":21401,"exceptionDescription":"Dokument nie jest zgodny ze schemą (xsd)."}]}

jakies pomysly czemu? ewentualnie, moze ktos ma jakis przyklad jak to ogarnac w C#?

0
AngryProgrammer napisał(a):

Mam dzialający kod napisany w Javie i próbuje go przepisać na C#, ale nie potrafie sobie poradzić z serializacja XMLa do InitSessionTokenRequest
Uznałem, że spróbuje nieco nietypowego podejścia, tzn. zbuduje XMLa bez konwertowania XSD do klas, czyli

public static byte[] Create(string challenge, string identifier, string encodedToken)
{
    var xml = $@"
    <?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>
    <ns3:InitSessionTokenRequest xsi:schemaLocation=""https://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001 https://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001/authRequest.xsd"" xmlns=""http://ksef.mf.gov.pl/schema/gtw/svc/online/types/2021/10/01/0001"" xmlns:ns2=""http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001"" xmlns:ns3=""http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001"" xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"">
        <ns3:Context>
            <Challenge>{challenge}</Challenge>
            <Identifier xsi:type=""ns2:SubjectIdentifierByCompanyType"">
                <ns2:Identifier>{identifier}</ns2:Identifier>
            </Identifier>
            <DocumentType>
                <ns2:Service>KSeF</ns2:Service>
                <ns2:FormCode>
                    <ns2:SystemCode>FA (2)</ns2:SystemCode>
                    <ns2:SchemaVersion>1-0E</ns2:SchemaVersion>
                    <ns2:TargetNamespace>http://crd.gov.pl/wzor/2023/06/29/12648/</ns2:TargetNamespace>
                    <ns2:Value>FA</ns2:Value>
                </ns2:FormCode>
            </DocumentType>
            <Token>{encodedToken}</Token>
        </ns3:Context>
    </ns3:InitSessionTokenRequest>";

    return Encoding.UTF8.GetBytes(xml);
}

I takie cos wrzucam do

using HttpClient client = new();
var response = await client.PostAsync("https://ksef-demo.mf.gov.pl/api/online/Session/InitToken", new ByteArrayContent(bytes));

ale odpowiedz to i tak exceptionDetailList":[{"exceptionCode":21401,"exceptionDescription":"Dokument nie jest zgodny ze schemą (xsd)."}]}

jakies pomysly czemu? ewentualnie, moze ktos ma jakis przyklad jak to ogarnac w C#?

Ja w C# dodałem sobie template w resources na podstawie działającego pliku xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:InitSessionTokenRequest
	xmlns="http://ksef.mf.gov.pl/schema/gtw/svc/online/types/2021/10/01/0001"
	xmlns:ns2="http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001"
	xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/online/auth/request/2021/10/01/0001">
	<ns3:Context>
		<Challenge>{challenge}</Challenge>
		<Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
			<ns2:Identifier>{nip}</ns2:Identifier>
		</Identifier>
		<DocumentType>
			<ns2:Service>KSeF</ns2:Service>
			<ns2:FormCode>
				<ns2:SystemCode>FA (2)</ns2:SystemCode>
				<ns2:SchemaVersion>1-0E</ns2:SchemaVersion>
				<ns2:TargetNamespace>http://crd.gov.pl/wzor/2023/06/29/12648/</ns2:TargetNamespace>
				<ns2:Value>FA</ns2:Value>
			</ns2:FormCode>
		</DocumentType>
		<Token>{token}</Token>
	</ns3:Context>
</ns3:InitSessionTokenRequest>

potem w kodzie robię zwykły "replace" niektórych wartości:

var xmlData = Properties.Resources.xml_template_Session_InitToken_RequestPlain
    .Replace("{nip}", Identifier)
    .Replace("{challenge}", Challenge)
    .Replace("{token}", EncodedToken);
var postData = Encoding.UTF8.GetBytes(xmlData);

u Ciebie chyba jest trochę namieszane w sekcji namespace w tym xml-u

0

Cześć,

przeglądałem sobie stronę z komunikatami technicznymi (https://www.podatki.gov.pl/komunikaty-techniczne/) i zauważyłem, że co odświeżenie dostaję wyświetla nieco inne wyniki.

Nagrałem ekran jak po prostu odświeżam tą samą stronę, i co chwilę dostaję inną listę wyników: https://imgur.com/a/glmn8tw. Raz jest 38 stron, raz 39, raz 3. Zauważyłem to, bo nie widziałem na liście komunikatu o pracach na środowisku testowym w dniach 22-27 listopada, a jak wchodziłem bezpośrednio z linka to wszystko działało.

Przetestowałem to na dwóch komputerach i czterech przeglądarkach. Wszędzie to samo.

Czy ktoś coś z tego rozumie? :D

0

Cześć, działa wam wywołanie endpointu online/Payment/Identifier/Request? Ja dostaję błąd:Nieprawidłowe wywołanie.

1

Konsultacje rozporządzeń w sprawie powszechnego Krajowego Systemu e-Faktur (KSeF)
https://www.gov.pl/web/kas/konsultacje-rozporzadzen-w-sprawie-powszechnego-krajowego-systemu-e-faktur-ksef

0

Dostałem jedną z odpowiedzi spośród moich licznych pytań: na sugestię do AK, aby w przypadku zaplanowanego niedziałania KSeF, API zwracało wyjątek przez stronę błędu, a nie stronę HTML (jeszcze na kodzie 200).
Odpowiedź:

problem został już zgłoszony wykonawcy oprogramowania i nie powinien więcej występować.

Zatem, jeśli ktoś to obsługiwał, to prawdopodobnie będzie teraz inaczej :) Zdaje się dziś po 12:00 na produkcji będzie można zobaczyć?

0

Środa z Ksef 29.11.2023

Mógłbym poprosić by ktoś wstawił link do spotkania które odbędzie się o 9:00?

0

"Wodociągi Kieleckie w sposób wzorcowy usuwają awarie, jesteśmy w czołówce krajowej a nawet światowej...." :)

screenshot-20231129104221.png

0

Cześć,
Przeszedłem przez AuthorisationChallenge oraz InitToken, dostałem SessionToken ale utknąłem na wysłaniu faktury.

  1. Faktura sprawdzona schematem xsd, jest poprawna (zresztą załadowanie faktury z przykładów daje taki sam rezultat).

  2. fileSize obliczony dla pliku xml

  3. Wykonany binarny hash xml, a następnie base64 tego skórtu >> $hashBinary_base64

  4. Sama faktura w xml zakodowana base64 >> $invoice_xml_base64

  5. endpoint ksef-test.mf.gov.pl/api/online/Invoice/Send

  6. przed wysłaniem $session_token sprawdzony czy jest aktywny (GET na ksef-test.mf.gov.pl/api/online/Session/Status?PageSize=100&PageOffset=0&IncludeDetails=true z podaniem tokenu sesji), jest zwrotka "Sesja interaktywna aktywna. Komunikacja otwarta"

    Pracuję w php. wysyłam taki CURL

// Request Body
$data = json_encode([
  "invoiceHash" => [
      "hashSHA" => [
          "algorithm" => "SHA-256",
          "encoding" => "Base64",
          "value" => "$hashBinary_base64"
      ],
			"fileSize" => $fileSize
  ],
  "invoicePayload" => [
      "payloadType" => "plain",
      "invoiceBody" => "$invoice_xml_base64"
  ]
]);

// Initialize cURL session
$curl = curl_init();

// Set cURL options
curl_setopt_array($curl, [
	CURLOPT_URL => $url,
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_CUSTOMREQUEST => "PUT",
	CURLOPT_POSTFIELDS => $data,
	CURLOPT_HTTPHEADER => [
    "Accept: application/json",
  	"Content-Type: application/json",
  	"SessionToken: $session_token"
  ],
]);

// Execute cURL session and get the response
$response = curl_exec($curl);

No i wynik zawsze ten sam:

Array
(
    [exception] => Array
        (
            [serviceCtx] => default
            [serviceCode] => 20231130-EX-C6E40A48C2-61E7A17092-17
            [serviceName] => online.invoice.invoice.send
            [timestamp] => 2023-11-30T00:15:25.703Z
            [exceptionDetailList] => Array
                (
                    [0] => Array
                        (
                            [exceptionCode] => 21001
                            [exceptionDescription] => Nieczytelna treść.
                        )

                )

        )

)

Jak zrobie w POSTMAN to widzę jeszcze status 400 Bad Request.

Jakieś pomysły? Próbowałem chyba już wszystkiego.

0

Cześć,

czy ktoś orientuje się czy do podpisania pliku XML z inicjalizacją sesji można użyć certyfikatu od Szafira? Na przemian dostaję informację Nieprawidłowy podpis/Nieprawidłowa treść podpisu/Plik niezgody ze schematem XSD.
Ktoś może używa i wie jak poprawnie skonfigurować taki podpis?

0

30 listopada 2023 r. w godzinach od 10.00 do 14.00 będą prowadzone prace serwisowe na środowisku produkcyjnym API Krajowego Systemu e-Faktur i Aplikacji Podatnika KSeF.
W tym czasie mogą wystąpić chwilowe utrudnienia w dostępie do tego środowiska.

Mówiłem, że skopią aktualizację

0

Cześć.
Mam mały problem.

Wysyłam fakturę do KSeF. Wszystko zostaje przyjęte, faktura dostaje nr KSeF.
Problem w tym, że sesja się nie kończy - od wczoraj wisi w statusie 355 (Zakończenie etapu oczekiwania na zakończenie sesji), co jest jednoznaczne z tym, że nie mogę pobrać UPO.
Problem występuje na serwisie DEMO.
Na serwerze TEST wszystko działa poprawnie.

Miałem dwa tygodnie przerwy od zabawy z KSeF i teraz taka niespodzianka.
Jakieś zmiany robili na DEMO?
Jakieś pomysły? Ktoś może coś doradzić?

Z góry dziękuję.

PS. Czy jest jakaś możliwość kontaktu/miejsce do zgłaszania błędów w temacie KSeF?

1 użytkowników online, w tym zalogowanych: 0, gości: 1