Verzenden melding

Story

Als App gebruiker
wil ik de melding kunnen verzenden naar mijn verzekeraar/leasemaatschappij/wagenparkbeheerder
zodat deze de schade verder kan afhandelen

Acceptatie Criteria

  • een incident kan alleen verzonden worden als deze is gesigned door de indiener
  • om een incident te ondertekenen is in de volgende gevallen een confirmation code nodig:
    • bij 2-zijdige meldingen op 1 device: alleen voor de wederpartij.
      GET/v2/incidents/{incidentUuid}/signcode Het platform stuurt nu een sms met een beknopte samenvatting en een bevestigingscode van de melding naar het mobiel nummer van de wederpartij. Deze code moet worden meegegeven in het sign request.
    • bij 2-zijdige meldingen op 2 devices: voor beide partijen:
      PUT /v2/incidents/{incidentUuid}/confirmationcode
      Beide melders krijgen nu een sms met bevestigingscode, die ze in hun eigen melding moeten invoeren. Hierbij is een mechanisme ingebouwd om te checken dat de melding niet ondertussen is aangepast. Zie hieronder bij hashcodes
  • deze confirmation code kan worden aangevraagd met de volgende request:
  • alleen een incident met status 'VALID' mag gesigned worden. Hiervoor wordt de service
    PUT /v2/incidents/{incidentUuid}/status/
    gebruikt

  • Om te bepalen of de wederpartij ook gesigned heeft, moet worden gepolled totdat deze status bereikt is:
    GET /v2/incidents/{incidentUuid}

  • Als standaard bericht formaat wordt het AFD van SIVI gehanteerd. Een schademelding dient naar dit formaat te worden omgezet, tenzij hierover een andere afspraak is gemaakt.

Sequence Diagram

hashcodes

Wanneer 2 partijen op hun eigen device een melding doen, wil je voor het verzenden zeker weten dat de andere partij dezelfde versie van het incident zal opsturen. Daarom is het om te beginnen raadzaam om de samenvatting van beide gelinkte incidenten eerst te tonen. Maar de wederpartij kan natuurlijk vanaf de samenvatting een paar schermen terug gaan om de melding aan te passen. Om dat te detecteren zijn hashcodes ingebouwd, die elk keer berekend worden wanneer de answers van de melding worden aangepast. Bij het ophalen van een incident wordt de hashcode teruggegeven:
GET /v2/incidents/{incidentUuid}

{"link":{"7e3d2f28-beab-423d-bcfc-1e4f0e3ddb21":
        { "status":"VALID",   
            "questionsName":"landbouwvoertuig",             
            "answersHashCode":"df90b9a9a97dbcf2b33c6830f6adb58d9e09c1c0539d8bc8ccd4ea19e7b747eb",  
            "uuid":"7e3d2f28-beab-423d-bcfc-1e4f0e3ddb21"}},   
 "status":"VALID",   
 "questionsName":"auto",   
 "answersHashCode":"3e94a059ccf2ca613e5bd4538a372e095aa694272e2a3c92164981d75a41693d",   
 "uuid":"d49d938a-a37a-445b-8379-77e595e54ddd"
}

Bij het signen van deze meldingen met de request PUT /v2/incidents/{incidentUuid}/confirmationcode zal de app dus de hashcode van de wederpartij moeten meegeven:

{   "status":"SIGNED",
    "code":"6621",
    "hashCode":"df90b9a9a97dbcf2b33c6830f6adb58d9e09c1c0539d8bc8ccd4ea19e7b747eb"
}