# Plantillas propuestas por tu cliente

`POST /v1/template-links`

Tu cliente sabe mejor que vos qué necesita decir — pero no entra al panel. Con un **enlace de propuesta** él arma la plantilla y vos la aprobás. El flujo: generás el enlace (desde **Propuestas → Generar enlace**, o `POST /v1/template-links` con `connectionId`) acotado a **UN número**; se lo mandás; tu cliente abre una página con **tu marca**, elige una plantilla del catálogo, la edita con una vista previa tipo WhatsApp y el pre-chequeador corriendo en lenguaje simple, y la envía. Te llega como **borrador** a la bandeja **Propuestas** (y por el webhook `template.draft_submitted`), con la categoría sugerida. La revisás, ajustás la categoría si hace falta y **Aprobás** → recién ahí se crea en Meta (`PENDING`).

La **categoría** tiene consecuencia económica (MARKETING sale más caro que UTILITY) y por eso NO se la pedimos a tu cliente: la sugiere el sistema y la decidís vos al aprobar. Podés aprobar varias de una.

Hay un interruptor por número, **'Requiere mi aprobación'**, encendido por defecto. Si confiás en un cliente, lo apagás (Números → el número → General) y sus propuestas van directo a Meta sin pasar por la bandeja.

## Ejemplos

### 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
```

## Notas

- El enlace es de **un solo número**: tu cliente no puede proponer para otro de tus números.
- El cliente NUNCA entra al panel ni ve nuestra marca (PRODUCTO §7). La página es sin login, con tu marca.
- El **motivo de rechazo es interno** (para tu registro): tu cliente no lo ve en el producto. Si querés que sepa, decíselo por tu canal.
- Podés limitar cuántas propuestas admite cada enlace (`draftLimit`) y ponerle un mensaje y un rubro sugerido.
- El sync de Meta **nunca** pisa un borrador: hasta que aprobás, vive solo en Connect.
- **Aprobar o rechazar CIERRA el aviso de esa propuesta** (sólo el de esa: podés tener varias abiertas sobre el mismo número). Antes el aviso quedaba abierto para siempre y el contador nunca bajaba.
- Los enlaces de propuesta también viven en la **sección Enlaces**, con cuántas propuestas trajo cada uno y si tu cliente lo abrió.
