Here is the sample Response JSON.
{ /validationResults/: { /infoMessages/: [], /warningMessages/: [{ /type/: /WARNING/, /code/: /BR-10/, /category/: /EN_16931/, /message/: /An Invoice shall contain the Buyer postal address (BG-8).Not applicable for simplified tax invoices and associated credit notes and debit notes (KSA-2, position 1 and 2 = 02)./, /status/: /WARNING/ }, { /type/: /WARNING/, /code/: /BR-KSA-37/, /category/: /KSA/, /message/: /The seller address building number must contain 4 digits./, /status/: /WARNING/ }, { /type/: /WARNING/, /code/: /BR-KSA-66/, /category/: /KSA/, /message/: /Seller postal code (BT-38) must be 5 digits./, /status/: /WARNING/ } ], /errorMessages/: [{ /type/: /ERROR/, /code/: /XSD_ZATCA_INVALID/, /category/: /XSD validation/, /message/: /Schema validation failed; XML does not comply with UBL 2.1 standards in line with ZATCA specifications/, /status/: /ERROR/ }, { /type/: /ERROR/, /code/: /BR-16/, /category/: /EN_16931/, /message/: /An Invoice shall have at least one Invoice line (BG-25)/, /status/: /ERROR/ } ], /status/: /ERROR/ }, /reportingStatus/: null, /clearanceStatus/: /NOT_CLEARED/, /qrSellertStatus/: null, /qrBuyertStatus/: null}
Here is the code in MyContract Class:
[DataContractAttribute]class MyContract{ str reportingStatus, clearanceStatus, qrSellertStatus, qrBuyertStatus; list validationResults; [DataMemberAttribute(/reportingStatus/)] public str parmReportingStatus(str _reportingStatus = reportingStatus) { reportingStatus = _reportingStatus; return reportingStatus; } [DataMemberAttribute(/clearanceStatus/)] public str parmClearanceStatus(str _clearanceStatus = clearanceStatus) { clearanceStatus = _clearanceStatus; return clearanceStatus; } [DataMemberAttribute(/qrSellertStatus/)] public str parmQrSellertStatus(str _qrSellertStatus = qrSellertStatus) { qrSellertStatus = _qrSellertStatus; return qrSellertStatus; } [DataMemberAttribute(/qrBuyertStatus/)] public str parmQrBuyertStatus(str _qrBuyertStatus = qrBuyertStatus) { qrBuyertStatus = _qrBuyertStatus; return qrBuyertStatus; } [DataMemberAttribute(/validationResults/), DataCollection(Types::Class, classStr(MyContract2))] public list parmValidationResults(list _validationResults = validationResults) { validationResults = _validationResults; return validationResults; }}