Witam,
Zaczynam próbować zintegrować się KSef'em używając środowiska Delphi XE. Przyznam, że nie idzie mi to zbyt łatwo dlatego miałbym kilka pytań.
Do wszystkich operacji wykorzystuje komponent IdHTTP (funkcje POST i GET).
Do tej porty udało mi się uzyskać "Challenge" wysyłając POST'a na adres /api/online/Session/AuthorisationChallenge
Następnie generuje przykładowy XML InitSigned, podpisuje go za pomocą profilu zaufanego i również POST'em wysyłam na adres /api/online/Session/InitSigned i w odpowiedzi dostaję takiego JSON'a:
{
"timestamp":"2022-05-11T07:58:25.213Z",
"referenceNumber":"20220511-SE-7DD5355073-D52EF8045A-87",
"sessionToken":{
"token":"489d885f0a47c302d7c29aa1cbf0f26eefe121b67789ef7a8c2fdb08f6fb42f6",
"context":{
"contextIdentifier":{
"type":"onip",
"identifier":"TUTAJ_MOJ_NIP"
},
"contextName":{
"type":"fn",
"tradeName":null,
"fullName":"MOJANAZWA"
},
"credentialsRoleList":[
{
"type":"standard_plain",
"roleType":"invoice_read",
"roleDescription":"JA"
},
{
"type":"standard_plain",
"roleType":"introspection",
"roleDescription":"JA"
},
{
"type":"standard_plain",
"roleType":"invoice_write",
"roleDescription":"JA"
},
{
"type":"standard_plain",
"roleType":"credentials_read",
"roleDescription":"JA"
},
{
"type":"standard_plain",
"roleType":"credentials_manage",
"roleDescription":"JA
]
}
}
}
Role (uprawnienia), które widać w powyższym JSON i przykładowe faktury ustawiłem sobie wcześniej poprzez zalogowanie się do aplikacji na stronie MF.
Z tych informacji wnioskuję, że "referenceNumber":"20220511-SE-7DD5355073-D52EF8045A-87" to jest numer sesji, którą nawiązałem poprzez InitSigned.
Jednak gdy próbuję uzyskać informacje na temat tej sesji wysyłając IdHTTP.GET(/api/online/Session/Status/20220511-SE-7DD5355073-D52EF8045A-87?PageSize=10&PageOffset=0)
to uzyskuję komunikat HTTP/1.1 400 BadRequest
Tak samo przy próbie wysłania IdHTTP.POST(/api/online/Session/Query/Invoice/Sync,{"queryCriteria": {"subjectType": "subject1","type": "detail"}}')
Pierwsze pytanie: Co robię źle, że nie udaje mi się skomunikować z KSeF'em na tym etapie?
Drugie pytanie: Jak wygenerować zakodowany token aby móc za jego pomocą się dostać do KSeF? Czy ktoś wie jak w DELPHI XE zakodować ten token?
Dziękuje za góry za pomoc.