Krajowy system e-Faktur

0

Czy ktoś może ma opis wszystkich pól dla pobranej faktury z bramki: invoice/get, jest to w jakiejkolwiek dokumentacji ??

0

Czy ostatnio na serwerze testowym zmieniło się coś w sposobie generowania tokenu lub z uprawnieniami? Ponieważ na starym tokenie mogę nawiązać sesje a juz na nowych wyskakuje kod 400 Brak autoryzacji.

0
ggrek napisał(a):

Czy ostatnio na serwerze testowym zmieniło się coś w sposobie generowania tokenu lub z uprawnieniami? Ponieważ na starym tokenie mogę nawiązać sesje a juz na nowych wyskakuje kod 400 Brak autoryzacji.

Udało mi się teraz nawiązać sesję tokenem wygenerowanym 20 lipca.
A czy nie próbujesz użyć tokena, który był wygenerowany przez użytkownika, który aktualnie nie ma uprawnień?

0

Cześć,

Jestem w trakcie implemetancji odbierania faktur przychodzących z KSEF.

Czy ja dobrze rozumiem, że wystarczy tam zrobić tylko AuthorisationChallenge i InitSessionSigned i potem, tokenem sesji można się odpytywać na endpoincie /online/Query/Invoice/Sync o faktury?

Drugie pytanie - wysyłam taki request na EP:

{
    "queryCriteria": {
        "subjectType": "subject2",
        "criteriaType": "incremental",
        "acquisitionTimestampThresholdFrom": "2022-01-01T00:00:00",
        "acquisitionTimestampThresholdTo": "2022-07-27T00:00:00"
    }
}

i w zwrotce z KSEF dostaję:

{
  "exception": {
    "serviceCtx": "srvTEMFA",
    "serviceCode": "20220726-EX-8B1FFCCA66-DC1894956B-0B",
    "serviceName": "online.query.query.invoice",
    "timestamp": "2022-07-26T09:50:55.937Z",
    "referenceNumber": "20220726-SE-FE6F008F7D-FA2E8D1FFD-42",
    "exceptionDetailList": [
      {
        "exceptionCode": 21404,
        "exceptionDescription": "Nieprawidłowy format dokumentu (json)."
      }
    ]
  }
}

Ma ktoś pomysł dlaczego?

0

Czy u Was także od rana przestało działać generowanie tokenów?

Otwieram jak zwykle sesję przez InitSigned.
Czekam na status 315.
Wysyłam na https://ksef-demo.mf.gov.pl/api/online/Credentials/GenerateToken

{"generateToken":{"credentialsRoleList":[{"roleDescription":"invoice_write","roleType":"invoice_write"}],"description":"w"}}

Odpowiedź
"exceptionCode":21405,"exceptionDescription":"Dokument nie jest zgodny ze schemą (json)."

???

0

cześć, mierze się z takim problemem. czasami moje faktury wysłane pod koniec miesiąca np. 30 czerwca, ksef nabywa je 1 lipca i ustawia datę zaksięgowania 1 lipca. co można z tym zrobić, żeby mieć poprawną datę?

0

Czy te żądanie SendInvoice wygląda na poprawne? Otrzymuję ciągle error 400 bad request przy próbach połączenia się z SendInvoice/ InitToken/ InitRequest... Jedynie AutorisationChellenge przechodzi ale tam nie potrzeba nagłówków...

header
{Content-Type: application/jsonSessionToken: d577084b5531b2ad2b62346c7fcf06f24861639ca139e3d247243863dfe71463Host: ksef-test.mf.gov.plContent-Length: 8090Expect: 100-continueConnection: Keep-Alive}

