# Fälle
## Fall EPH (1 Home vorhanden, 1 Home wird gebucht)
1.1 -> 2 -> 3 -> 4.1 -> 4.2 -> 5,6 -> 7 -> 8 -> 9
## Fall MPH (2 Ticketerstellungsmöglichkeiten) Ja/Nein
1.1 -> 2 -> 3 -> 4.1 -> 4.2 -> 5,6 -> 7 -> 8 -> 10 -> 11
## Fall Interessensbekundung
1.1 -> 1.2
# SST
## 1. [GET] Allgemeine Bestellung
`/bestellung`
Rendert die Allgemeine Bestellseite
### Variante 1
Liefert die Standard Ansicht
#### Payload
None
#### Reponse
HTML Code
### Variante 2
Wird bei der Interessensbekundung aufgerufen mit der Erfolgsmeldung
#### Payload
Form Data
#### Response
HTML Code
## 2. [POST] Allgemeine Adresssuche
`/rimo_addresses`
Wird für Autocomplete der Addressen in der Allgemeinen Bestellseite verwendet und liefert maximal 11 Einträge
### Payload
```json!
{"id":2,"jsonrpc":"2.0","method":"call","params":{"term":"a"}}
```
### Response
```json!
{"jsonrpc": "2.0", "id": 0, "result": [{"id": 20371, "full_name": "Gr..ing 0, 8555, Gr..ing\r", "external_name": "SDIBuilding_..."}]}
```
## 3. [POST] Get Region URL
`/get_region_url`
Wird in der Allgemeinen Bestellseite die gewünschte Adresse gefunden, wird diese SST aufgerufen. Die SST returniert die URL für die spezifische Region.
### Payload
```json!
{"id":3,"jsonrpc":"2.0","method":"call","params":{"external_name":"SDIBuilding_...."}}
```
### Response
```json!
{"jsonrpc": "2.0", "id": 3, "result": "http://127.0.0.1:8080/region/anmeldung"}
```
## 4. [GET] Regionspezifische Bestellung
`/<string:region_url_code>/anmeldung`
### 4.1 Variante 1
In der Regionspezisichen Bestellung muss zuerst die Email eingetragen werden, damit man eine Email bit dem Anmeldlink bekommt.
#### Payload
None
#### Response
HTML Code
### 4.2 Variante 2
Anmelde Button in der Regionspezisichen Anmeldung klicken.
#### Payload
Form data mit
* csrf_token
* email
* drc-captcha-solution
#### Response
HTML Code
## 5. Bestellformular
`/<string:region_url_code>/anmeldung/<string:access_code>`
### Payload
None
### Response
HTML Code
## 6. [POST] Helpdesk Ticket Typen werden geladen
`/helpdesk_ticket_type`
### Payload
```json!
{"id":0,"jsonrpc":"2.0","method":"call","params":{}}
```
### Response
```json!
{"jsonrpc": "2.0", "id": 0, "result": [{"id": 50, "name": "Anfrage Herstellung (MPH)", "description": false}, {"id": 28, "name": "Anfrage Internet Service Provider (ISP)", "description": false}, ....]}
```
## 7. [POST] Regionspezifische Adresssuche
`/rimo_address/<string:region_url_code>`
### Payload
```json!
{"id":2,"jsonrpc":"2.0","method":"call","params":{"term":"a"}}
```
### Response
```json!
{"jsonrpc": "2.0", "id": 2, "result": [{"id": 24566, "full_name": "Paldau 1, 8341, Paldau\r", "longitude": 15.87506, "latitude": 46.94327, "external_name": "SDIBuilding_...", "homes_count": 1, "gt1ne": false}, ...]}
```
## 8. [POST] Lade die Produkte für das ausgewählte Gebäude
`/products_for_home/<string:region_id>`
### Payload
```json!
{"id":3,"jsonrpc":"2.0","method":"call","params":{}}
```
### Reponse
```json!
{"jsonrpc": "2.0", "id": 3, "result": {"standard_product": {"product_name": "P20-3 Herstellung Standard-Glasfaseranschluss", "product_type": "standard_product", "product_required": false, "price": 1500.0, "product_text": "...", "discounted_product_text": "...", ...}}}
```
## 9. [POST] Bestellformular signieren
`/<string:region_url_code>/anmeldung/<string:access_code>/accept`
### Payload
```json!
{"id":5,"jsonrpc":"2.0","method":"call","params":{"name":"asd","signature":"iVBOR...","firstname":"a","lastname":"a", ...}}
```
### Response
REDIRECT /<string:region_url_code>/anmeldung/<string:access_code>?access_token=...&message=sign_ok
## 10. [POST] Tickettypen für MPH holen
`/helpdesk_ticket_type_mph`
### Payload
```json!
{"id":4,"jsonrpc":"2.0","method":"call","params":{"ctx":"request"}}
```
### Response
```json!
{"jsonrpc": "2.0", "id": 4, "result": 50}
```
## 11. [POST] Ticket im Bestellformular senden
`/helpdesk/<string:region_url_code>/<string:access_code>/submit`
### Payload
Form Data