Features #365
stängdFeatures #352: Samling: Inför provideroberoende SMS-transport
Maintenance #359: Samling: Egen SMS-gateway för Android 14
Features #362: Anpassa säkert lokalt SMS-API till provider-kontraktet
Definiera providerneutralt lokalt SMS-kontrakt
100%
Beskrivning
Utfall: Det lokala gateway-API:t har ett stabilt, dokumenterat kontrakt för idempotent SMS-inlämning från Föreningskiosk.
Definition of Done:
- Autentiserad request stöder external_id, E.164-mottagare, meddelandetext, TTL och vald SIM-profil.
- Svar och felkoder är stabila och dokumenterade utan att exponera hemligheter eller meddelandeinnehåll.
- Kontrakttester täcker giltig request samt felaktig E.164, TTL, SIM-profil och saknade fält.
Utanför scope: idempotenslagring, rate limiting, statuswebhooks och faktisk operatörssändning.
Verifiering: automatiska kontrakttester och API-prov mot debug-gateway på isolerat LAN/ADB-forward.
Acceptanskriterier
Autentiserat SMS-kontrakt stöder external_id, E.164, meddelande, TTL och SIM-profil med stabila svar och kontrakttester.
Testresultat
PASS: nio statiska Android-kontroller; JVM-kontrakttester; lintDebug; assembleDebug och APK-SHA-256. På fysisk Android 14-enhet via autentiserad ADB-forward: invalid_json, missing_field, invalid_recipient, invalid_ttl och invalid_sim_profile gav stabila HTTP 400-fel; giltig request gav HTTP 202 accepted; dubblett gav HTTP 409 external_id_conflict. Telefonen saknar SIM och testmeddelandet slutade därför i Failed utan operatörssändning.