body
{
  "invoiceHash": {
    "hashSHA": {
      "algorithm": "SHA-256",
      "encoding": "Base64",
      "value": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU="
    },
    "fileSize": 5860
  },
  "invoicePayload": {
    "type": "plain",
    "invoiceBody": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48bnMzOkluaXRSZXF1ZXN0IHhtbG5zPSJodHRwOi8va3NlZi5tZi5nb3YucGwvc2NoZW1hL2d0dy9zdmMvdHlwZXMvMjAyMS8xMC8wMS8wMDAxIiB4bWxuczpuczI9Imh0dHA6Ly9rc2VmLm1mLmdvdi5wbC9zY2hlbWEvZ3R3L3N2Yy9iYXRjaC90eXBlcy8yMDIxLzEwLzAxLzAwMDEiIHhtbG5zOm5zMz0iaHR0cDovL2tzZWYubWYuZ292LnBsL3NjaGVtYS9ndHcvc3ZjL2JhdGNoL2luaXQvcmVxdWVzdC8yMDIxLzEwLzAxLzAwMDEiPjxuczM6SWRlbnRpZmllciB4c2k6dHlwZT0iU3ViamVjdElkZW50aWZpZXJCeUNvbXBhbnlUeXBlIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIj48SWRlbnRpZmllcj4xMTExMTExMTExPC9JZGVudGlmaWVyPjwvbnMzOklkZW50aWZpZXI+PG5zMzpEb2N1bWVudFR5cGU+PFNlcnZpY2U+S1NlRjwvU2VydmljZT48Rm9ybUNvZGU+PFN5c3RlbUNvZGU+RkEgKDEpPC9TeXN0ZW1Db2RlPjxTY2hlbWFWZXJzaW9uPjEtMEU8L1NjaGVtYVZlcnNpb24+PFRhcmdldE5hbWVzcGFjZT5odHRwOi8vY3JkLmdvdi5wbC93em9yLzIwMjEvMTEvMjkvMTEwODkvPC9UYXJnZXROYW1lc3BhY2U+PFZhbHVlPkZBPC9WYWx1ZT48L0Zvcm1Db2RlPjwvbnMzOkRvY3VtZW50VHlwZT48bnMzOkVuY3J5cHRpb24+PEVuY3J5cHRpb25LZXk+PEVuY29kaW5nPkJhc2U2NDwvRW5jb2Rpbmc+PEFsZ29yaXRobT5BRVM8L0FsZ29yaXRobT48U2l6ZT4yNTY8L1NpemU+PFZhbHVlPlNkK3FYcVhhTHk3ODZTV2d3bHMwaUdEUmZSVUkrdmZMSjQ2emxoYzZXbUdjWUFxVFdwenRYZ3dDSS8ydTUwZWlDWDlUR1lNdktJTnEzVFhMVVhPRUg2ZTdBeDBpMTRuR0EvY0JldC9wT1l2TTBLQ3FtTTFoYnpnTkFZUkRseXA5MCswaXVxZEpkL2x1ekxvc2pieFZGOTlPOVcvUHdJL1JEZ2lESHZSOVo2T1V3ZElPMVVuNTZMbkpVYUp3RWpKQU1SSlVmcktFVFBUYUdmOGYrWitsWGVacVZvc29ZVjVoVUx5N2RLaVd5WS9uM0RIbjdGY3JHSmVOOUQ2amUvam5Eem15TkFDNHFUb2VDWGVVemovQ0tFWmFvVENWbWJDdjByT2NYdGdBdUtRSUJJbVBQUDVlRmpFdEJPenlFSndlbE1YZHJ1TENLTThQblpCbldYVjUyQT09PC9WYWx1ZT48L0VuY3J5cHRpb25LZXk+PEVuY3J5cHRpb25Jbml0aWFsaXphdGlvblZlY3Rvcj48RW5jb2Rpbmc+QmFzZTY0PC9FbmNvZGluZz48Qnl0ZXM+MTY8L0J5dGVzPjxWYWx1ZT5wdFZtYlVPMmJBYUo3T0dOWkhGNFN3PT08L1ZhbHVlPjwvRW5jcnlwdGlvbkluaXRpYWxpemF0aW9uVmVjdG9yPjxFbmNyeXB0aW9uQWxnb3JpdGhtS2V5PjxBbGdvcml0aG0+UlNBPC9BbGdvcml0aG0+PE1vZGU+RUNCPC9Nb2RlPjxQYWRkaW5nPlBLQ1MjMTwvUGFkZGluZz48L0VuY3J5cHRpb25BbGdvcml0aG1LZXk+PEVuY3J5cHRpb25BbGdvcml0aG1EYXRhPjxBbGdvcml0aG0+QUVTPC9BbGdvcml0aG0+PE1vZGU+Q0JDPC9Nb2RlPjxQYWRkaW5nPlBLQ1MjNzwvUGFkZGluZz48L0VuY3J5cHRpb25BbGdvcml0aG1EYXRhPjwvbnMzOkVuY3J5cHRpb24+PG5zMzpQYWNrYWdlU2lnbmF0dXJlPjxuczM6UGFja2FnZT48bnMyOlBhY2thZ2VUeXBlPnNpbmdsZTwvbnMyOlBhY2thZ2VUeXBlPjxuczI6Q29tcHJlc3Npb25UeXBlPnppcDwvbnMyOkNvbXByZXNzaW9uVHlwZT48bnMyOlZhbHVlPktTZUZfMDAyMS50bXA8L25zMjpWYWx1ZT48L25zMzpQYWNrYWdlPjxuczM6UGFja2FnZUZpbGVIYXNoPjxIYXNoU0hBPjxBbGdvcml0aG0+U0hBLTI1NjwvQWxnb3JpdGhtPjxFbmNvZGluZz5CYXNlNjQ8L0VuY29kaW5nPjxWYWx1ZT5GdHhjRjY1cVZCek5weE9YMzJmalJvRjBBQW9BUy94cmRRaFZ6S0pESGVRPTwvVmFsdWU+PC9IYXNoU0hBPjxGaWxlU2l6ZT40MjE3PC9GaWxlU2l6ZT48L25zMzpQYWNrYWdlRmlsZUhhc2g+PG5zMzpQYWNrYWdlUGFydHNMaXN0PjxuczM6UGFja2FnZVBhcnRTaWduYXR1cmU+PG5zMjpPcmRpbmFsTnVtYmVyPjE8L25zMjpPcmRpbmFsTnVtYmVyPjxuczI6UGFydEZpbGVOYW1lPktTZUZfMDAyMS50bXAuMDAwPC9uczI6UGFydEZpbGVOYW1lPjxuczI6UGFydEZpbGVIYXNoPjxIYXNoU0hBPjxBbGdvcml0aG0+U0hBLTI1NjwvQWxnb3JpdGhtPjxFbmNvZGluZz5CYXNlNjQ8L0VuY29kaW5nPjxWYWx1ZT5LZXdyb2UxRVNSSnJKMUErdGlRVEQ0VW1mMUE1SW1hbWh6MHhSWk10NHdjPTwvVmFsdWU+PC9IYXNoU0hBPjxGaWxlU2l6ZT40MjI0PC9GaWxlU2l6ZT48L25zMjpQYXJ0RmlsZUhhc2g+PC9uczM6UGFja2FnZVBhcnRTaWduYXR1cmU+PC9uczM6UGFja2FnZVBhcnRzTGlzdD48L25zMzpQYWNrYWdlU2lnbmF0dXJlPjxkczpTaWduYXR1cmUgSWQ9IlNpZ25hdHVyZUlkLTY1YmVjMWE3LTNkOWMtNDFkZi04Zjk2LTBjYTJkNTZhOWYxYyIgeG1sbnM6ZHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxkczpTaWduZWRJbmZvPjxkczpDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiIC8+PGRzOlNpZ25hdHVyZU1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZHNpZy1tb3JlI3JzYS1zaGEyNTYiIC8+PGRzOlJlZmVyZW5jZSBVUkk9IiI+PGRzOlRyYW5zZm9ybXM+PGRzOlRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIiAvPjwvZHM6VHJhbnNmb3Jtcz48ZHM6RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhMjU2IiAvPjxkczpEaWdlc3RWYWx1ZT4vU2Q4TDFwSUlYV3dwMTFXZk9yQ3BHa0Z3MlZyZWFrRlZEYVduWmp6cVJZPTwvZHM6RGlnZXN0VmFsdWU+PC9kczpSZWZlcmVuY2U+PGRzOlJlZmVyZW5jZSBVUkk9IiNTaWduYXR1cmVQcm9wZXJ0aWVzLTY1YmVjMWE3LTNkOWMtNDFkZi04Zjk2LTBjYTJkNTZhOWYxYyIgVHlwZT0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMyNTaWduZWRQcm9wZXJ0aWVzIj48ZHM6VHJhbnNmb3Jtcz48ZHM6VHJhbnNmb3JtIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4jV2l0aENvbW1lbnRzIiAvPjwvZHM6VHJhbnNmb3Jtcz48ZHM6RGlnZXN0TWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjc2hhMjU2IiAvPjxkczpEaWdlc3RWYWx1ZT50bDhFc2NTeVgrY29NT3BRYTdocHZwS3VaSGdNa2k4dnNsOWlpYStjbys0PTwvZHM6RGlnZXN0VmFsdWU+PC9kczpSZWZlcmVuY2U+PC9kczpTaWduZWRJbmZvPjxkczpTaWduYXR1cmVWYWx1ZT5Hb1FibzJUT2F6ajRUNjZxZE1FdzRMMi9NNDQ5ZE8ycE1yM2dFZERUaVhHM0Z4Si80Rk5aSXprOTF3Vm1VaEJEODZxMGM0TnA2S1hadXZrdkxnckdZZ3VwOWJZcjA1VEFSR25zVmpQMUlJU1JMaEJEYzcvckdwUEl2WHVPNDZMdnMwNUxNYm9IRUFoTFJ5eEk5ZXVyVE14SUpLOHRmSUxxYjg2d2tJeXlnRnBJM0Y2ekRsZFgvc292TjRLNFJXbWYzekZrT0ptOGtIWFJvWmQ5M3VndEl6cWV0QldZRFo1OE40Q0VLbjJ2REs5OE1aaDZHNFUwSTh4cFJDZHgwM1gyUHI3eU5tTnZJdW0vVUt4TjFZbk5pemRwd1A4YVdsaUVaY2t2YjBFeXZtczZ6NWNkOGtUZExxTTUrWHFkZHVTc0Y0UCtBdXFZVzNWakgwQUIwWWtwQVE9PTwvZHM6U2lnbmF0dXJlVmFsdWU+PGRzOktleUluZm8+PGRzOlg1MDlEYXRhPjxkczpYNTA5Q2VydGlmaWNhdGU+TUlJREd6Q0NBZ01DRkRrMnFJcnJQZ0hEQ2RiK1A3bk1FdERjTGtOZE1BMEdDU3FHU0liM0RRRUJDd1VBTUVveEdUQVhCZ05WQkdFTUVGWkJWRkJNTFRFeE1URXhNVEV4TVRFeERUQUxCZ05WQkFNTUJFRkxUVVl4RVRBUEJnTlZCQW9NQ0ZSRlUxUkJTMDFHTVFzd0NRWURWUVFHRXdKUVREQWVGdzB5TWpBM01EVXhNVEl6TlRaYUZ3MHlNekEzTURVeE1USXpOVFphTUVveEdUQVhCZ05WQkdFTUVGWkJWRkJNTFRFeE1URXhNVEV4TVRFeERUQUxCZ05WQkFNTUJFRkxUVVl4RVRBUEJnTlZCQW9NQ0ZSRlUxUkJTMDFHTVFzd0NRWURWUVFHRXdKUVREQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU1OZ1VRazNrQXJ3bGtlYytWSXFLTDY5cGJrSkNXbllFSzhaMVhDUXlqU3UxRllLa3R0NEdUclZsc3ROcEkxemgrQzZQY2xyMTZwQTdwam14L0pqMjB4TjUzdjFFbjlvY3dubzhUMjYzQzYwdFNHdFo3MUZBQkRQaHRBY09PWHgzbzltbVdLM3pTU2c3ZnBQcFg3eWJ3b2FndEI1SUJEKzhvUmxSU1FkMEVaSUs3MjNqRXNMSFM1NWVyMk8vMXFSR2w1d3VoYVVqWWxtS21TVGdXUnRqT2JlUzZ2QkNzNHRaVHVkNXR5ZHhtY20vUERRS3p2ODRuV1pwa1oyY0l6SDFicW9EcWx1UEQrbFdBRjZCSXNqRW4yWUtxUE1UVGEzbXJmOUZaNWhNMGxNSkxDbE1ZRjRONzJ5Q1d6UTNQVUhVU0dFU08wQitBR3c3OHloUUJBUjJmRUNBd0VBQVRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQUdUQ2FWcEZrWENnbTdCMGZ6U29QN0NVOExxT0pUWG81aTBKUjJPZnV6VFZoQndFZGkzUWFjVHpFR2Z6TEF6amxJQk13YUlreDJuaEErVER2cVcwZEE3ejc0UktXZFlmTnVtT2JiYkZYbHBFT3FuSzhZVDlBOXBiaG1sRXVqK2xLLzJNVXJrbFFIbXNkTmlZNWVjWlRheXhWMDRLVFliWE1jb2ZZTTJSRWJVa3hFaEJpMFJwYTgrMGpBeVNoMXBSWnlyUG5mNFBvM0UwaWF3bzM2N3Vldm1WTzVrbUlIV3VNWGhNYzF5eExZRUFLeWh6SVg1OEh6MVpXa056clBFQXpKamJQZncvRy9PcnlNU3JEOEV6M01tRCtnMGliem9QSlRBbUhUV296RGc0aWRrSUdOb0FrcCtkNHVLbmRYWjdscjZsQVBVSkZ2aGFaSXNOM1czRXNhQT09PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PGRzOk9iamVjdD48eGFkZXM6UXVhbGlmeWluZ1Byb3BlcnRpZXMgVGFyZ2V0PSIjU2lnbmF0dXJlSWQtNjViZWMxYTctM2Q5Yy00MWRmLThmOTYtMGNhMmQ1NmE5ZjFjIiB4bWxuczp4YWRlcz0iaHR0cDovL3VyaS5ldHNpLm9yZy8wMTkwMy92MS4zLjIjIj48eGFkZXM6U2lnbmVkUHJvcGVydGllcyBJZD0iU2lnbmF0dXJlUHJvcGVydGllcy02NWJlYzFhNy0zZDljLTQxZGYtOGY5Ni0wY2EyZDU2YTlmMWMiPjx4YWRlczpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPjx4YWRlczpTaWduaW5nVGltZT4yMDIyLTA3LTE0VDExOjUwOjI1KzAxOjAwPC94YWRlczpTaWduaW5nVGltZT48eGFkZXM6U2lnbmluZ0NlcnRpZmljYXRlPjx4YWRlczpDZXJ0Pjx4YWRlczpDZXJ0RGlnZXN0PjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiIC8+PGRzOkRpZ2VzdFZhbHVlPlR0MmpncnlpQ21UTVczVFY3YjBnRFpDZjJDSjBpNG5BdmFVVjIrdXBRdWM9PC9kczpEaWdlc3RWYWx1ZT48L3hhZGVzOkNlcnREaWdlc3Q+PHhhZGVzOklzc3VlclNlcmlhbD48ZHM6WDUwOUlzc3Vlck5hbWU+Qz1QTCwgTz1URVNUQUtNRiwgQ049QUtNRiwgT0lELjIuNS40Ljk3PVZBVFBMLTExMTExMTExMTE8L2RzOlg1MDlJc3N1ZXJOYW1lPjxkczpYNTA5U2VyaWFsTnVtYmVyPjMyNjYzMTM5NjMxMzM3MzIxNDQ5MTUwNzY3OTgzMTAwOTIxNjU5MDQ3MzIxNjg2MTwvZHM6WDUwOVNlcmlhbE51bWJlcj48L3hhZGVzOklzc3VlclNlcmlhbD48L3hhZGVzOkNlcnQ+PC94YWRlczpTaWduaW5nQ2VydGlmaWNhdGU+PC94YWRlczpTaWduZWRTaWduYXR1cmVQcm9wZXJ0aWVzPjwveGFkZXM6U2lnbmVkUHJvcGVydGllcz48L3hhZGVzOlF1YWxpZnlpbmdQcm9wZXJ0aWVzPjwvZHM6T2JqZWN0PjwvZHM6U2lnbmF0dXJlPjwvbnMzOkluaXRSZXF1ZXN0Pg=="
  }
}

