# UserContent REST API

# Status Updates

## Authentifizierung/Request Headers

Die Authentifizierung erfolgt mit einem vorgängig kommunizierten API Key, der im Request Header wie folgt mitzuliefern ist:

```
X-Api-Key: {client_api_key_here}
```

Zusätzlich muss der Content-Type auf Application/json gesetzt werden:

```
 Content-Type: Application/json
```

## URL/Request

Mit einem **PUT** Request auf folgende URL kann der Status eines Objekts geändert werden:

```
https://www.mopage.ch/api/v1/usercontent/updatestate/{id}
```

`{id}` stellt dabei die ID des Objekts auf dem moPage Server dar.

## PUT Data (JSON)

Im Body des Requests werden die entsprechenden Werte geliefert (JSON):

```json
{
 "status": 8,
 "comment": "Meldung scheint in falscher Rubrik",
 "statustext": "Die Meldung wurde erfolgreich bearbeitet - besten Dank..."
}
```

<table border="1" class="table" id="bkmrk-feld-beschreibung%2Fwe" style="width: 100%; border-collapse: collapse; border-style: solid; border-width: 1px;"><thead><tr><th style="width: 13.1083%;">Feld</th><th style="width: 86.8917%;">Beschreibung/Werte</th></tr></thead><tbody><tr><td style="width: 13.1083%;">status</td><td style="width: 86.8917%;">2 = *aufgenommen*  
3 = *weitergeleitet DS* Anfrage wurde an zuständige Fachstelle weitergeleitet (initialer Status)   
4 = *DS in Bearbeitung* Fachstelle nimmt Anfrage zur Bearbeitung auf   
5 = *DS abgelehnt* Fachstelle lehnt Anfrage ab  
6 = *DS erledigt* Fachstelle hat Anfrage erledigt   
8 = *DS zurückgewiesen* Fachstelle weist Anfrage zurück</td></tr><tr><td style="width: 13.1083%;">comment</td><td style="width: 86.8917%;"> optionaler Kommentar bei Rückweisung (für internen Gebrauch)</td></tr><tr><td style="width: 13.1083%;">statustext</td><td style="width: 86.8917%;">optionaler Text, der, wenn gesetzt, an die Abonnenten der Meldung geschickt wird (Mail/Push) UND auf der Meldung selbst sichtbar ist</td></tr></tbody></table>

Ist der neu gelieferte Status &lt;&gt; alter Status im System, wird, sofern für den neuen Status eine Benachrichtigung vorgesehen ist (Modulkonfiguration), eine Benachrichtigung an alle Abonnenten der Meldung ausgelöst (Push/Mail)

## Response

<table border="1" class="table" id="bkmrk-status-text-beschrei" style="width: 100%; border-collapse: collapse; border-style: solid; border-width: 1px;"><thead><tr><th style="width: 12.7533%;">Status</th><th style="width: 16.8027%;">Text</th><th style="width: 70.444%;">Beschreibung</th></tr></thead><tbody><tr><td style="width: 12.7533%;">200</td><td style="width: 16.8027%;">OK</td><td style="width: 70.444%;">- Status change has been applied.   
- No status change applied (object already had that status).</td></tr><tr><td style="width: 12.7533%;">400</td><td style="width: 16.8027%;">Bad Request</td><td style="width: 70.444%;">Statuscode is not in expected range</td></tr><tr><td style="width: 12.7533%;">401</td><td style="width: 16.8027%;">Unauthorized</td><td style="width: 70.444%;">No permission with provided key.</td></tr></tbody></table>