ЕСОЗ - публічна документація

IL.Suspend Legal Entity Type by MSP - Устарел. Не используется !

Specification

TBC

Validation

Authorization

  1. Verify the validity of access token
    1. in case of error return 401 ('Access denied')
  2. Check user scope legal_entity:update in order to perform this action
    1. in case of error generate 403 response ('Invalid scopes')

Request validation

Validate Owner

  1. Check that one of token.user_id employees is an OWNER of current legal_entity 
    1. in case validation fails - generate 409 - "Only owner of legal entity can suspend legal entity"

Validate digital signature

  1. Validate signature 
  2. Extract signer Certificate details

Validate encoded signed content according to JSON Schema

  1. Return 422 with list of validation errors in case validation fails

Validate Legal Entity

  1. Check that legal_entities.is_active = true and legal_entities.status = active for current legal entity
    1. in case of error return 409 - "legal entity is not active"
  2. token.Client_id must match current legal entity
    1. in case of error return 422 
  3. EDRPOU for token.client_id must match EDRPOU $.legal_entity.edrpou
    1. in case of error return 422 

Validate Tax ID

  1. Check that EDRPOU in Certificate details exists and not empty
    1. Check that EDRPOU in Certificate details is valid according to ^[0-9]{8,10}$
    2. Check that EDRPOU in Certificate details is equal to $.legal_entity.edrpou  
      1. In case validation fails - generate 422 error
  2. If EDRPOU in Certificate details is empty check that DRFO exists and not empty
    1. Check that DRFO in Certificate details is valid according to ^[0-9]{9,10}$
    2. Check that DRFO in Certificate details is equal to $.legal_entity.edrpou 
      1. In case validation fails - generate 422 error
  3. In case EDRPOU and DRFO is empty return error 422, msg "EDRPOU and DRFO is empty in digital sign"

Processing

  1. Set nhs_verified = false, status = 'suspended', status_reason = $.status_reason for current legal entity
  2. Find contracts by contractor_legal_entity_id for current legal entity where status='VERIFIED' 
    1. set ops.contracts.is_suspended=true
  3. Save signed_content to Media Storage
  4. Save data to corresponding collections in DBs
  5. Save link to the signed content to the activity type



ЕСОЗ - публічна документація