0

Hej
Mam pytanie o to co powinienem zrobić z otrzymanym streamem z "/online/Query/Invoice/Async/Fetch/{QueryElementReferenceNumber}/{PartElementReferenceNumber}" , rozumiem że to już jest faktura czy wiele faktur?
Język c#, apka KSeF2 nie działa mi w tym zakresie i nie zapisuje plików.

0

Na pytanie, zadane do KSeF, dot. limitów otrzymałem następującą odpowiedź:

Uprzejmie informujemy, że celem limitów jest zablokowanie złych implementacji klienta. Należy zauważać, że limity blokują takie same requesty, a więc:

• operationId należy powiązać z kontraktem open api
• limit to liczba duplikatów
• lifespan to czas w jakim powyższa liczba duplikatów jest dopuszczalna

Jeżeli liczba duplikatów przekroczy zdefiniowaną wartość w czasie krótszym niż zdefiniowany, następuje blokada na zdefiniowany czas.

Prawie wszystko rozumiem :)
Ale jak myślicie co oznaczają takie same requesty?
Czy oznacza to po prostu request na ten sam endpoint bez względu na wartości parametrów/request body?
Czy jeśli będą różne parametry np. dla GET lub request body dla PUT/POST jest to traktowane jako duplikat wpływający na limit?

0

Cześć,

Ile u was np. przy wysyłce faktur batchowo lub przy Session/InitSigned trwa sam podpis XAdESowy?

U mnie jest to operacja, która znacznie opóźnia cały proces - sam podpis trwa około minuty na środowisku developerskim i zastanawiam się czy tak powinno być? Wykorzystuję bibliotekę digidoc4j:

        <dependency>
            <groupId>org.digidoc4j</groupId>
            <artifactId>digidoc4j</artifactId>
            <version>5.0.0</version>
        </dependency>
0
  1. Przy pobieraniu faktur asynchronicznie /online/Query/Invoice/Async/Init/,online/Query/Invoice/Async/Status/,/online/Query/Invoice/Async/Fetch/ mam jakiś wpływ na ("divisionType": "day"), aby był miesięczny lub nawet tygodniowy?

  2. Po poprawnym wykonaniu operacji asynchronicznie otrzymuje plik binarny jak mogę do odczytać?

  3. Czy ktoś jest mi w stanie wytłumaczyć jak działa online/Query/Invoice/Async/Status/? Raz pobieram dokumenty i wystarczy wykonanie raz requesta, aby znalazł ilość dokumentów a raz wykonuje kilka razy i nic nie znajduje?

0

Czy można mieć wpływ na sortowanie wyników dla online/Query/Invoice/Sync?
Z tego co otrzymuję wynika, że sortowanie jest malejące (od najnowszych do najstarszych) po polu acquisitionTimestamp. Bez względu na to czy zastosuję "type": "incremental", czy "type": "range", zawsze na pierwszej stronie (czyli PageOffset=0) otrzymuję najświeższe faktury z wybranego zakresu czasowego, a na ostatniej najstarsze.
Nie bardzo mi to pasuje do wyszukiwania brakujących faktur.
Jak Wy wyszukujecie brakujące faktury?

0
bydman napisał(a):

Czy można mieć wpływ na sortowanie wyników dla online/Query/Invoice/Sync?
Z tego co otrzymuję wynika, że sortowanie jest malejące (od najnowszych do najstarszych) po polu acquisitionTimestamp. Bez względu na to czy zastosuję "type": "incremental", czy "type": "range", zawsze na pierwszej stronie (czyli PageOffset=0) otrzymuję najświeższe faktury z wybranego zakresu czasowego, a na ostatniej najstarsze.
Nie bardzo mi to pasuje do wyszukiwania brakujących faktur.
Jak Wy wyszukujecie brakujące faktury?

