Walczę aby wysłać FV na demo.
Mój json wygląda tak:
{
"InvoiceHash": {
"HashSHA": {
"Algorithm": "SHA-256",
"Encoding": "Base64",
"Value": "QohnFbnJGdX4pyHgfAL4j6/ipwrm8iAeySAh48yPo+Y="
},
"FileSize": 3342
},
"InvoicePayload": {
"Type": "plain",
"InvoiceBody": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxGYWt0dXJhIHhtbG5zOmV0ZD0iaHR0cDovL2NyZC5nb3YucGwveG1sL3NjaGVtYXR5L2R6aWVkemlub3dlL21mLzIwMjIvMDEvMDUvZUQvRGVmaW5pY2plVHlweS8iIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiDQp4bWxucz0iaHR0cDovL2NyZC5nb3YucGwvd3pvci8yMDIzLzA2LzI5LzEyNjQ4LyI+DQoJPE5hZ2xvd2VrPg0KCQk8S29kRm9ybXVsYXJ6YSBrb2RTeXN0ZW1vd3k9IkZBICgyKSIgd2Vyc2phU2NoZW15PSIxLTBFIj5GQTwvS29kRm9ybXVsYXJ6YT4NCgkJPFdhcmlhbnRGb3JtdWxhcnphPjI8L1dhcmlhbnRGb3JtdWxhcnphPg0KCQk8RGF0YVd5dHdvcnplbmlhRmE+MjAyMi0wMS0wMVQwMDowMDowMFo8L0RhdGFXeXR3b3J6ZW5pYUZhPg0KCQk8U3lzdGVtSW5mbz5TYW1wbG9GYWt0dXI8L1N5c3RlbUluZm8+DQoJPC9OYWdsb3dlaz4NCgk8UG9kbWlvdDE+DQoJCTxEYW5lSWRlbnR5ZmlrYWN5am5lPg0KCQkJPE5JUD42NzUxMzM4ODcyPC9OSVA+DQoJCQk8TmF6d2E+UmFmYcWCIEt1Ym93aWN6PC9OYXp3YT4NCgkJPC9EYW5lSWRlbnR5ZmlrYWN5am5lPg0KCQk8QWRyZXM+DQoJCQk8S29kS3JhanU+UEw8L0tvZEtyYWp1Pg0KCQkJPEFkcmVzTDE+dWwuIEt3aWF0b3dhIDEgbS4gMjwvQWRyZXNMMT4NCgkJCTxBZHJlc0wyPjAwLTAwMSBXYXJzemF3YTwvQWRyZXNMMj4NCgkJPC9BZHJlcz4NCgkJPERhbmVLb250YWt0b3dlPg0KCQkJPEVtYWlsPmFiY0BhYmMucGw8L0VtYWlsPg0KCQkJPFRlbGVmb24+NjY3NDQ0NTU1PC9UZWxlZm9uPg0KCQk8L0RhbmVLb250YWt0b3dlPg0KCTwvUG9kbWlvdDE+DQoJPFBvZG1pb3QyPg0KCQk8RGFuZUlkZW50eWZpa2FjeWpuZT4NCgkJCTxOSVA+NjU5MTUxMTk0MTwvTklQPg0KCQkJPE5hendhPlNlcGllbGFrPC9OYXp3YT4NCgkJPC9EYW5lSWRlbnR5ZmlrYWN5am5lPg0KCQk8QWRyZXM+DQoJCQk8S29kS3JhanU+UEw8L0tvZEtyYWp1Pg0KCQkJPEFkcmVzTDE+dWwuIFBvbG5hIDE8L0FkcmVzTDE+DQoJCQk8QWRyZXNMMj4wMC0wMDEgV2Fyc3phd2E8L0FkcmVzTDI+DQoJCTwvQWRyZXM+DQoJCTxEYW5lS29udGFrdG93ZT4NCgkJCTxFbWFpbD5qYW5Aa293YWxza2kucGw8L0VtYWlsPg0KCQkJPFRlbGVmb24+NTU1Nzc3OTk5PC9UZWxlZm9uPg0KCQk8L0RhbmVLb250YWt0b3dlPg0KCQk8TnJLbGllbnRhPmZkZmQ3NzgzNDM8L05yS2xpZW50YT4NCgk8L1BvZG1pb3QyPg0KCTxGYT4NCgkJPEtvZFdhbHV0eT5QTE48L0tvZFdhbHV0eT4NCgkJPFBfMT4yMDIyLTAyLTE1PC9QXzE+DQoJCTxQXzFNPldhcnN6YXdhPC9QXzFNPg0KCQk8UF8yPkZWMjAyMi8wMi8xNTA8L1BfMj4NCgkJPFBfNj4yMDIyLTAxLTI3PC9QXzY+DQoJCTxQXzEzXzE+MTY2Ni42NjwvUF8xM18xPg0KCQk8UF8xNF8xPjM4My4zMzwvUF8xNF8xPg0KCQk8UF8xM18zPjAuOTU8L1BfMTNfMz4NCgkJPFBfMTRfMz4wLjA1PC9QXzE0XzM+DQoJCTxQXzE1PjIwNTE8L1BfMTU+DQoJCTxBZG5vdGFjamU+DQoJCQk8UF8xNj4yPC9QXzE2Pg0KCQkJPFBfMTc+MjwvUF8xNz4NCgkJCTxQXzE4PjI8L1BfMTg+DQoJCQk8UF8xOEE+MjwvUF8xOEE+DQoJCQk8WndvbG5pZW5pZT4NCgkJCQk8UF8xOU4+MTwvUF8xOU4+DQoJCQk8L1p3b2xuaWVuaWU+DQoJCQk8Tm93ZVNyb2RraVRyYW5zcG9ydHU+DQoJCQkJPFBfMjJOPjE8L1BfMjJOPg0KCQkJPC9Ob3dlU3JvZGtpVHJhbnNwb3J0dT4NCgkJCTxQXzIzPjI8L1BfMjM+DQoJCQk8UE1hcnp5Pg0KCQkJCTxQX1BNYXJ6eU4+MTwvUF9QTWFyenlOPg0KCQkJPC9QTWFyenk+DQoJCTwvQWRub3RhY2plPg0KCQk8Um9kemFqRmFrdHVyeT5WQVQ8L1JvZHphakZha3R1cnk+DQoJCTxGUD4xPC9GUD4NCgkJPERvZGF0a293eU9waXM+DQoJCQk8S2x1Y3o+cHJlZmVyb3dhbmUgZ29kemlueSBkb3dvenU8L0tsdWN6Pg0KCQkJPFdhcnRvc2M+ZG5pIHJvYm9jemUgMTc6MDAgLSAyMDowMDwvV2FydG9zYz4NCgkJPC9Eb2RhdGtvd3lPcGlzPg0KCQk8RmFXaWVyc3o+DQoJCQk8TnJXaWVyc3phRmE+MTwvTnJXaWVyc3phRmE+DQoJCQk8VVVfSUQ+YWFhYTExMTEzMzMzOTk5MDwvVVVfSUQ+DQoJCQk8UF83PmxvZMOzd2thIFppbW5vdGVjaCBtazE8L1BfNz4NCgkJCTxQXzhBPnN6dC48L1BfOEE+DQoJCQk8UF84Qj4xPC9QXzhCPg0KCQkJPFBfOUE+MTYyNi4wMTwvUF85QT4NCgkJCTxQXzExPjE2MjYuMDE8L1BfMTE+DQoJCQk8UF8xMj4yMzwvUF8xMj4NCgkJPC9GYVdpZXJzej4NCgkJPEZhV2llcnN6Pg0KCQkJPE5yV2llcnN6YUZhPjI8L05yV2llcnN6YUZhPg0KCQkJPFVVX0lEPmFhYWExMTExMzMzMzk5OTE8L1VVX0lEPg0KCQkJPFBfNz53bmllc2llbmllIHNwcnrEmXR1PC9QXzc+DQoJCQk8UF84QT5zenQuPC9QXzhBPg0KCQkJPFBfOEI+MTwvUF84Qj4NCgkJCTxQXzlBPjQwLjY1PC9QXzlBPg0KCQkJPFBfMTE+NDAuNjU8L1BfMTE+DQoJCQk8UF8xMj4yMzwvUF8xMj4NCgkJPC9GYVdpZXJzej4NCgkJPEZhV2llcnN6Pg0KCQkJPE5yV2llcnN6YUZhPjM8L05yV2llcnN6YUZhPg0KCQkJPFVVX0lEPmFhYWExMTExMzMzMzk5OTI8L1VVX0lEPg0KCQkJPFBfNz5wcm9tb2NqYSBsb2TDs3drYSBwZcWCbmEgbWxla2E8L1BfNz4NCgkJCTxQXzhBPnN6dC48L1BfOEE+DQoJCQk8UF84Qj4xPC9QXzhCPg0KCQkJPFBfOUE+MC45NTwvUF85QT4NCgkJCTxQXzExPjAuOTU8L1BfMTE+DQoJCQk8UF8xMj41PC9QXzEyPg0KCQk8L0ZhV2llcnN6Pg0KCQk8UGxhdG5vc2M+DQoJCQk8WmFwbGFjb25vPjE8L1phcGxhY29ubz4NCgkJCTxEYXRhWmFwbGF0eT4yMDIyLTAxLTI3PC9EYXRhWmFwbGF0eT4NCgkJCTxGb3JtYVBsYXRub3NjaT42PC9Gb3JtYVBsYXRub3NjaT4NCgkJPC9QbGF0bm9zYz4NCgkJPFdhcnVua2lUcmFuc2FrY2ppPg0KCQkJPFphbW93aWVuaWE+DQoJCQkJPERhdGFaYW1vd2llbmlhPjIwMjItMDEtMjY8L0RhdGFaYW1vd2llbmlhPg0KCQkJCTxOclphbW93aWVuaWE+NDM1NDM0MzwvTnJaYW1vd2llbmlhPg0KCQkJPC9aYW1vd2llbmlhPg0KCQk8L1dhcnVua2lUcmFuc2FrY2ppPg0KCTwvRmE+DQoJPFN0b3BrYT4NCgkJPEluZm9ybWFjamU+DQoJCQk8U3RvcGthRmFrdHVyeT5LYXBpYcWCIHpha8WCYWRvd3kgNSAwMDAgMDAwPC9TdG9wa2FGYWt0dXJ5Pg0KCQk8L0luZm9ybWFjamU+DQoJCTxSZWplc3RyeT4NCgkJCTxLUlM+MDAwMDA5OTk5OTwvS1JTPg0KCQkJPFJFR09OPjk5OTk5OTk5OTwvUkVHT04+DQoJCQk8QkRPPjAwMDA5OTk5OTwvQkRPPg0KCQk8L1JlamVzdHJ5Pg0KCTwvU3RvcGthPg0KPC9GYWt0dXJhPg0K"
}
}
Oczywiście mam podpięty token sesji pod to wywołanie "PUT"
XML opisujący FV jest OK. Przechodzi przez inną aplikację.
Porównywałem invoice body z widocznym w innej aplikacji i jest takie samo.
To samo z Hashem - też powinien być OK.
natomiast cały czas dostaję zwrotkę z KSEF błędem:
"exceptionDetailList": [
{
"exceptionCode": 21001,
"exceptionDescription": "Nieczytelna treść."
}
]
Niestety nie mogę tu załączyć xml-a FV.
Można go pobrać tu jak by ktoś miał czas sprawdzić czy na pewno mam dobrze hash wyliczony i body.
https://devdt.pl/prv/fv.txt
Może ktoś ma pomysł co jeszcze mogę sprawdzić bo utknąłęm.
Z góry dzięki.