# Modelli proposti dal tuo cliente

`POST /v1/template-links`

Il tuo cliente sa meglio di te cosa ha bisogno di dire — ma non entra nel pannello. Con un **link di proposta** è lui a preparare il modello e tu lo approvi. Il flusso: generi il link (da **Proposte → Genera link**, oppure `POST /v1/template-links` con `connectionId`) limitato a **UN numero**; glielo mandi; il tuo cliente apre una pagina con **il tuo marchio**, sceglie un modello dal catalogo, lo modifica con un'anteprima in stile WhatsApp e la verifica preventiva che lavora in linguaggio semplice, e lo invia. Ti arriva come **bozza** nella casella **Proposte** (e tramite il webhook `template.draft_submitted`), con la categoria suggerita. Lo controlli, sistemi la categoria se serve e **Approvi** → solo allora viene creato in Meta (`PENDING`).

La **categoria** ha conseguenze economiche (MARKETING costa più di UTILITY) e per questo NON la chiediamo al tuo cliente: la suggerisce il sistema e la decidi tu quando approvi. Puoi approvarne diversi in una volta.

C'è un interruttore per numero, **'Richiede la mia approvazione'**, attivo per impostazione predefinita. Se ti fidi di un cliente, lo disattivi (Numeri → il numero → Generale) e le sue proposte vanno direttamente a Meta senza passare dalla casella.

## Esempi

### cURL

```bash
curl -X POST https://api.waiaconnect.com/v1/template-links \
  -H "Authorization: Bearer wc_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"connectionId":"conn_…","suggestedRubro":"salud","resellerMessage":"Proponé el recordatorio de turno","draftLimit":5,"lang":"es"}'
# → { "url": "https://…/ct/<token>", "expiresAt": "…", "publicId": "onb_…" }
# Send url to your customer. They propose a template for THIS number; it arrives in your
# panel (and as template.draft_submitted) for you to approve. They never enter the panel.
```

### Node.js

```javascript
const res = await fetch("https://api.waiaconnect.com/v1/template-links", {
  method: "POST",
  headers: { "Authorization": "Bearer wc_live_YOUR_API_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({
  "connectionId": "conn_…",
  "suggestedRubro": "salud",
  "resellerMessage": "Proponé el recordatorio de turno",
  "draftLimit": 5,
  "lang": "es"
})
});
const { url } = await res.json(); // https://…/ct/<token> — send it to your customer
```

### PHP

```php
<?php
$ch = curl_init("https://api.waiaconnect.com/v1/template-links");
curl_setopt_array($ch, [
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => ["Authorization: Bearer wc_live_YOUR_API_KEY", "Content-Type: application/json"],
  CURLOPT_POSTFIELDS => json_encode(["connectionId" => "conn_…","suggestedRubro" => "salud","resellerMessage" => "Proponé el recordatorio de turno","draftLimit" => 5,"lang" => "es"]),
]);
$out = json_decode(curl_exec($ch), true);
echo $out["url"]; // https://…/ct/<token> — send it to your customer
```

### Python

```python
import requests
res = requests.post("https://api.waiaconnect.com/v1/template-links",
  headers={"Authorization": "Bearer wc_live_YOUR_API_KEY", "Content-Type": "application/json"},
  json={"connectionId":"conn_…","suggestedRubro":"salud","resellerMessage":"Proponé el recordatorio de turno","draftLimit":5,"lang":"es"})
res.raise_for_status()
print(res.json()["url"])  # https://…/ct/<token> — send it to your customer
```

## Note

- Il link vale per **un solo numero**: il tuo cliente non può proporre modelli per un altro dei tuoi numeri.
- Il cliente non entra MAI nel pannello né vede il nostro marchio. La pagina è senza login, con il tuo marchio.
- Il **motivo del rifiuto è interno** (per il tuo registro): il tuo cliente non lo vede nel prodotto. Se vuoi che lo sappia, diglielo tu sul tuo canale.
- Puoi limitare quante proposte accetta ogni link (`draftLimit`) e aggiungere un messaggio e un settore suggerito.
- La sincronizzazione con Meta non sovrascrive **mai** una bozza: finché non la approvi, vive solo in Connect.
- **Approvare o rifiutare CHIUDE l'avviso di quella proposta** (solo quello: puoi averne diverse aperte sullo stesso numero). Prima l'avviso restava aperto per sempre e il contatore non scendeva mai.
- Anche i link di proposta vivono nella **sezione Link**, con quante proposte ha portato ciascuno e se il tuo cliente l'ha aperto.