@Dzyszla: Odpowiadając do Twojego komentarza "Ale co to zmienia? I tak trzeba wszystkie wyniki przejrzeć i pobrać, a sortowanie od najnowszych, zakładając że masz wszystko do czasu pobrane, tym bardziej ułatwia właśnie przerwanie w momencie, gdy już dojdzie do tak starych, że pobranych."

Robię to w nowym poście, żeby odpowiedź była lepiej sformatowana (komentarz usuwa nowe linie).

Załóżmy, że startuję z pobieraniem faktur.
Ustawiam zakres dat OD: 2022-07-01 0000 DO: 2022-08-03 0900.
Otrzymuję wyniki na X stronach (dla NIP 1111111111 dla FV sprzedażowych jest już grubo ponad 100 stron wyników, więc można fajnie testować).
Zaczynam pobierać jsony od 1 strony (PageOffset=0), czyli leci od najświeższych - 2022-08-03.
Załóżmy teraz, że w pewnym momencie (np. na PageOffset=1) coś się wysypuje (np. KSeF zwraca error 400/500) i nie jestem w stanie dokończyć pobierania.
W momencie błędu mam już zapisane najświeższe faktury, no ale nie dojechałem do końca i teraz musi być zastosowana dużo bardziej skomplikowana logika, aby w efekcie końcowym mieć wszystkie faktury.

Natomiast jeśli byłoby sortowanie rosnące, wtedy....
Zaczynam pobierać jsony od PageOffset=0, czyli od najstarszych (2022-07-01).
W momencie jakiegokolwiek błędu wystarczy, że sprawdzę jaką mam MAX acquisitionTimestamp i kolejne sprawdzanie mogę zacząć od tego timestampa, aż do zadanego czasu jako parametr. Wszystko co jest wcześniej niż MAX acquisitionTimestamp nie interesuje mnie, bo przecież do KSeFa nic wstecznie nie może być wpisane.

Dlatego przy sortowaniu rosnącym logika dla mnie jest prosta, a dla sortowania malejącego nie widzę zastosowania "prostej" logiki.

A jaką Wy logikę stosujecie przy sortowaniu malejącym?
Co myślicie o tym co napisałem?

0

Mam pytania odnośnie tokenów.
Czy token żyje tak długo jak sesja (60-120 minut)? Sprawdzacie jakoś czy token jest wciąż aktywny?
Czy jest różnica czy token tworzy użytkownik któremu nadaliśmy poświadczenia od nadania za pośrednictwem pieczęci? Takie tokeny wiszą w bazie do momentu ich zdjęcia?

0

Witam,
znowu mnie prześladuje "Dokument nie jest zgodny ze schemą (xsd).". Ogólnie sytuacja wygląda tak, że wystawiam fakturę na firmę na wartość 7zł i stawce 5%, a następnie próbuję obniżyć cenę do 5zł. Pierwsza faktura przechodzi ze statusem 200 natomiast wystawiana do niego korekta dostaje kod 425 z powyższym błędem. Co robię źle?

oryginalna faktura (działająca)

<?xml version = "1.0" encoding = "utf-8"?>
<Faktura xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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-08-04T09:20:43Z</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne>
      <NIP>9999999999</NIP>
      <PelnaNazwa>aaaaaaaaa</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>xxx</Ulica>
        <NrDomu>yyy</NrDomu>
        <Miejscowosc>zzz</Miejscowosc>
        <KodPocztowy>11-111</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>0000000000</NIP>
      <PelnaNazwa>mmmmmmmmmmmmmmmmmmmmm</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>qwe  </Ulica>
        <NrDomu>asd  </NrDomu>
        <Miejscowosc>zxc</Miejscowosc>
        <KodPocztowy>22-333</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2022-08-04</P_1>
    <P_2>FHG/2022/08/00031</P_2>
    <P_13_1>0</P_13_1>
    <P_14_1>0</P_14_1>
    <P_13_2>0</P_13_2>
    <P_14_2>0</P_14_2>
    <P_13_3>6.67</P_13_3>
    <P_14_3>0.33</P_14_3>
    <P_13_4>0</P_13_4>
    <P_14_4>0</P_14_4>
    <P_13_5>0</P_13_5>
    <P_15>7</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>
    <FP>1</FP>
    <FaWiersze>
      <LiczbaWierszyFaktury>1</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>6.67</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <P_8A>szt</P_8A>
        <P_8B>1</P_8B>
        <P_9A>6.67</P_9A>
        <P_11>6.67</P_11>
        <P_12>5</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
    </FaWiersze>
  </Fa>
</Faktura>

korygująca faktura (zwraca kod 425)

<?xml version = "1.0" encoding = "utf-8"?>
<Faktura xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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-08-04T09:37:58Z</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne>
      <NIP>9999999999</NIP>
      <PelnaNazwa>aaaaaaaaa</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>xxx</Ulica>
        <NrDomu>yyy</NrDomu>
        <Miejscowosc>zzz</Miejscowosc>
        <KodPocztowy>11-111</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>0000000000</NIP>
      <PelnaNazwa>mmmmmmmmmmmmmmmmmmmmm</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>qwe  </Ulica>
        <NrDomu>asd  </NrDomu>
        <Miejscowosc>zxc</Miejscowosc>
        <KodPocztowy>22-333</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2022-08-04</P_1>
    <P_2>KFHG/2022/08/00063</P_2>
    <P_13_1>0</P_13_1>
    <P_14_1>0</P_14_1>
    <P_13_2>0</P_13_2>
    <P_14_2>0</P_14_2>
    <P_13_3>-1.91</P_13_3>
    <P_14_3>-0.09</P_14_3>
    <P_13_4>0</P_13_4>
    <P_14_4>0</P_14_4>
    <P_13_5>0</P_13_5>
    <P_15>-2</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>KOR</RodzajFaktury>
    <DaneFaKorygowanej>
      <DataWystFaKorygowanej>2022-08-04</DataWystFaKorygowanej>
      <NrFaKorygowanej>FHG/2022/08/00031</NrFaKorygowanej>
      <NrKSeFFaKorygowanej>20220804-SE-XXXXXXXXXX-YYYYYYYYYY-B5</NrKSeFFaKorygowanej>
    </DaneFaKorygowanej>
    <FP>1</FP>
    <FaWiersze>
      <LiczbaWierszyFaktury>2</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>-1.9100000000</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <P_8A>szt</P_8A>
        <P_8B>1.00000000</P_8B>
        <P_9A>-6.67</P_9A>
        <P_11>-6.6700000000</P_11>
        <P_12>5</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
      <FaWiersz>
        <NrWierszaFa>2</NrWierszaFa>
        <P_8A>szt</P_8A>
        <P_8B>1.00000000</P_8B>
        <P_9A>4.76</P_9A>
        <P_11>4.7600000000</P_11>
        <P_12>5</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
    </FaWiersze>
  </Fa>
</Faktura>

Wysyłane na wersję przedprodukcyjną, na fakturze miałem podane realne dane, więc nipy, nazwy, adresy i nrksef zanonimizowane przeze mnie.

0
keye0192 napisał(a):

Witam,
znowu mnie prześladuje "Dokument nie jest zgodny ze schemą (xsd).". Ogólnie sytuacja wygląda tak, że wystawiam fakturę na firmę na wartość 7zł i stawce 5%, a następnie próbuję obniżyć cenę do 5zł. Pierwsza faktura przechodzi ze statusem 200 natomiast wystawiana do niego korekta dostaje kod 425 z powyższym błędem. Co robię źle?

oryginalna faktura (działająca)

