Wysyłka faktury /online/Invoice/Send

0

Zbudowałem klasy do komunikacji z API KSEF za pomocą pliku .yaml pobranego ze swaggera. Inicjalizacja i autoryzacja - OK. Próbuję wysłać fakturę która wcześniej zaimportowałem już przez aplikację testową więc jest poprawna.
Próbuje ją wysłać endpoint - /online/Invoice/Send
W zbudowanej klasie na bazie pliku yaml mam do tego funkcje System.Threading.Tasks.Task<SendInvoiceResponse> Invoice_sendAsync(SendInvoiceRequest body)
Klasa SendInvoiceRequest:

    public partial class SendInvoiceRequest 
    {
        [Newtonsoft.Json.JsonProperty("invoiceHash", Required = Newtonsoft.Json.Required.Always)]
        [System.ComponentModel.DataAnnotations.Required]
        public File1MBHashType InvoiceHash { get; set; } = new File1MBHashType();
    
        [Newtonsoft.Json.JsonProperty("invoicePayload", Required = Newtonsoft.Json.Required.Always)]
        [System.ComponentModel.DataAnnotations.Required]
        public InvoicePayloadType InvoicePayload { get; set; } = new InvoicePayloadType();   
    }

Buduję obiekt który po serializacji json wygląda tak:

{
"invoiceHash":
	{
	"fileSize":3337,
	"hashSHA":
		{
			"algorithm":"SHA-256",
			"encoding":"Base64",
			"value":"5k1abqAusbghG95FIX9PsbBtWyIC/pNYKnzheufIUTQ="
		}
	},
"invoicePayload":
	{
	"type":"plain",
	"invoiceBody":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZ...0dXJhPg=="
	}
}

Niby wszystko ok... a dostaje Bad Request. Co robię nie tak?

0

A w zwrotce nie ma żadnej informacji co poszło nie tak?

0
kzkzg napisał(a):

A w zwrotce nie ma żadnej informacji co poszło nie tak?

Już zdiagnozowałem problem. W funkcjach zbudowanych w VS na bazie pliku .yaml brak jest dodatkowych ale wymaganych składowych zapytania. W tym przypadku brak SessionToken.
Pytanie czy korzystać z budowania i aktualizacji podłączonej usługi na bazie .yaml i przy każdej aktualizacji dopisywać wymagane elementy, czy raczej zbudować własne klasy i funkcje.
Wychodzi na to że w przypadku KSEF rozsądniejsze wydaje się to drugie rozwiązanie.

0
marek.kotowski napisał(a):
kzkzg napisał(a):

A w zwrotce nie ma żadnej informacji co poszło nie tak?

Już zdiagnozowałem problem. W funkcjach zbudowanych w VS na bazie pliku .yaml brak jest dodatkowych ale wymaganych składowych zapytania. W tym przypadku brak SessionToken.
Pytanie czy korzystać z budowania i aktualizacji podłączonej usługi na bazie .yaml i przy każdej aktualizacji dopisywać wymagane elementy, czy raczej zbudować własne klasy i funkcje.
Wychodzi na to że w przypadku KSEF rozsądniejsze wydaje się to drugie rozwiązanie.

ja korzystam z funkcji wykreowanych na bazie .yaml tylko do samej realizacji zapytania, trzeba zbudować swoje klasy do kompletacji danych i przygotowania struktury zapytania, bo niestety nie wszystko wynika z pseudo dokumentacji do której mamy dostęp. Też walczyłem z tematem SessionToken ale na szczęście udało mi się to rozwiązać samodzielnie. Mnie osobiście ciekawi dlaczego dokumentacja do KSEF jest przygotowana w tak ograniczony sposób, a zwracane komunikaty, odpowiedzi z błędami nie pozwalają na jednoznaczne określenie błędu czy braku w realizowanym zapytaniu.

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