Publica en Confianza desde tu propia web
Una API key, una llamada HTTP. Cada publicación que crees desde tu sitio aparece en confianza.world para tus vecinos, con tu reputación al lado, y si quieres se difunde también en las redes de Confianza (Instagram, Facebook, Telegram).
Crea tu clave
En Ajustes → Publicar desde tu web. Necesitas el email verificado.
La clave empieza con cw_ y se muestra una sola vez: guárdala como variable de entorno.
Llama a la API
POST https://confianza.world/api/v1/posts con el header
Authorization: Bearer cw_… y un JSON con el título y la descripción.
Listo
La publicación queda en tu vitrina, la ven los vecinos cercanos y, con
difundir: true (el valor por defecto), sale en las redes de Confianza
con una tarjeta generada automáticamente.
La clave es como tu contraseña. Úsala solo desde un servidor (una función de Netlify, tu backend, un script): nunca la pongas en el JavaScript de tu página, porque cualquiera podría copiarla y publicar en tu nombre. Si se filtra, revócala en Ajustes y crea otra.
Ejemplo con curl
curl -X POST https://confianza.world/api/v1/posts \
-H "Authorization: Bearer cw_TU_CLAVE" \
-H "Content-Type: application/json" \
-d '{
"title": "Pan amasado de campo, todos los sábados",
"description": "Horneado en la mañana. Retiro en Villa Alemana o delivery en la comuna.",
"category": "productos",
"suggested_credits": 20,
"image_url": "https://misitio.cl/fotos/pan.jpg",
"difundir": true
}'
Respuesta 201 Created con la publicación, su url
y el estado de la difusión por red.
Ejemplo: función serverless en Netlify
Guarda la clave como variable de entorno CONFIANZA_API_KEY en tu sitio
de Netlify y crea netlify/functions/publicar.js. Tu página llama a
/.netlify/functions/publicar; la clave nunca sale del servidor.
// netlify/functions/publicar.js
export default async (request) => {
const { title, description, image_url } = await request.json();
const respuesta = await fetch("https://confianza.world/api/v1/posts", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.CONFIANZA_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({ title, description, image_url, category: "servicios" })
});
return new Response(await respuesta.text(), {
status: respuesta.status,
headers: { "Content-Type": "application/json" }
});
};
Lo mismo sirve en Vercel, Cloudflare Workers, WordPress (con wp_remote_post)
o cualquier backend: es un POST con JSON.
Campos de una publicación
| Campo | Tipo | Qué es |
|---|---|---|
| title | texto | Obligatorio. Hasta 140 caracteres. |
| description | texto | Detalle, precio en pesos si aplica, cómo contactarte. Puede incluir el link a tu web. |
| category | texto |
Una de:
ayuda comunidad delivery eventos informacion productos servicios .
Por defecto servicios.
|
| pedido | booleano | true si buscas algo en vez de ofrecerlo. Por defecto false. |
| suggested_credits | entero | Créditos C sugeridos para el intercambio. Opcional. |
| latitude, longitude | decimal | Dónde se ofrece. Si no los mandas, se usa la ubicación de tu perfil. |
| visibility_radius_km | decimal | Radio en km en que aparece a los vecinos. Por defecto 5. |
| image_url | URL | Imagen pública (jpg, png, webp o gif, hasta 8 MB). La descargamos y queda en la publicación y en la tarjeta de redes. |
| difundir | booleano | Publicar también en las redes de Confianza. Por defecto true al crear. |
| status | texto | published (por defecto), draft, paused, closed. |
Todos los endpoints
| GET /api/v1/me | Quién eres para la API. Sirve para probar la clave. |
| GET /api/v1/posts | Tus publicaciones (las últimas 100), con el estado de difusión de cada una. |
| POST /api/v1/posts | Crea una publicación. |
| GET /api/v1/posts/:id | Una publicación tuya (acepta id o slug). |
| PATCH /api/v1/posts/:id | Edita campos, o cambia status a paused / closed cuando ya no esté disponible. |
| DELETE /api/v1/posts/:id | Elimina la publicación. |
- Errores en JSON:
{ "error": "…", "detalles": [ … ] }con códigos 401 (clave inválida), 403 (email sin verificar), 422 (datos inválidos), 429 (demasiadas solicitudes). - Límites: 300 solicitudes por hora por clave, y 30 publicaciones nuevas por hora.
- Las publicaciones creadas por API siguen las mismas reglas de la comunidad que las demás: se pueden reportar y moderar igual.