<?xml version = "1.0" encoding = "utf-8"?>
<Faktura xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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-08-04T09:20:43Z</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne>
      <NIP>9999999999</NIP>
      <PelnaNazwa>aaaaaaaaa</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>xxx</Ulica>
        <NrDomu>yyy</NrDomu>
        <Miejscowosc>zzz</Miejscowosc>
        <KodPocztowy>11-111</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>0000000000</NIP>
      <PelnaNazwa>mmmmmmmmmmmmmmmmmmmmm</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>qwe  </Ulica>
        <NrDomu>asd  </NrDomu>
        <Miejscowosc>zxc</Miejscowosc>
        <KodPocztowy>22-333</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2022-08-04</P_1>
    <P_2>FHG/2022/08/00031</P_2>
    <P_13_1>0</P_13_1>
    <P_14_1>0</P_14_1>
    <P_13_2>0</P_13_2>
    <P_14_2>0</P_14_2>
    <P_13_3>6.67</P_13_3>
    <P_14_3>0.33</P_14_3>
    <P_13_4>0</P_13_4>
    <P_14_4>0</P_14_4>
    <P_13_5>0</P_13_5>
    <P_15>7</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>
    <FP>1</FP>
    <FaWiersze>
      <LiczbaWierszyFaktury>1</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>6.67</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <P_8A>szt</P_8A>
        <P_8B>1</P_8B>
        <P_9A>6.67</P_9A>
        <P_11>6.67</P_11>
        <P_12>5</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
    </FaWiersze>
  </Fa>
</Faktura>

korygująca faktura (zwraca kod 425)

<?xml version = "1.0" encoding = "utf-8"?>
<Faktura xmlns:xsd="http://www.w3.org/2001/XMLSchema" 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-08-04T09:37:58Z</DataWytworzeniaFa>
  </Naglowek>
  <Podmiot1>
    <DaneIdentyfikacyjne>
      <NIP>9999999999</NIP>
      <PelnaNazwa>aaaaaaaaa</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>xxx</Ulica>
        <NrDomu>yyy</NrDomu>
        <Miejscowosc>zzz</Miejscowosc>
        <KodPocztowy>11-111</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot1>
  <Podmiot2>
    <DaneIdentyfikacyjne>
      <NIP>0000000000</NIP>
      <PelnaNazwa>mmmmmmmmmmmmmmmmmmmmm</PelnaNazwa>
    </DaneIdentyfikacyjne>
    <Adres>
      <AdresPol>
        <KodKraju>PL</KodKraju>
        <Ulica>qwe  </Ulica>
        <NrDomu>asd  </NrDomu>
        <Miejscowosc>zxc</Miejscowosc>
        <KodPocztowy>22-333</KodPocztowy>
      </AdresPol>
    </Adres>
  </Podmiot2>
  <Fa>
    <KodWaluty>PLN</KodWaluty>
    <P_1>2022-08-04</P_1>
    <P_2>KFHG/2022/08/00063</P_2>
    <P_13_1>0</P_13_1>
    <P_14_1>0</P_14_1>
    <P_13_2>0</P_13_2>
    <P_14_2>0</P_14_2>
    <P_13_3>-1.91</P_13_3>
    <P_14_3>-0.09</P_14_3>
    <P_13_4>0</P_13_4>
    <P_14_4>0</P_14_4>
    <P_13_5>0</P_13_5>
    <P_15>-2</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>KOR</RodzajFaktury>
    <DaneFaKorygowanej>
      <DataWystFaKorygowanej>2022-08-04</DataWystFaKorygowanej>
      <NrFaKorygowanej>FHG/2022/08/00031</NrFaKorygowanej>
      <NrKSeFFaKorygowanej>20220804-SE-XXXXXXXXXX-YYYYYYYYYY-B5</NrKSeFFaKorygowanej>
    </DaneFaKorygowanej>
    <FP>1</FP>
    <FaWiersze>
      <LiczbaWierszyFaktury>2</LiczbaWierszyFaktury>
      <WartoscWierszyFaktury1>-1.9100000000</WartoscWierszyFaktury1>
      <FaWiersz>
        <NrWierszaFa>1</NrWierszaFa>
        <P_8A>szt</P_8A>
        <P_8B>1.00000000</P_8B>
        <P_9A>-6.67</P_9A>
        <P_11>-6.6700000000</P_11>
        <P_12>5</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
      <FaWiersz>
        <NrWierszaFa>2</NrWierszaFa>
        <P_8A>szt</P_8A>
        <P_8B>1.00000000</P_8B>
        <P_9A>4.76</P_9A>
        <P_11>4.7600000000</P_11>
        <P_12>5</P_12>
        <P_12_Procedura>7</P_12_Procedura>
      </FaWiersz>
    </FaWiersze>
  </Fa>
</Faktura>

Wysyłane na wersję przedprodukcyjną, na fakturze miałem podane realne dane, więc nipy, nazwy, adresy i nrksef zanonimizowane przeze mnie.

Nie przyglądałem się twojemu xml'owi, ale można prosto uzyskać prawidłowo format za pomocą małego triku.

Zrób w ten sposób:

  1. Zaloguj się do https://ksef-test.mf.gov.pl/web na firmę, z której wystawiasz tą fakturę. W komentarzu do tego posta napisałem jak wykonać logowanie na teście - https://4programmers.net/Forum/Nietuzinkowe_tematy/355933-ksef_krajowy_system_e_faktur?p=1859198#id1859198
  2. Przejdź do "Lista faktur"
  3. Poszukaj fakturę, którą udało się Tobie wysłać przez API
  4. Otwórz tą fakturę i pobierz XML, tak jak pokazałem poniżej na screenie.

screenshot-20220804100402.png

  1. Teraz przejdź do "Wczytaj fakturę"
  2. Dodaj plik XML, który przed chwilą pobrałeś

screenshot-20220804101012.png

  1. Nie zrażaj się jeśli wyskoczy błąd "Plik XML zawiera błędy". Kliknij Edytuj

screenshot-20220804101216.png

  1. W otworzonym kreatorze edytuj fakturę przerabiając ją na KOREKTĘ.
  2. Kreator waliduje na bieżąco, w każdym kroku (jest ich 4), wszystkie rzeczy, tak aby były zgodne ze schemą XSD.
  3. Z tego co sam zauważyłem, to przy korekcie ważna jest ilość pozycji wskazywana przed korektą i po korekcie. Różnią się one znakiem minus przy korekcie.
  4. Jak przejdziesz już do kroku 4 możesz pobrać XML'a (jest tam przycisk do tego) lub możesz spróbować wystawić taką fakturę i pobrać XML'a dopiero jak KSeF rzeczywiście przyjmie fakturę.
  5. W ten sposób możesz zobaczyć jak powinien być zbydowany XML do faktury korygującej.
0

Czy do Batch/Init potrzebne są dodatkowe headery? Mimo, że traktuje to identycznie jak InitSigned zwraca mi błąd nieprawidłowe żądanie. Ten sam plik xml w swaggerze przechodzi kod 200.

Headers: {Content-Type: application/octet-streamHost: ksef-test.mf.gov.pl}

