Krajowy system e-Faktur

0

Czy ktoś spotkał się z problemem występującym przy nadawaniu poświadczeń?
Mianowicie moje kolejne kroki to:

  1. generowanie challenga na nip w /online/Session/AuthorisationChallenge

  2. podpisanie pieczęcią z tym samym nipem i wysłanie InitSessionRequest z poprawnymi danymi do /online/Session/InitSigned
    dostaje odpowiedz:
    {"timestamp":".....",
    "referenceNumber":"....",
    "sessionToken":{"token":"......",
    "context":{"contextIdentifier":{"type":"onip","identifier":".........."},
    "contextName":{"type":"..","tradeName":null,"fullName":"....."},
    "credentialsRoleList":[{"type":"standard_plain","roleType":"owner","roleDescription":"uprawnienie właścicielskie"{"type":"standard_plain","roleType":"owner","roleDescription":"system"}]}}}

  3. nadaje uprawnienia peselowi, w headerze dodaje "SessionToken": i tutaj wpisuje token z poprzedniego kroku (sessionToken.token)
    {
    "grantCredentials": {
    "credentialsIdentifier": {
    "type": "pesel",
    "identifier": "11111111111"
    },
    "credentialsRoleList": [
    {
    "roleDescription": "read",
    "roleType": "invoice_read"
    },
    {
    "roleDescription": "write",
    "roleType": "invoice_write"
    }
    ],
    "description": "pesel 11111111111 credencials"
    }
    }

Z tego requestu dostaje informacje:
{"exception":{"serviceCtx":"default","serviceCode":".......","serviceName":"online.credentials.credentials.grant","timestamp":"....","referenceNumber":null,"exceptionDetailList":[{"exceptionCode":21219,"exceptionDescription":"Sesja
interaktywna zakończona."}]}}

Czy ktoś spotkał się z taką odpowiedzią, lub wie w czym moze byc problem?
Z góry dziękuję!

0

Korzystał ktoś już z Was z demo albo z produkcji ? Czy każdy podmiot będzie musiał posiadać po prostu taki certyfikat z NIP (czyli tzw pieczęć, czyli to co teraz na potrzeby testu generujemy sobie sami w openssl) zatwierdzony przez jakieś centrum certyfikujące i tym podpisywać te XMLe XADeSem ? czy jakie niby jeszcze mają być sposoby podłączenia się do tego API lub alternatywny sposób podpisania ?

0

Cześć, mam problem z pobraniem faktury, dostaję błąd jak poniżej, dodałem w header o nazwie SessionToken w którym mam token z /online/Session/InitSigned liste z /online/Query/Invoice/Sync pobieram bez problemu, czy powinienem dodać jeszcze jakiś dodatkowy header?

{
"exception":{
   "serviceCtx":"srvTEMFA",
   "serviceCode":"20220218-EX-A4C2B38814-8C5A72A5CF-08",
   "serviceName":"online.invoice.invoice.get",
   "timestamp":"2022-02-18T08:49:01.774Z",
   "referenceNumber":null,
   "exceptionDetailList":[
      {
         "exceptionCode":21001,
         "exceptionDescription":"Brak treści [InteraktywnaSesja]."
      }
   ]
}

string getInvAddress = "https://ksef-test.mf.gov.pl/api/online/Invoice/Get/1111111111-20211213-EC0D9B-F23CE6-AB";
client.DefaultRequestHeaders.Add("SessionToken", initSigned.SessionToken.Token);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var resultGetInv = Task.Run(() => client.GetAsync(getInvAddress)).Result;
var resultContentGetInv = Task.Run(() => resultGetInv.Content.ReadAsStringAsync()).Result;

"credentialsRoleList":[
   {
      "type":"standard_plain",
      "roleType":"invoice_read",
      "roleDescription":"Prawo odczytawania"
   },
   {
      "type":"standard_plain",
      "roleType":"invoice_write",
      "roleDescription":"Prawo zapisywania"
   },
   {
      "type":"standard_plain",
      "roleType":"owner",
      "roleDescription":"uprawnienie właścicielskie"
   },
   {
      "type":"granted",
      "roleType":"self_invoicing",
      "roleDescription":"testowy samofakturujący CN1 firmy CN7",
      "roleGrantorIdentifier":{
         "type":"onip",
         "identifier":"7777777777"
      }
   },
   {
      "type":"granted",
      "roleType":"invoice_write",
      "roleDescription":"Prawo zapisywania",
      "roleGrantorIdentifier":{
         "type":"onip",
         "identifier":"1111111111"
      }
   },
   {
      "type":"granted",
      "roleType":"invoice_read",
      "roleDescription":"Prawo odczytawania",
      "roleGrantorIdentifier":{
         "type":"onip",
         "identifier":"1111111111"
      }
   },
   {
      "type":"granted",
      "roleType":"invoice_read",
      "roleDescription":"test",
      "roleGrantorIdentifier":{
         "type":"onip",
         "identifier":"5250008198"
      }
   },
   {
      "type":"standard_plain",
      "roleType":"owner",
      "roleDescription":"system"
   }
]
0

Czy ktoś może próbował już działać na środowisku przedprodukcyjnym i wie jak to mniej więcej działa? To jest wszystko już na zasadach produkcji (czyli nie mogę się autoryzować pierwszym lepszym certyfikatem) i można zakładać, że jak coś zadziałało na przedprodukcyjnym to na produkcyjnym zadziała?
I jak tam się autoryzować? Na wersji testowej generowałem sobie certyfikat ale tutaj to nie przechodzi.

0

A takie pytanko - jak się zalogować do spółki (mówię o wersji DEMO/PROD)? W dokumentacji jest o tym podpisie z NIPem (Pieczęć Kwalifikowana), ale jak gadamy w o tym firmie to nikt o tym nie słyszał... Gdzieś znalazłem, że można sobie to wyrobić ale generalnie wygląda to egzotycznie. Jest jakiś inny sposób na to?

0

@Mateusz Stróżyk: można zalogować się podpisem kwalifikowanym osoby uprawnionej do reprezentacji spółki, takiej która występuje w rejestrze KRS. W podpisie musi być pesel tej osoby. Można także zalogować się za pomocą profilu zaufanego osoby uprawnionej do reprezentacji. Jedak, w przypadku spółek, szczególnie większych, logowanie pieczęcią kwalifikowaną wygaja się najlepszym pomysłem. Pieczęć to nic egzotycznego, można ją zamówić np. w Certum: https://www.certum.pl/pl/kwalifikowana-pieczec-elektroniczna/

1

Ok, nowy post, bo nie wszyscy na stare strony zaglądają :)

Zatem: Jest sobie wysyłka wsadowa. Inicjuję ją, wszystko ok... Ale jak próbuję wysłać plik, to dostaję komunikat "Nieprawidłowy skrót części pakietu.". Niezależnie czy jeden, czy wiele.

W załączniku wszystkie dane (lekko zanonimizowany NIP tylko - ale tylko, żeby robot żaden nie chwycił, wiadomo gdzie mozna znaleźć cały ;) ).
Batch.zip
Edycja: Przygotowałem raz jeszcze paczkę z żądaniami, odpowiedziami, sniffem z połączeń oraz wysyłanymi częściami.

Oczywiście pliki z fakturami pakuję ZIPem -> dzielę, a każdą uzyskaną część szyfruję (AES) -> Liczę skrót (SHA256).

Po pierwszym żądaniu wysyłam na otrzymany adres każdą z części odpowiednio. Do nagłówków dodaję nawet to, co dostaję w headerEntryList (choć czy to konieczne? Nie wiadomo, bo dokumentacja jest taka, jaka jest, a odpowiedzi to już chyba nikt nigdy się nie doczeka żadnej). Co mogę robić nie tak jeszcze?

0

Czy adnotacje i adres sprzedawcy są obowiązkowe? Próbuję kolejne kombinacje .xml'a ale nie potrafię się pozbyć tych pól żeby system przyjął fakturę. Trzeba jakąś flagę ustawiać, żeby móc się takich adnotacji wyzbyć czy bez tego nie przejdzie?

0

Próbował ktoś skorzystać z RevokeToken?

Zastanawia mnie co to jest tokenNumber. Próbuje tak:

Uderzam w Query/Crednetial/Sync i mam listę wygenerowanych tokenów, siedzi tam ReferenceNumber. I teraz:

{
  "revokeToken": {
    "sourceTokenIdentifier": {
      "identifier": "NIP",
      "type": "nip"
    },
    "tokenNumber": "TOKEN-REFERENCE"
  }
}

No i mi wraca Nieprawidłowe wywołanie.

Nie podoba mi się to pole tokenNumber (na moje oko powinno się nazywać tokenRefenrenceNumber czy jakoś tak). No i tak się miotam...

0

Witam,

czy ktoś spotkał się z sytuacją, ze ksef odpowiada za kazdym razem inaczej na dokladnie ten sam request?

Ja mam dokladnie taki przypadek z nadawaniem poświadczeń. Czasem przy sprawdzeniu statusu dostaje "Sesja interaktywna zakończona" (co sugeruje ze wystąpił jakiś błąd), a czasem dostaje po kolei "Zakończenie etapu weryfikacji poprawności i spójności danych" i potem kolejne "Błąd etapu weryfikacji wyników podprocesu uwierzytelniania" i "Sesja interaktywna zakończona".

Czy ktoświe gdzie moze być błąd oraz dlaczego jest błąd weryfikacji wyników podprocesy uwierzytelnainia?

0

Cześć.

Od pewnego czasu nie działa generowanie tokenów autoryzacyjnych na środowisku testowym - czy też tak macie? Generuje token, wszystko jest ok, dostaję odpowiedź ze statusem 100 Proces został zarejestrowany, numerem referencyjnym tokena i samym tokenem. Jednak odpytanie o status uprawnień daje błąd: Poświadczenia o podanym identyfikatorze nie istnieją. Próba logowania wygenerowanym tonem także kończy się błędem - Brak autoryzacji. W styczniu działało, bo wygenerowałem wtedy kilka tokenów, które działają bez problemu.

Podobny problem zgłaszał @tomaszka już kilka tygodni temu i zastawiam się czy to cały czas nie działa, czy może okresowo zdarza się że jednak zadziała.

0

@tomaszka: Witam,
W jaki sposób podpisywałeś dokument po wygenerowaniu certyfikatu?

0

Czy adres zagraniczny różni się znacznie od adresu polskiego? W polskim jest sporo pól typu gmina, województwo (chyba nie znam osoby, która by te pola wypełniała). Zagraniczny jest natomiast okrojony, ale pojawia się GLN. Czyli jak rozumiem - adres zagraniczny, będzie wyglądał tak samo jak polski, ale konieczny będzie ten adres GLN (czy jest on jednak jedynie opcjonalny)?

0

Witam,

W jaki sposób należy odpytać się o poświadczenia (/Online/Query/Credential/Sync), wysyłam zapytanie jak w webinarze (środowisko testowe)

{
"timestamp":"2022-02-28T20:30:17.187Z",
"queryCriteria":
  {
  "structureType":"plain",
  "selectorType":"all",
  "queryCredentialsTypeResultType":"all",
  "queryCredentialsScopeResultType":"current"
  }
}

ale dostaję BadRequest (400):

{
  "exception": {
    "serviceCtx": "srvTEMFB",
    "serviceCode": "20220301-EX-C1A61BFC35-A7BBF64DC3-A7",
    "serviceName": "online.query.query.credentials",
    "timestamp": "2022-02-28T21:02:56.032Z",
    "referenceNumber": "20220301-SE-60CAE572FC-A3157A8C21-09",
    "exceptionDetailList": [
      {
        "exceptionCode": 21204,
        "exceptionDescription": "Nieprawidłowy format dokumentu (json)."
      }
    ]
  }
}

Z góry dzięki za pomoc :)

0

Hej, próbuje wysyłać dokumenty. Wziałem już kilka przykładów i za kazdym razem dostaje ten sam błąd : "processingDescription": "Dokument nie jest zgodny ze schemą (xsd).", dodam że pobrałem dokument z ksefa wysyłany przez kogoś z 28.02 zmieniłem identyfikator nadawcy i banuje mnie takim błędem. Ktoś coś? Może gdzieś są aktualne przykłady?

0

Wysyłam to co poniżej na online/Invoice/Send

{"invoiceHash":{"hashSHA":{"algorithm":"SHA-256","encoding":"Base64","value":"cilI8CyvMEWzHsGwtZsc+/hUaT2qPxCsXjGgbwcph/M="},"fileSize":6824},"invoicePayload":{"type":"plain","invoiceBody":"="}}
<?xml version="1.0" encoding="utf-8"?>
<Faktura xmlns:etd="http://crd.gov.pl/xml/schematy/dziedzinowe/mf/2021/06/09/eD/DefinicjeTypy/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://crd.gov.pl/wzor/2021/11/29/11089/">
	<Naglowek>
		<KodFormularza kodSystemowy="FA (1)" wersjaSchemy="1-0E">FA</KodFormularza>
		<WariantFormularza>1</WariantFormularza>
		<DataWytworzeniaFa>2022-03-01T09:30:47Z</DataWytworzeniaFa>
		<SystemInfo>Samplofaktur</SystemInfo>
	</Naglowek>
	<Podmiot1>
		<DaneIdentyfikacyjne>
			<NIP>9999999999</NIP>
			<PelnaNazwa>ABC AGD sp. z o. o.</PelnaNazwa>
		</DaneIdentyfikacyjne>
		<Adres>
		   	<AdresPol>
				<KodKraju>PL</KodKraju>
				<Ulica>Kwiatowa</Ulica>
				<NrDomu>1</NrDomu>
				<NrLokalu>2</NrLokalu>
				<Miejscowosc>Warszawa</Miejscowosc>
				<KodPocztowy>00-001</KodPocztowy>
			</AdresPol>
		</Adres>
		<Email>abc@abc.pl</Email>
		<Telefon>667444555</Telefon>
	</Podmiot1>
	<Podmiot2>
		<DaneIdentyfikacyjne>
			<NIP>1111111111</NIP>
			<PelnaNazwa>CDE sp. j.</PelnaNazwa>
		</DaneIdentyfikacyjne>
		<Adres>
		   	<AdresPol>
				<KodKraju>PL</KodKraju>
				<Ulica>Sadowa</Ulica>
				<NrDomu>1</NrDomu>
				<NrLokalu>3</NrLokalu>
				<Miejscowosc>Kraków</Miejscowosc>
				<KodPocztowy>00-002</KodPocztowy>
			</AdresPol>
		</Adres>
		<Email>cde@cde.pl</Email>
		<Telefon>555777999</Telefon>
		<NrKlienta>fdfd778343</NrKlienta>
	</Podmiot2>
	<Fa>
		<KodWaluty>EUR</KodWaluty>
		<P_1>2022-02-15</P_1>
		<P_1M>Warszawa</P_1M>
		<P_2>FV2022/02/150</P_2>
		<P_13_1>13560</P_13_1>
		<P_14_1>3118.80</P_14_1>
		<P_14_1W>13768.14</P_14_1W>
		<P_15>16678.80</P_15>
		<Adnotacje>
			<P_16>2</P_16>
			<P_17>2</P_17>
			<P_18>2</P_18>
			<P_18A>2</P_18A>
			<P_19>2</P_19>
			<P_22>2</P_22>
			<P_23>2</P_23>
			<P_PMarzy>2</P_PMarzy>
		</Adnotacje>
		<RodzajFaktury>VAT</RodzajFaktury>
		<FaWiersze>
			<LiczbaWierszyFaktury>3</LiczbaWierszyFaktury>
			<WartoscWierszyFaktury1>13560</WartoscWierszyFaktury1>
			<FaWiersz>
				<NrWierszaFa>1</NrWierszaFa>
				<UU_ID>aaaa111133339990</UU_ID>
				<P_6A>2022-02-05</P_6A>
				<P_7>lodówka Zimnotech mk1</P_7>
				<CN>8418 21 91</CN>
				<P_8A>szt.</P_8A>
				<P_8B>10</P_8B>
				<P_9A>406</P_9A>
				<P_11>4060</P_11>
				<P_12>23</P_12>
				<P_12_Procedura>7</P_12_Procedura>
				<KursWaluty>4.4080</KursWaluty>
			</FaWiersz>
			<FaWiersz>
				<NrWierszaFa>2</NrWierszaFa>
				<UU_ID>aaaa111133339991</UU_ID>
				<P_6A>2022-02-10</P_6A>
				<P_7>zamrażarka Zimnotech mk2</P_7>
				<CN>8418 40 20</CN>
				<P_8A>szt.</P_8A>
				<P_8B>20</P_8B>
				<P_9A>250</P_9A>
				<P_11>5000</P_11>
				<P_12>23</P_12>
				<P_12_Procedura>7</P_12_Procedura>
				<KursWaluty>4.5005</KursWaluty>
			</FaWiersz>
			<FaWiersz>
				<NrWierszaFa>3</NrWierszaFa>
				<UU_ID>aaaa111133339992</UU_ID>
				<P_6A>2022-02-20</P_6A>
				<P_7>zmywarka Bryza 100</P_7>
				<CN>8422 11 00</CN>
				<P_8A>szt.</P_8A>
				<P_8B>15</P_8B>
				<P_9A>300</P_9A>
				<P_11>4500</P_11>
				<P_12>23</P_12>
				<P_12_Procedura>7</P_12_Procedura>
				<KursWaluty>4.3250</KursWaluty>
			</FaWiersz>
		</FaWiersze>
		<Platnosc>
			<TerminyPlatnosci>
				<TerminPlatnosci>2022-03-15</TerminPlatnosci>
			</TerminyPlatnosci>
			<FormaPlatnosci>6</FormaPlatnosci>
			<RachunekBankowyFaktora>
				<NrRBPL>73111111111111111111111111</NrRBPL>
				<RachunekWlasnyBanku>2</RachunekWlasnyBanku>
				<NazwaBanku>Bank Bankowości Bankowej S. A.</NazwaBanku>
			</RachunekBankowyFaktora>
		</Platnosc>
		<WarunkiTransakcji>
			<Zamowienia>
				<DataZamowienia>2022-01-26</DataZamowienia>
				<NrZamowienia>4354343</NrZamowienia>
			</Zamowienia>
			<NrPartiiTowaru>2312323/2022</NrPartiiTowaru>
			<WarunkiDostawy>CIP</WarunkiDostawy>
			<Transport>
				<RodzajTransportu>3</RodzajTransportu>
				<Przewoznik>
					<DaneIdentyfikacyjne>
						<NIP>6666666666</NIP>
						<ImiePierwsze>Jan</ImiePierwsze>
						<Nazwisko>Nowak</Nazwisko>
						<NazwaHandlowa>Jan Nowak Transport</NazwaHandlowa>
					</DaneIdentyfikacyjne>
					<AdresPrzewoznika>
						<AdresPol>
							<KodKraju>PL</KodKraju>
							<Ulica>Bukowa</Ulica>
							<NrDomu>5</NrDomu>
							<Miejscowosc>Poznań</Miejscowosc>
							<KodPocztowy>00-004</KodPocztowy>
						</AdresPol>
					</AdresPrzewoznika>
				</Przewoznik>
				<OpisLadunku>13</OpisLadunku>
				<JednostkaOpakowania>a</JednostkaOpakowania>
				<WysylkaZ>
					<AdresPol>
						<KodKraju>PL</KodKraju>
						<Ulica>Kwiatowa</Ulica>
						<NrDomu>1</NrDomu>
						<NrLokalu>2</NrLokalu>
						<Miejscowosc>Warszawa</Miejscowosc>
						<KodPocztowy>00-001</KodPocztowy>
					</AdresPol>
				</WysylkaZ>
				<WysylkaDo>
					<AdresPol>
						<KodKraju>PL</KodKraju>
						<Ulica>Sadowa</Ulica>
						<NrDomu>1</NrDomu>
						<NrLokalu>3</NrLokalu>
						<Miejscowosc>Kraków</Miejscowosc>
						<KodPocztowy>00-002</KodPocztowy>
					</AdresPol>
				</WysylkaDo>
			</Transport>
		</WarunkiTransakcji>
	</Fa>
	<Stopka>
		<Informacje>
			<StopkaFaktury>Kapiał zakładowy 5 000 000</StopkaFaktury>
		</Informacje>
		<Rejestry>
			<KRS>0000099999</KRS>
			<REGON>999999999</REGON>
			<BDO>000099999</BDO>
		</Rejestry>
	</Stopka>
</Faktura>

0

@Dyszla, dostaję odpowiedź {
"exception": {
"serviceCtx": "default",
"serviceCode": "20220302-EX-E6A16BB07A-25B0CCE8A0-AE",
"serviceName": "online.session.session.signed.init",
"timestamp": "2022-03-02T11:42:04.989Z",
"referenceNumber": "20220302-SE-D296C59AD6-F8AD8BFAC9-4A",
"exceptionDetailList": [
{
"exceptionCode": 21225,
"exceptionDescription": "Nieprawidłowy podpis."
}
]
}
}

Wiesz może jak poprawnie podpisać ten xml certyfikatem w C#

0

@DanielG:
Dostaję zwrot {
"exception": {
"serviceCtx": "default",
"serviceCode": "20220302-EX-E6A16BB07A-25B0CCE8A0-AE",
"serviceName": "online.session.session.signed.init",
"timestamp": "2022-03-02T11:42:04.989Z",
"referenceNumber": "20220302-SE-D296C59AD6-F8AD8BFAC9-4A",
"exceptionDetailList": [
{
"exceptionCode": 21225,
"exceptionDescription": "Nieprawidłowy podpis."
}
]
}
}

Wie ktoś może jak to poprawnie podpisać w C#

0

Logowanie tokenem działa wam dzisiaj? W jakim formacie używacie daty do szyfrowania tokenu?

0

@rula12: czym się logujesz przed wygenerowaniem tokena? Jeśli podpisem z NIP - to dlatego nie działa. Trzeba logować się pieczęcią. Miałem to samo. Tokeny generowane tak samo a jeden działał a drugi nie.

0

Cześć, proszę pomóżcie, w jaki sposób podpisujecie xml autoryzacyjny ja próbowałem juz chyba 8 metod w C# ale, żaden kod nie działa poprawnie.
Mam certyfikat po podpisaniu mam:

<?xml version="1.0" encoding="UTF-8"?>

<ns3:InitSessionSignedRequest 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
<Timestamp>2022-03-02T13:03:19.792Z</Timestamp>
<Challenge>20220302-CR-98D4E2F48F-939B0FBFED-9F</Challenge>
<Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
ns2:Identifier1801908070</ns2:Identifier>
</Identifier>
<DocumentType>
ns2:ServiceKSeF</ns2:Service>
ns2:FormCode
ns2:SystemCodeFA (1)</ns2:SystemCode>
ns2:SchemaVersion1-0E</ns2:SchemaVersion>
ns2:TargetNamespacehttp://crd.gov.pl/wzor/2021/11/29/11089/</ns2:TargetNamespace>
ns2:ValueFA</ns2:Value>
</ns2:FormCode>
</DocumentType>
<Type>SerialNumber</Type>
</ns3:Context>
<ds:Signature Id="Signature" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
ds:SignedInfo
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="">
ds:Transforms
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
ds:DigestValueSG5c4GMTJOV+tSVrdObjYq5OtTU=</ds:DigestValue>
</ds:Reference>
<ds:Reference URI="#SignedProperties" Type="http://uri.etsi.org/01903#SignedProperties">
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
ds:DigestValuewumf/fP/xT6X8xWIY/FI3zZwjmc=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
ds:SignatureValuemsGCjaz1FV7F19KVLwOV80ln9eTKq2oG290oGbbOC+lJBMrceJBYWt64Mqx37U6xh8i+SUk0xF6elB14LNxcMQVtsQAbPoOjbYO8gPZWclTGJJ+W3xyBARjqz8KtGnkWf3b5YVTV+eEc59mcRIuPGf2S4F69dx3zMDmopA6S3hSQFnlOF0ZZfgzS8aahuwhtxyo0JC8MouMbnsapWdIOtRwCHRT0RB7lGoyiDImgC99VgxjvSCjKiiER8jAuMwv4oN1x4ENjgFwZEIfvW8mmavcNY6oDpBqTdCnXqpEzr/vpVnBdDc7D/1luJBq8PbmqsgYq1dXfi12Frz5pSSiglA==</ds:SignatureValue>
ds:KeyInfo
ds:X509Data
ds:X509CertificateMIIEWDCCA0CgAwIBAgIQeZwlXqc5IrhDTEqjRHtDkzANBgkqhkiG9w0BAQUFADCBgTEZMBcGA1UEYQwQVkFUUEwtMTgwMTkwODA3MDEUMBIGA1UEAwwLdGVzdCBrbGllbnQxDDAKBgNVBAsMA0VDTTEOMAwGA1UECgwFc2tpY2gxDzANBgNVBAcMBkx1YmxpbjESMBAGA1UECAwJTHViZWxza2llMQswCQYDVQQGEwJQTDAeFw0yMjAzMDIxMTI4MjBaFw0yMzAzMDIxMTQ4MjBaMIGBMRkwFwYDVQRhDBBWQVRQTC0xODAxOTA4MDcwMRQwEgYDVQQDDAt0ZXN0IGtsaWVudDEMMAoGA1UECwwDRUNNMQ4wDAYDVQQKDAVza2ljaDEPMA0GA1UEBwwGTHVibGluMRIwEAYDVQQIDAlMdWJlbHNraWUxCzAJBgNVBAYTAlBMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3LMCprhc847iALezKOLGTzHcsV6g9YJ/Cr4QDj/5HHTyr+oqyrO2F2Ah/IAUvxRhBD6UkEyxPsZ+vB18RQ7C1da7UXVvts6it0XUVdyqDc+xlPQMngY0aMaEE5LwpTkv4N3E3UaUna5t7Wo/ilQ+z8djCz+f2w1V4AvMlE/a8czjRyjOZPZ0zbZ6fN5ubF3Y4l1JICXLUd/StGpfMZvx0TQ5NRw8D6VQEf4GI7hYANiFbN66qQ1umkzuRkErKkLrNCbw+ypbZSTVWRgBi0vYXSCfjQfSIhdGR9AVEzSGs55XNvGU+zflI8PnkyspaZmpXYxXlzeVrkkZPJUGX46kyQIDAQABo4HJMIHGMA4GA1UdDwEB/wQEAwIFoDCBlAYJKoZIhvcNAQkPBIGGMIGDMA4GCCqGSIb3DQMCAgIAgDAOBggqhkiG9w0DBAICAIAwBwYFKw4DAgcwCgYIKoZIhvcNAwcwCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBLTALBglghkgBZQMEARYwCwYJYIZIAWUDBAEZMAsGCWCGSAFlAwQBAjALBglghkgBZQMEAQUwHQYDVR0OBBYEFH2NzJGKB4tZTj0nYcWZDspHjr7hMA0GCSqGSIb3DQEBBQUAA4IBAQBEa7frxZK40LFKqQqb+ZMDyQGpNUQkmM+BCiYurLmRKRD42UFdBj0oxH7WeszKINo9SxSuYFXZTqDTPB8RICBrNsxqrWIZuE51h+aun0ofNGIYIZe/zbDYnLtE+fzk+2bHNOtnF+nJLFTtJXKK6dXEDe+fGSHcm18Nza+seE1jY3r2Rl5m6gYT8d2IYwn5GuxlcCgB0tTfh/BrmAAuqI7PyG4mfZoUioUSgovVe7xIlD+wCErKICCiRg5KbBr3SaunP/Brt65V7qfeKlbz9a0ACiJz1pcBFsuzLD/nNxBeCJCXWedUP+fGDMUSIwRenGsh/05ZS31jF/8KoTry2fYQ</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
ds:Object
<xades:QualifyingProperties Target="#Signature" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#">
<xades:SignedProperties Id="SignedProperties">
xades:SignedSignatureProperties
xades:SigningTime2022-03-02T13:04:27Z</xades:SigningTime>
xades:SigningCertificate
xades:Cert
xades:CertDigest
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
ds:DigestValueErfs7nHOPwERfnkqluhYq/fJ4+g=</ds:DigestValue>
</xades:CertDigest>
xades:IssuerSerial
ds:X509IssuerNameC=PL, S=Lubelskie, L=Lublin, O=skich, OU=ECM, CN=test klient, OID.2.5.4.97=VATPL-1801908070</ds:X509IssuerName>
ds:X509SerialNumber161647343748261934555458151997060629395</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
xades:SignedDataObjectProperties
xades:CommitmentTypeIndication
xades:CommitmentTypeId
xades:Identifierhttp://uri.etsi.org/01903/v1.2.2#ProofOfApproval</xades:Identifier>
</xades:CommitmentTypeId>
xades:AllSignedDataObjects/
</xades:CommitmentTypeIndication>
</xades:SignedDataObjectProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>
</ns3:InitSessionSignedRequest>

w odpowiedzi dostaję:

{
"exception": {
"serviceCtx": "default",
"serviceCode": "20220302-EX-DA4412285F-FC80FB7D0E-1C",
"serviceName": "online.session.session.signed.init",
"timestamp": "2022-03-02T13:06:07.968Z",
"referenceNumber": "20220302-SE-93BCA73B08-49C914D2CD-EA",
"exceptionDetailList": [
{
"exceptionCode": 21225,
"exceptionDescription": "Nieprawidłowy podpis."
}
]
}
}

Widzę że sporo osób przszło autentykację i jest w stanie wysłać fakturę, jak popisujecie ten dokument, z czego korzystacie.
HELP

0

Czy ktoś wie jak używać endpointu Query/Credential/Sync (jaki powinien być JSON z żądaniem)?

0

Witam,
Nie mogę się przebić przez początek, wydaje mi się że robię zgodnie tym webinarium na yt, probuję się połączyć na ksef-test

  1. wygenerowałem sobie nip
  2. wygenerowałem sobie pesel
  3. wygenerowałem sobie certyfikat z peselem
  4. wywołuję online/Session/AuthorisationChallenge
  5. dostaję ten challenge
  6. przygotowuję xml-a z challenge
  7. podpisuje xadesem
  8. wywołuje online/Session/InitSigned
  9. no i dostaję ""brak autoryzacji"

probóbowałem podpisy z nipem,peselem, prawdziwy podpis(czytnik + karta), za każdym razem to samo

0

@krolyk: ok teraz mam {
"exception": {
"serviceCtx": "srvTEMFB",
"serviceCode": "20220303-EX-187F049C19-2CEC46D2EA-7C",
"serviceName": "online.session.session.signed.init",
"timestamp": "2022-03-03T09:34:28.526Z",
"referenceNumber": "20220303-SE-C4CD904A48-3506709337-FD",
"exceptionDetailList": [
{
"exceptionCode": 9101,
"exceptionDescription": "Nieprawidłowe kodowanie dokumentu."
}
]
}
}
header w postamanie jest taki
screenshot-20220303103653.png

0

@krolyk:
Aktualne żądanie

<?xml version="1.0" encoding="UTF-8"?>
<ns3:InitSessionSignedRequest 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>
		<Timestamp>2022-03-03T09:30:36.829Z</Timestamp>
		<Challenge>20220303-CR-94B1ADD4B2-B85B4B691E-93</Challenge>
		<Identifier xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:SubjectIdentifierByCompanyType">
			<ns2:Identifier>1801908070</ns2:Identifier>
		</Identifier>
		<DocumentType>
			<ns2:Service>KSeF</ns2:Service>
			<ns2:FormCode>
				<ns2:SystemCode>FA (1)</ns2:SystemCode>
				<ns2:SchemaVersion>1-0E</ns2:SchemaVersion>
				<ns2:TargetNamespace>http://crd.gov.pl/wzor/2021/11/29/11089/</ns2:TargetNamespace>
				<ns2:Value>FA</ns2:Value>
			</ns2:FormCode>
		</DocumentType>
		<Type>SerialNumber</Type>
	</ns3:Context>
	<Signature Id="SignatureId" xmlns="http://www.w3.org/2000/09/xmldsig#">
		<SignedInfo>
			<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
			<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
			<Reference URI="">
				<Transforms>
					<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
				<Transforms>
				<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
				<DigestValue>ySLimB8TcxDiCH8j/GztGv876Wo=</DigestValue>
			</Reference>
			<Reference URI="#SignedPropertiesId" Type="http://uri.etsi.org/01903/v1.1.1#SignedProperties">
				<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
				<DigestValue>//c9GOV96XFSHcDdxew9Yc6Dehg=</DigestValue>
			</Reference>
		</SignedInfo>
		<SignatureValue>PmX7Js0PH+KmNMO/qg6S2yxuO+evMyRP+kQgc1/XDepPHB5wrSoH6gr9NA0x/5mubpv/ibXaA9OxtVptQpRpXicIv+Cqwu3uuyBstW1QRlA6z2mQQ2+vPHKf5ZwNpKw/d7j7gjY+/mdzNJGL08YdKP4JTPAyZbzImq5FvT4wpDYBuwxoDJCQSy80nmkzKPWbs3019g/UKl3Dntt0wDdCNQ91zCC5S3YWS4lXtNZv9PHHOCUuJcXvq5djQ+HkMmOZ4ptb5inRJerymz6LL2qK/90Dv5S7CuROJpao9L6wfow71rvwDENTdRuAWc++gKNCiuV2NxUyox53GxeudEvuSQ==</SignatureValue>
		<KeyInfo>
			<X509Data>
				<X509Certificate>MIIEWDCCA0CgAwIBAgIQeZwlXqc5IrhDTEqjRHtDkzANBgkqhkiG9w0BAQUFADCBgTEZMBcGA1UEYQwQVkFUUEwtMTgwMTkwODA3MDEUMBIGA1UEAwwLdGVzdCBrbGllbnQxDDAKBgNVBAsMA0VDTTEOMAwGA1UECgwFc2tpY2gxDzANBgNVBAcMBkx1YmxpbjESMBAGA1UECAwJTHViZWxza2llMQswCQYDVQQGEwJQTDAeFw0yMjAzMDIxMTI4MjBaFw0yMzAzMDIxMTQ4MjBaMIGBMRkwFwYDVQRhDBBWQVRQTC0xODAxOTA4MDcwMRQwEgYDVQQDDAt0ZXN0IGtsaWVudDEMMAoGA1UECwwDRUNNMQ4wDAYDVQQKDAVza2ljaDEPMA0GA1UEBwwGTHVibGluMRIwEAYDVQQIDAlMdWJlbHNraWUxCzAJBgNVBAYTAlBMMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3LMCprhc847iALezKOLGTzHcsV6g9YJ/Cr4QDj/5HHTyr+oqyrO2F2Ah/IAUvxRhBD6UkEyxPsZ+vB18RQ7C1da7UXVvts6it0XUVdyqDc+xlPQMngY0aMaEE5LwpTkv4N3E3UaUna5t7Wo/ilQ+z8djCz+f2w1V4AvMlE/a8czjRyjOZPZ0zbZ6fN5ubF3Y4l1JICXLUd/StGpfMZvx0TQ5NRw8D6VQEf4GI7hYANiFbN66qQ1umkzuRkErKkLrNCbw+ypbZSTVWRgBi0vYXSCfjQfSIhdGR9AVEzSGs55XNvGU+zflI8PnkyspaZmpXYxXlzeVrkkZPJUGX46kyQIDAQABo4HJMIHGMA4GA1UdDwEB/wQEAwIFoDCBlAYJKoZIhvcNAQkPBIGGMIGDMA4GCCqGSIb3DQMCAgIAgDAOBggqhkiG9w0DBAICAIAwBwYFKw4DAgcwCgYIKoZIhvcNAwcwCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBLTALBglghkgBZQMEARYwCwYJYIZIAWUDBAEZMAsGCWCGSAFlAwQBAjALBglghkgBZQMEAQUwHQYDVR0OBBYEFH2NzJGKB4tZTj0nYcWZDspHjr7hMA0GCSqGSIb3DQEBBQUAA4IBAQBEa7frxZK40LFKqQqb+ZMDyQGpNUQkmM+BCiYurLmRKRD42UFdBj0oxH7WeszKINo9SxSuYFXZTqDTPB8RICBrNsxqrWIZuE51h+aun0ofNGIYIZe/zbDYnLtE+fzk+2bHNOtnF+nJLFTtJXKK6dXEDe+fGSHcm18Nza+seE1jY3r2Rl5m6gYT8d2IYwn5GuxlcCgB0tTfh/BrmAAuqI7PyG4mfZoUioUSgovVe7xIlD+wCErKICCiRg5KbBr3SaunP/Brt65V7qfeKlbz9a0ACiJz1pcBFsuzLD/nNxBeCJCXWedUP+fGDMUSIwRenGsh/05ZS31jF/8KoTry2fYQ</X509Certificate>
			</X509Data>
		</KeyInfo>
		<Object>
			<xds:QualifyingProperties Target="#SignatureId" xmlns:xds="htttp://uri.etsi.org/01903/v1.3.2#">
				<xds:SignedProperties Id="SignedPropertiesId">
					<xds:SignedSignatureProperties>
						<xds:SigningTime>2022-03-03T10:31:55.900Z</xds:SigningTime>
						<xds:SigningCertificate>
							<xds:Cert>
								<xds:CertDigest>
									<xds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
									<xds:DigestValue>Erfs7nHOPwERfnkqluhYq/fJ4+g=</xds:DigestValue>
								</xds:CertDigest>
								<xds:IssuerSerial>
									<ds:X509IssuerName xmlns:ds="http://www.w3.org/2000/09/xmldsig#">C=PL, S=Lubelskie, L=Lublin, O=skich, OU=ECM, CN=test klient, OID.2.5.4.97=VATPL-1801908070</ds:X509IssuerName>
									<ds:X509SerialNumber xmlns:ds="http://www.w3.org/2000/09/xmldsig#">799C255EA73922B8434C4AA3447B4393</ds:X509SerialNumber>
								</xds:IssuerSerial>
							</xds:Cert>
						</xds:SigningCertificate>
					</xds:SignedSignatureProperties>
				</xds:SignedProperties>
			</xds:QualifyingProperties>
		</Object>
	</Signature>
</ns3:InitSessionSignedRequest>

pojawia się też czasem zwrotka na zaminaę te response dostaję raz ten obłednym kodowaniu a raz taki:

{
    "exception": {
        "serviceCtx": "srvTEMFA",
        "serviceCode": "20220303-EX-7547A2104B-AE672D3DEC-CC",
        "serviceName": "online.session.session.signed.init",
        "timestamp": "2022-03-03T11:35:27.672Z",
        "referenceNumber": "20220303-SE-4C5AD6744D-21C98B733E-74",
        "exceptionDetailList": [
            {
                "exceptionCode": 9109,
                "exceptionDescription": "Brak danych referencji podpisu [SignatureId]."
            }
        ]
    }
}```
0

Nie uwierzycie.

Odpisali mi z KSeFu!

0

czy ktoś używa terminate?
wywołany autorizationchallenge, potem initsigned, no i terminate. zwraca błąd 400 i że nie może sesja być zakończonaterminate.PNG

0

Hej, robił ktoś z Was może: /online/Credentials/RevokeToken ?
Mam błąd o nieprawidłowym wywołaniu..hm

0
Stl86 napisał(a):

Hej, robił ktoś z Was może: /online/Credentials/RevokeToken ?
Mam błąd o nieprawidłowym wywołaniu..hm

UPDATE: Dobra chyba wygląda, że tego nie ma już w obsłudze a w tym Swagger ciągle pokazują..

@Stl86: Działa bez problemów:
1-st: Zapytanie o tokeny:

URL: https://ksef-test.mf.gov.pl/api/online/Query/Credential/Sync

Body:

{"queryCriteria":{"type":"list_all","queryCredentialsScopeResultType":"current","queryCredentialsTypeResultType":"token"}}

Response:

{"timestamp":"2022-03-05T13:25:54.970Z","referenceNumber":"20220305-SE-7578113F0A-72F85B96A1-C4","credentialsList":[{"type":"list_token","identifier":{"type":"token","identifier":"20220210-EC-97562A5A30-C4D10F3696-A7"},"credentialsRoleList":[{"type":"token","roleType":"payment_confirmation_write","roleDescription":"Zapis potwierdzenia płatności - Token dla Aplikacji"},{"type":"token","roleType":"invoice_read","roleDescription":"Odczyt faktur - Token dla Aplikacji"},{"type":"token","roleType":"invoice_write","roleDescription":"Zapis faktur - Token dla Aplikacji"},{"type":"token","roleType":"credentials_read","roleDescription":"Odczyt uprawnień - Token dla Aplikacji"},{"type":"token","roleType":"credentials_manage","roleDescription":"Zarządzanie poświadczeniami - Token dla Aplikacji"}],"parent":{"type":"list_plain","identifier":{"type":"pesel","identifier":"77080352268"},"credentialsRoleList":[]},"description":"Token wygenerowany dla aplikacji KSeF_API","status":1}]}

2-nd: RevokeToken:

URL: https://ksef-test.mf.gov.pl/api/online/Credentials/RevokeToken

Body:

{"revokeToken":{"sourceTokenIdentifier":{"identifier":"77080352268","type":"pesel"},"tokenNumber":"20220210-EC-97562A5A30-C4D10F3696-A7"}}

Response:

{"timestamp":"2022-03-05T13:25:55.362Z","referenceNumber":"20220305-SE-7578113F0A-72F85B96A1-C4","processingCode":200,"processingDescription":"Odbieranie tokenu zakończono sukcesem","elementReferenceNumber":null}

Note: Nie możesz być autoryzowany w sesji tokenem, którego chcesz usunąć. Autoryzuj się poświadczeniami, za pomocą których wygenerowałeś token autoryzacyjny.

0

Sorry, że z pytaniem zgoła nie programistycznym (acz będącym gdzieś blisko): Podobno miał być jakiś serwis do anonimowego pobierania i wizualizacji eFaktur? Coś więcej wiadomo? Dodatkowo, czy będzie możliwość jakiegoś generowania/usuwania Tokenów, czy raczej koniecznie trzeba to w programie robić?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.