Hankintailmoitukset / hilma-api

11 stars 0 forks source link

Why notice has been failed? No visible explanation. #177

Closed eduardsmirnov closed 11 months ago

eduardsmirnov commented 11 months ago

Submitted a notice, it passed Hilma validation, then after some time got failed status from TED. There are no error message returned. https://hns-hilma-test-apim.azure-api.net/eforms/external-write/v1/notice/2bf44937-50ba-4883-b2bb-bb15c455f428-01?includeEForm=False

  1. What is wrong with a notice?
  2. Could you add an error message to your response?
Havunen commented 11 months ago

Hi, @eduardsmirnov

setting parameter includeEForm to true will return more information about the notice:

includeEForm If set to true, response results will contain the eForm, esentoolNotice, tedValidationReport and hilmaStatistics
eduardsmirnov commented 11 months ago

@Havunen I know but still no clear information what is wrong. if possible, I would like to get an error message in a short format (includeEForm = false). Similar to the error you return on Validation API

Havunen commented 11 months ago

@Havunen I know but still no clear information what is wrong.

if you set includeEForm true, there will be TED validation report in the network response property tedValidationReport. Do you mean the TED validation report is unclear? Or do you mean that you would like to fetch the validation reports always but not to include other eForm details?

Havunen commented 11 months ago

This seems to be caused because we were using static -mode when validating notice through TED validation API. We will change it to use dynamic validation mode

eduardsmirnov commented 11 months ago

@Havunen thank you for that. Even in this case, if validation is passed and later after submission the notice will be reverted due to some manual checks or anything else, do you consider to return a message which could be read by our software and be shown to our support?

Havunen commented 11 months ago

The errors from TED validation will be available in the response model when the parameter includeEForm is set to true. In the previous case there were no validation errors because we were using static mode validation which does not seem to run all the TED Schematron checks. We have not implemented any special translations or handling for TED errors.

Havunen commented 11 months ago

dynamic mode validation is now enabled in Hilma test environment, can you try again if it resolves this issue?

eduardsmirnov commented 11 months ago

@Havunen now I got validation error on validation phase which is good and expected.

Still not clear what happens if a notice is validated and submitted and then would be rejected due to TED lawfulness check. Would you just return a status failed as you do today or would also return a textual error message?

Havunen commented 11 months ago

@Havunen now I got validation error on validation phase which is good and expected.

Good to hear. 👍

Still not clear what happens if a notice is validated and submitted and then would be rejected due to TED lawfulness check. Would you just return a status failed as you do today or would also return a textual error message?

This is not yet clear for us either. We have not been able to replicate such situation in our local test environments. We don't know what TED API responds in this case, if this situation ever happens then we could analyze it further to improve our API response

Havunen commented 11 months ago

Still not clear what happens if a notice is validated and submitted and then would be rejected due to TED lawfulness check. Would you just return a status failed as you do today or would also return a textual error message?

Okay so now when TED stops the notice publication process Hilma will move the Hilma state back to DRAFT and TED state will be one of the following final reject states DELETED, STOPPED, VALIDATION_FAILED or NOT_PUBLISHED.

If that happens it is the API clients responsibility to fix the eForms notice content and resubmit it through the API.

please re-open if this is still an issue