<?xml version="1.0" encoding="utf-8"?><ns3:InitRequest xmlns="http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001" xmlns:ns2="http://ksef.mf.gov.pl/schema/gtw/svc/batch/types/2021/10/01/0001" xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/batch/init/request/2021/10/01/0001"><ns3:Identifier xsi:type="SubjectIdentifierByCompanyType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Identifier>1111111111</Identifier></ns3:Identifier><ns3:DocumentType><Service>KSeF</Service><FormCode><SystemCode>FA (1)</SystemCode><SchemaVersion>1-0E</SchemaVersion><TargetNamespace>http://crd.gov.pl/wzor/2021/11/29/11089/</TargetNamespace><Value>FA</Value></FormCode></ns3:DocumentType><ns3:Encryption><EncryptionKey><Encoding>Base64</Encoding><Algorithm>AES</Algorithm><Size>256</Size><Value>Sd+qXqXaLy786SWgwls0iGDRfRUI+vfLJ46zlhc6WmGcYAqTWpztXgwCI/2u50eiCX9TGYMvKINq3TXLUXOEH6e7Ax0i14nGA/cBet/pOYvM0KCqmM1hbzgNAYRDlyp90+0iuqdJd/luzLosjbxVF99O9W/PwI/RDgiDHvR9Z6OUwdIO1Un56LnJUaJwEjJAMRJUfrKETPTaGf8f+Z+lXeZqVosoYV5hULy7dKiWyY/n3DHn7FcrGJeN9D6je/jnDzmyNAC4qToeCXeUzj/CKEZaoTCVmbCv0rOcXtgAuKQIBImPPP5eFjEtBOzyEJwelMXdruLCKM8PnZBnWXV52A==</Value></EncryptionKey><EncryptionInitializationVector><Encoding>Base64</Encoding><Bytes>16</Bytes><Value>ptVmbUO2bAaJ7OGNZHF4Sw==</Value></EncryptionInitializationVector><EncryptionAlgorithmKey><Algorithm>RSA</Algorithm><Mode>ECB</Mode><Padding>PKCS#1</Padding></EncryptionAlgorithmKey><EncryptionAlgorithmData><Algorithm>AES</Algorithm><Mode>CBC</Mode><Padding>PKCS#7</Padding></EncryptionAlgorithmData></ns3:Encryption><ns3:PackageSignature><ns3:Package><ns2:PackageType>single</ns2:PackageType><ns2:CompressionType>zip</ns2:CompressionType><ns2:Value>KSeF_0021.tmp</ns2:Value></ns3:Package><ns3:PackageFileHash><HashSHA><Algorithm>SHA-256</Algorithm><Encoding>Base64</Encoding><Value>FtxcF65qVBzNpxOX32fjRoF0AAoAS/xrdQhVzKJDHeQ=</Value></HashSHA><FileSize>4217</FileSize></ns3:PackageFileHash><ns3:PackagePartsList><ns3:PackagePartSignature><ns2:OrdinalNumber>1</ns2:OrdinalNumber><ns2:PartFileName>KSeF_0021.tmp.000</ns2:PartFileName><ns2:PartFileHash><HashSHA><Algorithm>SHA-256</Algorithm><Encoding>Base64</Encoding><Value>Kewroe1ESRJrJ1A+tiQTD4Umf1A5Imamhz0xRZMt4wc=</Value></HashSHA><FileSize>4224</FileSize></ns2:PartFileHash></ns3:PackagePartSignature></ns3:PackagePartsList></ns3:PackageSignature><ds:Signature Id="SignatureId-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c" 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/2001/04/xmldsig-more#rsa-sha256" /><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/2001/04/xmlenc#sha256" /><ds:DigestValue>/Sd8L1pIIXWwp11WfOrCpGkFw2VreakFVDaWnZjzqRY=</ds:DigestValue></ds:Reference><ds:Reference URI="#SignatureProperties-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c" Type="http://uri.etsi.org/01903#SignedProperties"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" /></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>tl8EscSyX+coMOpQa7hpvpKuZHgMki8vsl9iia+co+4=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>GoQbo2TOazj4T66qdMEw4L2/M449dO2pMr3gEdDTiXG3FxJ/4FNZIzk91wVmUhBD86q0c4Np6KXZuvkvLgrGYgup9bYr05TARGnsVjP1IISRLhBDc7/rGpPIvXuO46Lvs05LMboHEAhLRyxI9eurTMxIJK8tfILqb86wkIyygFpI3F6zDldX/sovN4K4RWmf3zFkOJm8kHXRoZd93ugtIzqetBWYDZ58N4CEKn2vDK98MZh6G4U0I8xpRCdx03X2Pr7yNmNvIum/UKxN1YnNizdpwP8aWliEZckvb0Eyvms6z5cd8kTdLqM5+XqdduSsF4P+AuqYW3VjH0AB0YkpAQ==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIDGzCCAgMCFDk2qIrrPgHDCdb+P7nMEtDcLkNdMA0GCSqGSIb3DQEBCwUAMEoxGTAXBgNVBGEMEFZBVFBMLTExMTExMTExMTExDTALBgNVBAMMBEFLTUYxETAPBgNVBAoMCFRFU1RBS01GMQswCQYDVQQGEwJQTDAeFw0yMjA3MDUxMTIzNTZaFw0yMzA3MDUxMTIzNTZaMEoxGTAXBgNVBGEMEFZBVFBMLTExMTExMTExMTExDTALBgNVBAMMBEFLTUYxETAPBgNVBAoMCFRFU1RBS01GMQswCQYDVQQGEwJQTDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNgUQk3kArwlkec+VIqKL69pbkJCWnYEK8Z1XCQyjSu1FYKktt4GTrVlstNpI1zh+C6Pclr16pA7pjmx/Jj20xN53v1En9ocwno8T263C60tSGtZ71FABDPhtAcOOXx3o9mmWK3zSSg7fpPpX7ybwoagtB5IBD+8oRlRSQd0EZIK723jEsLHS55er2O/1qRGl5wuhaUjYlmKmSTgWRtjObeS6vBCs4tZTud5tydxmcm/PDQKzv84nWZpkZ2cIzH1bqoDqluPD+lWAF6BIsjEn2YKqPMTTa3mrf9FZ5hM0lMJLClMYF4N72yCWzQ3PUHUSGESO0B+AGw78yhQBAR2fECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAGTCaVpFkXCgm7B0fzSoP7CU8LqOJTXo5i0JR2OfuzTVhBwEdi3QacTzEGfzLAzjlIBMwaIkx2nhA+TDvqW0dA7z74RKWdYfNumObbbFXlpEOqnK8YT9A9pbhmlEuj+lK/2MUrklQHmsdNiY5ecZTayxV04KTYbXMcofYM2REbUkxEhBi0Rpa8+0jAySh1pRZyrPnf4Po3E0iawo367uevmVO5kmIHWuMXhMc1yxLYEAKyhzIX58Hz1ZWkNzrPEAzJjbPfw/G/OryMSrD8Ez3MmD+g0ibzoPJTAmHTWozDg4idkIGNoAkp+d4uKndXZ7lr6lAPUJFvhaZIsN3W3EsaA==</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xades:QualifyingProperties Target="#SignatureId-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"><xades:SignedProperties Id="SignatureProperties-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c"><xades:SignedSignatureProperties><xades:SigningTime>2022-07-14T11:50:25+01:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>Tt2jgryiCmTMW3TV7b0gDZCf2CJ0i4nAvaUV2+upQuc=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>C=PL, O=TESTAKMF, CN=AKMF, OID.2.5.4.97=VATPL-1111111111</ds:X509IssuerName><ds:X509SerialNumber>326631396313373214491507679831009216590473216861</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></ns3:InitRequest>

0

No i mam deja vu...
https://4programmers.net/Forum/Nietuzinkowe_tematy/355933-ksef_krajowy_system_e_faktur?p=1856000#id1856000

Wysyłka ponownie z błędnym numerem referencyjnym. W headerach podałem contentsha i X_target. Jakiś pomysł? Czy przypadkiem nie muszę jeszcze czegoś z tym url zrobić? Czy wysarczy jak daję w parametrach RefNum/PartFileName

0

@Dzyszla: O coś takiego chodzi Ci?

HTTP/1.1 400 Bad Request
Connection: keep-alive
Content-Type: application/json
Content-Length: 325
Date: Mon, 08 Aug 2022 09:01:31 GMT

