# crumbblock_post_handbuch.md

📦 **Crumbforest Blockly-API Handbuch**

---

## 🔍 Ziel

Sende aus dem Terminal-Container (`robot@...`) einen Blockly-Code-Schnipsel an die CakePHP-API im App-Container.

---

## 🧨 Problem

Wenn du im Terminal-Container `curl http://localhost/crumbapi/blockly-terminal` verwendest, bekommst du:

```
curl: (7) Failed to connect to localhost port 80: Connection refused
```

**Grund**: Der App-Server läuft **nicht im gleichen Container**, sondern separat.

---

## ✅ Lösungsmöglichkeiten

### 🟩 Option 1: Zugriff über Container-Name (empfohlen bei Docker `bridge` Netzwerk)

Ersetze `localhost` im `curl`-Befehl durch den Containernamen:

```bash
curl -X POST http://kuchenwald_docker_php83_sql_mit_auth_mit_composer_update_v1_rcv06-app-1/crumbapi/blockly-terminal      -H "Content-Type: application/json"      -d '{"blockcode": "window.alert(\"test\")"}'
```

### 🟦 Option 2: Zugriff über `host.docker.internal` (nur unter macOS/Windows)

```bash
curl -X POST http://host.docker.internal:8080/crumbapi/blockly-terminal      -H "Content-Type: application/json"      -d '{"blockcode": "window.alert(\"test\")"}'
```

---

## 🧪 Erwartete Antwort

```json
{
  "status": "success",
  "message": "Blockcode received.",
  "received": "window.alert("test")"
}
```

---

## 🎯 Integration ins Missionszentrum (mission_selector_mission_1.sh)

Passe den Abschnitt `case 4)` folgendermaßen an:

```bash
4)
    echo ""
    echo "📡 Sende Beispielcode an Crumbforest API..."
    curl -s -X POST http://kuchenwald_docker_php83_sql_mit_auth_mit_composer_update_v1_rcv06-app-1/crumbapi/blockly-terminal          -H "Content-Type: application/json"          -d '{"blockcode": "window.alert(\"test\")"}'
    ;;
```

---

## 🧁 Hinweis für die Ausgabe

Wenn der `curl`-Befehl erfolgreich war und `-s` (silent) verwendet wurde, erscheint keine sichtbare Antwort.  
Wenn du die Rückmeldung sehen willst, entferne das `-s` in `curl`.

---

🕊️ **Krümelkommunikation funktioniert, wenn die Container sich zuhören.**