{"exception":{"serviceCtx":"srvTEMFB","serviceCode":"20220808-EX-843FA8CEB8-B5EF72B5A6-08","serviceName":"batch.upload","timestamp":"2022-08-08T09:01:31.650Z","referenceNumber":"20220808-SE-77AABF8F3A-320DD7F423-F5","exceptionDetailList":[{"exceptionCode":21408,"exceptionDescription":"Nieprawidłowy numer referencyjny."}]}}
PUT https://ksef-test.mf.gov.pl/api/batch/Upload/20220808-SE-77AABF8F3A-320DD7F423-F5/KSeF_0021.tmp.000 HTTP/1.1
User-Agent: Fiddler oSession.oRequest["Content-SHA256"] = "Kewroe1ESRJrJ1A+tiQTD4Umf1A5Imamhz0xRZMt4wc="; oSession.oRequest["X-TargetSrv-Name"] = "srvTEMFA"; oResponse.headers.Add("Content-Type", "application/octet-stream);
Host: ksef-test.mf.gov.pl
Content-Length: 5862

<?xml version="1.0" encoding="utf-8"?><ns3:InitRequest xmlns="http://ksef.mf.gov.pl/schema/gtw/svc/types/2021/10/01/0001" xmlns:ns2="http://ksef.mf.gov.pl/schema/gtw/svc/batch/types/2021/10/01/0001" xmlns:ns3="http://ksef.mf.gov.pl/schema/gtw/svc/batch/init/request/2021/10/01/0001"><ns3:Identifier xsi:type="SubjectIdentifierByCompanyType" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Identifier>1111111111</Identifier></ns3:Identifier><ns3:DocumentType><Service>KSeF</Service><FormCode><SystemCode>FA (1)</SystemCode><SchemaVersion>1-0E</SchemaVersion><TargetNamespace>http://crd.gov.pl/wzor/2021/11/29/11089/</TargetNamespace><Value>FA</Value></FormCode></ns3:DocumentType><ns3:Encryption><EncryptionKey><Encoding>Base64</Encoding><Algorithm>AES</Algorithm><Size>256</Size><Value>Sd+qXqXaLy786SWgwls0iGDRfRUI+vfLJ46zlhc6WmGcYAqTWpztXgwCI/2u50eiCX9TGYMvKINq3TXLUXOEH6e7Ax0i14nGA/cBet/pOYvM0KCqmM1hbzgNAYRDlyp90+0iuqdJd/luzLosjbxVF99O9W/PwI/RDgiDHvR9Z6OUwdIO1Un56LnJUaJwEjJAMRJUfrKETPTaGf8f+Z+lXeZqVosoYV5hULy7dKiWyY/n3DHn7FcrGJeN9D6je/jnDzmyNAC4qToeCXeUzj/CKEZaoTCVmbCv0rOcXtgAuKQIBImPPP5eFjEtBOzyEJwelMXdruLCKM8PnZBnWXV52A==</Value></EncryptionKey><EncryptionInitializationVector><Encoding>Base64</Encoding><Bytes>16</Bytes><Value>ptVmbUO2bAaJ7OGNZHF4Sw==</Value></EncryptionInitializationVector><EncryptionAlgorithmKey><Algorithm>RSA</Algorithm><Mode>ECB</Mode><Padding>PKCS#1</Padding></EncryptionAlgorithmKey><EncryptionAlgorithmData><Algorithm>AES</Algorithm><Mode>CBC</Mode><Padding>PKCS#7</Padding></EncryptionAlgorithmData></ns3:Encryption><ns3:PackageSignature><ns3:Package><ns2:PackageType>single</ns2:PackageType><ns2:CompressionType>zip</ns2:CompressionType><ns2:Value>KSeF_0021.tmp</ns2:Value></ns3:Package><ns3:PackageFileHash><HashSHA><Algorithm>SHA-256</Algorithm><Encoding>Base64</Encoding><Value>FtxcF65qVBzNpxOX32fjRoF0AAoAS/xrdQhVzKJDHeQ=</Value></HashSHA><FileSize>4217</FileSize></ns3:PackageFileHash><ns3:PackagePartsList><ns3:PackagePartSignature><ns2:OrdinalNumber>1</ns2:OrdinalNumber><ns2:PartFileName>KSeF_0021.tmp.000</ns2:PartFileName><ns2:PartFileHash><HashSHA><Algorithm>SHA-256</Algorithm><Encoding>Base64</Encoding><Value>Kewroe1ESRJrJ1A+tiQTD4Umf1A5Imamhz0xRZMt4wc=</Value></HashSHA><FileSize>4224</FileSize></ns2:PartFileHash></ns3:PackagePartSignature></ns3:PackagePartsList></ns3:PackageSignature><ds:Signature Id="SignatureId-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c" 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/2001/04/xmldsig-more#rsa-sha256" /><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/2001/04/xmlenc#sha256" /><ds:DigestValue>/Sd8L1pIIXWwp11WfOrCpGkFw2VreakFVDaWnZjzqRY=</ds:DigestValue></ds:Reference><ds:Reference URI="#SignatureProperties-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c" Type="http://uri.etsi.org/01903#SignedProperties"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#WithComments" /></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>tl8EscSyX+coMOpQa7hpvpKuZHgMki8vsl9iia+co+4=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>GoQbo2TOazj4T66qdMEw4L2/M449dO2pMr3gEdDTiXG3FxJ/4FNZIzk91wVmUhBD86q0c4Np6KXZuvkvLgrGYgup9bYr05TARGnsVjP1IISRLhBDc7/rGpPIvXuO46Lvs05LMboHEAhLRyxI9eurTMxIJK8tfILqb86wkIyygFpI3F6zDldX/sovN4K4RWmf3zFkOJm8kHXRoZd93ugtIzqetBWYDZ58N4CEKn2vDK98MZh6G4U0I8xpRCdx03X2Pr7yNmNvIum/UKxN1YnNizdpwP8aWliEZckvb0Eyvms6z5cd8kTdLqM5+XqdduSsF4P+AuqYW3VjH0AB0YkpAQ==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>MIIDGzCCAgMCFDk2qIrrPgHDCdb+P7nMEtDcLkNdMA0GCSqGSIb3DQEBCwUAMEoxGTAXBgNVBGEMEFZBVFBMLTExMTExMTExMTExDTALBgNVBAMMBEFLTUYxETAPBgNVBAoMCFRFU1RBS01GMQswCQYDVQQGEwJQTDAeFw0yMjA3MDUxMTIzNTZaFw0yMzA3MDUxMTIzNTZaMEoxGTAXBgNVBGEMEFZBVFBMLTExMTExMTExMTExDTALBgNVBAMMBEFLTUYxETAPBgNVBAoMCFRFU1RBS01GMQswCQYDVQQGEwJQTDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMNgUQk3kArwlkec+VIqKL69pbkJCWnYEK8Z1XCQyjSu1FYKktt4GTrVlstNpI1zh+C6Pclr16pA7pjmx/Jj20xN53v1En9ocwno8T263C60tSGtZ71FABDPhtAcOOXx3o9mmWK3zSSg7fpPpX7ybwoagtB5IBD+8oRlRSQd0EZIK723jEsLHS55er2O/1qRGl5wuhaUjYlmKmSTgWRtjObeS6vBCs4tZTud5tydxmcm/PDQKzv84nWZpkZ2cIzH1bqoDqluPD+lWAF6BIsjEn2YKqPMTTa3mrf9FZ5hM0lMJLClMYF4N72yCWzQ3PUHUSGESO0B+AGw78yhQBAR2fECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAGTCaVpFkXCgm7B0fzSoP7CU8LqOJTXo5i0JR2OfuzTVhBwEdi3QacTzEGfzLAzjlIBMwaIkx2nhA+TDvqW0dA7z74RKWdYfNumObbbFXlpEOqnK8YT9A9pbhmlEuj+lK/2MUrklQHmsdNiY5ecZTayxV04KTYbXMcofYM2REbUkxEhBi0Rpa8+0jAySh1pRZyrPnf4Po3E0iawo367uevmVO5kmIHWuMXhMc1yxLYEAKyhzIX58Hz1ZWkNzrPEAzJjbPfw/G/OryMSrD8Ez3MmD+g0ibzoPJTAmHTWozDg4idkIGNoAkp+d4uKndXZ7lr6lAPUJFvhaZIsN3W3EsaA==</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xades:QualifyingProperties Target="#SignatureId-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#"><xades:SignedProperties Id="SignatureProperties-65bec1a7-3d9c-41df-8f96-0ca2d56a9f1c"><xades:SignedSignatureProperties><xades:SigningTime>2022-07-14T11:50:25+01:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /><ds:DigestValue>Tt2jgryiCmTMW3TV7b0gDZCf2CJ0i4nAvaUV2+upQuc=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>C=PL, O=TESTAKMF, CN=AKMF, OID.2.5.4.97=VATPL-1111111111</ds:X509IssuerName><ds:X509SerialNumber>326631396313373214491507679831009216590473216861</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature></ns3:InitRequest>


screenshot-20220808111431.png

0

@radek64 tak powinna wyglądać komunikacja:
screenshot-20220808112036.png
screenshot-20220808112046.png

0

@Dzyszla: Mimo kodu 429 w fiddlerze rzuca 200.
Edit, zabrakło mi certyfikatu, jak tylko antypsam mnie puści to wrzucę co odpowaida
screenshot-20220809081351.png
screenshot-20220809081410.png

0

Czy rozpoznawał ktoś, jakie są różnicę przy pobieraniu faktur przychodzących, między modem 'incremental' i 'range'?

W waszych implementacjach którego z nich używacie i dlatego?

1

Witam, ktoś wie czy w ogóle da się wystawić fakturę na zagraniczną firmę? Formaty nipu są nie raz inne niż polskie i od razu takie faktury są odrzucane

0

Problem już kilkukrotnie tutaj poruszany, sugerowałem się najmocniej tym postem:

bydman napisał(a):

Cześć, czy ktoś zna składnię request body dla Query/Invice/Sync dla zapytania typu "detail"?
Znam prawidłowy zapis dla "incremental" oraz "range", ale nie wiem jak zapytać o "detail". Na webinarze z listopada 2021 r. było wspomniane, że istnieje też taka możliwość

Poniżej umieszczam działające request body dla incremental i range, może komuś się przyda.
{
"queryCriteria": {
"subjectType": "subject2",
"type": "incremental", "acquisitionTimestampThresholdFrom": "2022-04-01T12:00:00.000Z", "acquisitionTimestampThresholdTo": "2022-06-08T20:00:00.000Z"
}
}

{
"queryCriteria": {
"subjectType": "subject2",
"type": "range", "invoicingDateFrom": "2022-04-01T12:00:00.000Z", "invoicingDateTo": "2022-06-08T20:00:00.000Z"
}
}

Ale tworząc własne zapytanie o odczyt faktur dostaję bad request "Dokument nie jest zgodny ze schemą (json)."
Tak wygląda moje body:

{
  "queryCriteria": {
    "subjectType": "subject1",
    "invoicingDateFrom": "2022-08-15T13:00:23.000Z",
    "invoicingDateTo": "2022-08-15T15:00:23.000Z",
    "type": "range"
  }
}

Nowa wersja (z tym samym błędem):

{
  "queryCriteria": {
    "subjectType": "subject1",
    "invoicingDateFrom": "2022-08-15T13:31:37.000Z",
    "invoicingDateTo": "2022-08-15T14:31:41.000Z",
    "type": "range"
  }
}

3cia próba (wysłanie zapytania przyjmuje, ale przy próbie odczytu odpowiedzi rzuca "Nieprawidłowe żądanie."):

{
  "queryCriteria": {
    "subjectType": "subject1",
    "type": "range",
    "invoicingDateFrom": "2022-08-15T12:42:46.000Z",
    "invoicingDateTo": "2022-08-15T13:42:46.000Z"
  }
}```
0

Orientuje się ktoś jak wyglądają limity na endpoincie /Query/Invoice/Sync? W piątek dostałem response "Limit żądań osiągnięty." i do tej pory nie został on jeszcze zdjęty - za każdym razem jak strzelam, to zawraca to samo. Pozostałe operacje jak Query/Invoice/Async/Init itp działają poprawnie...

0

Czy ktoś może podesłać JSON do weryfikacji swoich uprawnień: online/Query/Credential/Syn ??

0
ChlnooL napisał(a):

Orientuje się ktoś jak wyglądają limity na endpoincie /Query/Invoice/Sync? W piątek dostałem response "Limit żądań osiągnięty." i do tej pory nie został on jeszcze zdjęty - za każdym razem jak strzelam, to zawraca to samo. Pozostałe operacje jak Query/Invoice/Async/Init itp działają poprawnie...

  1. AuthorisationChallenge

  2. InitSession

  3. W 3 kroku pobieram wszystkie headery, strzelam {
    class QueryCriteriaInvoiceType {
    subjectType: subject2
    type: incremental
    }
    acquisitionTimestampThresholdFrom: data od(zwykle sysdate - 1 miesiąc)
    acquisitionTimestampThresholdTo: data do(sysdate)
    }
    na /Query/InvoiceSync, defaultPageOffset = 0, defaultPageSize = 100.
    wyciągam z tego liczbę wszystkich elementów. Jeśli jest ich więcej niż 100 to dociągam do momentu pobrania wszystkich - zapisuje w bazie

  4. Potem robię Async/Init - ale to już działa OK.

0

Spotkał się ktoś może z podobnym problemem...

przy wywołaniu : Query/Invoice/Sync?PageSize=100&PageOffset=0
z body:

{
  "queryCriteria": {
    "type":"incremental",
    "subjectType": "subject1",
     "acquisitionTimestampThresholdFrom": "2022-01-01T00:00:00+02:00", 
    "acquisitionTimestampThresholdTo": "2022-08-16T18:17:14+2:00"
  }
}

czasami dostaję odpowiedz:

{'exception':
        {'serviceCtx': 'srvTEMFA',
        'serviceCode': 
        '20220816-EX-3D4D85E62D-54D652D721-A5',
        'serviceName':
        'online.query.query.invoice',
        'timestamp': '2022-08-16T18:20:31.398Z',
        'referenceNumber': '20220816-SE-288DAD121E-D982CF5190-B7',
        'exceptionDetailList': 
                    [{'exceptionCode': 21304,
                    'exceptionDescription': 
                    'Brak uwierzytelnienia.'}]}}

a po kilku sekundach dostaje już odpowiedz ze statusem 200 z listą faktur

od czego zależy czas uwierzytelnienia?

0

Czy jest jakiś sposób na sprawdzenie czy faktura nie zalega w przetworzonych po utracie sesji?
Może.. lepiej jeśli zobrazuję to przykładem:
Otworzyłem sesję w której wysłałem fakturę, jej status to 300 (w trakcie przetwarzania) i nagle padł mi prąd. Włączam urządzenie jeszcze raz, ksef odpala się na nowej sesji i odpytuję o faktury wystawione z przedziału ostatnich godzin aby sprawdzić czy jest tam faktura którą przed chwilą wysłałem. Jeśli będzie to super - udało się, ale jeśli jej nie ma chyba to skąd mam wiedzieć czy jest jeszcze w trakcie przetwarzania czy została odrzucona?

Ewentualnie pytanie pokrewne: czytając dokumentacje czy inne jest informacja, że nr faktury powinien być unikalny dla danego podmiotu. A co się stanie jeśli wyślę jeszcze raz fakturę o tym samym numerze?

0

Cześć mam problem z wygenerowaniem tokena z tego adresu: https://ksef-test.mf.gov.pl/api/online/Credentials/GenerateToken

Wygenerowałem sobie token na stronie ze wszystkimi możliwościami i teraz próbuję wygenerować token przez bramkę ale otrzymuję błąd "Brak autoryzacji"
Co trzeba mieć aby programowo wystawić nowy token ??

curl -X 'POST'
'https://ksef-test.mf.gov.pl/api/online/Credentials/GenerateToken'
-H 'accept: application/json'
-H 'SessionToken: db22571a7e62a3698f4ab05428963e4cb412da807cad6a04fcdb01dde5a786a7'
-H 'Content-Type: application/json'
-d '{
"generateToken": {
"description": "Opisss",
"credentialsRoleList": [
{
"roleType": "invoice_read",
"roleDescription": "Opisss"
}
]
}
}'

{
"exception": {
"serviceCtx": "srvTEMFA",
"serviceCode": "20220817-EX-FFF5780928-BE6F915FA1-1D",
"serviceName": "online.credentials.generate.token",
"timestamp": "2022-08-17T10:21:27.169Z",
"referenceNumber": "20220817-SE-AA79E313D0-48BC59B453-7E",
"exceptionDetailList": [
{
"exceptionCode": 21301,
"exceptionDescription": "Brak autoryzacji."
}
]
}
}

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