> ## Documentation Index
> Fetch the complete documentation index at: https://docs.so-me.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatiza la publicación en redes sociales con Zapier

> Crea y programa publicaciones de Social media studio desde cualquier Zap con la API REST, e inicia Zaps desde webhooks firmados cuando se publiquen o fallen publicaciones.

Todavía **no existe una app nativa de Social media studio en Zapier**. Aun así, puedes conectar ambos con la app integrada **Webhooks by Zapier**:

* **Zapier → Social media studio:** una acción de Webhooks by Zapier llama a la API REST para crear o programar una publicación.
* **Social media studio → Zapier:** un disparador de Webhooks by Zapier recibe los eventos que envía Social media studio (publicación publicada, publicación fallida, comentario nuevo y más).

> [!NOTE]
>
> Webhooks by Zapier puede requerir un plan de pago de Zapier. Comprueba tu plan de Zapier antes de construir nada. Del lado de Social media studio, la API REST requiere un plan **Standard**, **Advanced** o **Lifetime** (Lite no la incluye). El número de endpoints de webhook que puedes crear depende de tu plan; consulta el [resumen de Webhooks](/es/webhooks/overview.md).

## Antes de empezar

**1. Crea una clave de API**

En Social media studio, abre **Ajustes → API** ([app.so-me.studio/settings?tab=api](https://app.so-me.studio/settings?tab=api)) y crea una clave. Empieza por `sk_live_` y se muestra una sola vez. Consulta [Autenticación](/es/authentication.md).

**2. Encuentra los ID de tus cuentas (opcional)**

Si conectaste más de una cuenta en la misma plataforma, cada publicación debe indicar cuál usar. Lista tus cuentas una vez y anota el `id` de cada una:

```bash theme={null}
curl https://api.so-me.studio/v1/accounts \
  -H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
```

Si solo tienes una cuenta en una plataforma, puedes omitir `accountId`.

## Crear o programar una publicación desde un Zap

Añade un paso de acción: **Webhooks by Zapier → POST**.

| Campo | Valor |
| - | - |
| URL | `https://api.so-me.studio/v1/posts` |
| Payload Type | `json` |
| Data | Una fila por campo del cuerpo (tabla siguiente), asignada desde pasos anteriores |
| Headers | `X-API-Key` → tu clave `sk_live_...` |

Zapier construye y escapa el JSON por ti, así que el texto con comillas o saltos de línea es seguro.

| Campo del cuerpo | Obligatorio | Valor |
| - | - | - |
| `text` | Sí | El texto de la publicación. |
| `socialMedia` | Sí | Una plataforma por solicitud: `TWITTER`, `LINKEDIN`, `LINKEDIN_PAGE`, `FACEBOOK`, `INSTAGRAM`, `THREADS`, `TIKTOK`, `YOUTUBE`, `PINTEREST`, `BLUESKY`, `MASTODON`, `REDDIT`, `GOOGLE_MY_BUSINESS`, `WORDPRESS`, `DEV_TO`, `DRIBBBLE`, `DISCORD` o `SLACK`. No se puede publicar en `WHATSAPP` ni `TELEGRAM`. |
| `postType` | Sí | `TEXT`, `IMAGE`, `MULTIPLE_IMAGES`, `VIDEO`, `CAROUSEL`, `REEL` o `STORY`. |
| `scheduledAt` | No | Hora ISO 8601, por ejemplo `2026-11-02T09:00:00Z`. Omítelo para publicar de inmediato. El paso **Formatter → Date / Time → Format** de Zapier puede convertir una fecha a este formato. |
| `accountId` | Cuando haga falta | El `id` de la cuenta de `GET /v1/accounts`. Es necesario cuando hay más de una cuenta conectada en esa plataforma; si no, la API responde `400` con la lista para elegir. |
| `firstComment` | No | Un comentario publicado bajo la publicación justo después de publicarla (Facebook, Instagram, X, LinkedIn, LinkedIn Page, Threads, YouTube). |
| `fileIds` | No | IDs de archivos de la biblioteca de medios que adjuntar, como lista. Sube antes los medios en Social media studio, o consulta el [Inicio rápido](/es/quickstart.md#subir-medios) para subidas prefirmadas. |

Para publicar en varias plataformas, añade un paso POST por plataforma.

La solicitud equivalente, para probar fuera de Zapier:

```bash theme={null}
curl -X POST https://api.so-me.studio/v1/posts \
  -H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "New on the blog: how we plan a month of posts in an afternoon",
    "socialMedia": "LINKEDIN",
    "postType": "TEXT",
    "scheduledAt": "2026-11-02T09:00:00Z"
  }'
```

Una llamada correcta devuelve `201` con la publicación, incluidos su `id` y `postStatus: "SCHEDULED"`. Asigna el `id` a pasos posteriores si quieres actualizar o eliminar la publicación.

> **Campos anidados: opciones de TikTok e hilos**
>
> Las publicaciones de TikTok necesitan `tiktok.privacyLevel`, y los hilos usan un array `threadParts`. La acción POST envía datos planos clave-valor, así que usa **Webhooks by Zapier → Custom Request** para estos casos, con Method `POST`, la misma URL y los mismos encabezados más `Content-Type: application/json`, y el cuerpo JSON escrito en **Data**:
>
> ```json theme={null}
> {
>   "text": "First post of the thread",
>   "socialMedia": "TWITTER",
>   "postType": "TEXT",
>   "threadParts": [{ "text": "Second post" }, { "text": "Third post" }]
> }
> ```
>
> Custom Request envía el cuerpo tal como lo escribes y no escapa los valores asignados. Un campo asignado que contenga comillas dobles o un salto de línea produce JSON no válido, que la API rechaza con `400`.

> **Errores**
>
> | Estado | Significado |
> | - | - |
> | `400` | Un campo no es válido, o falta `accountId` mientras hay varias cuentas conectadas en esa plataforma. El mensaje indica el problema. |
> | `401` | La clave de API falta, es incorrecta o está revocada. |
> | `403` | Tu plan no incluye la API REST, o se alcanzó un límite del plan. |
> | `429` | Se alcanzó el límite de solicitudes. El límite es por espacio de trabajo y depende de tu plan. |

## Iniciar un Zap a partir de un evento de Social media studio

**1. Crea el disparador en Zapier**

Elige **Webhooks by Zapier → Catch Hook** como disparador y copia la URL del webhook que te da Zapier.

**2. Suscribe esa URL en Social media studio**

Abre **Ajustes → Webhooks** ([app.so-me.studio/settings?tab=webhooks](https://app.so-me.studio/settings?tab=webhooks)), añade un endpoint con la URL de Zapier y elige los eventos. O créalo con la API:

```bash theme={null}
curl -X POST https://api.so-me.studio/v1/webhooks/subscriptions \
  -H "X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
    "categories": ["post"],
    "events": ["post.published", "post.failed"],
    "description": "Zapier"
  }'
```

La respuesta incluye el `secret` de firma de la suscripción.

**3. Envía un evento de prueba**

Haz clic en **Test** en la suscripción dentro de Ajustes → Webhooks y luego en **Test trigger** en Zapier para que aprenda los campos.

Cada entrega es un `POST` JSON con este sobre:

```json theme={null}
{
  "event": "post.published",
  "category": "post",
  "timestamp": "2026-11-02T09:00:04.000Z",
  "data": { "postId": "6f1c2a9e-...", "platform": "LINKEDIN" }
}
```

En Zapier los campos aparecen como `Event`, `Data Post Id`, `Data Platform`, etc. El bloque `data` lleva IDs en lugar del contenido completo; para una publicación, llama a `GET https://api.so-me.studio/v1/posts/{postId}` con un paso **Webhooks by Zapier → GET** para leer su texto, su enlace público (`shareUrl`) o su `failureReason`.

Entre los eventos útiles para Zaps están `post.published`, `post.failed`, `post.scheduled`, `inbox.message_received`, `inbox.comment_received`, `social.account_disconnected` y `quota.limit_reached`. Consulta el [resumen de Webhooks](/es/webhooks/overview.md) para ver la lista completa y el [formato de payload](/es/webhooks/payloads.md) para ver ejemplos.

> [!WARNING]
>
> Cada entrega incluye un encabezado `X-Webhook-Signature`: un HMAC-SHA256 hexadecimal del cuerpo sin procesar, con la clave del secreto de la suscripción. Catch Hook no lo comprueba, así que trata la URL de Zapier como un secreto. Para verificarlo, usa **Catch Raw Hook** (que pasa el cuerpo sin analizar y los encabezados) y un paso **Code by Zapier** que calcule el HMAC del cuerpo sin procesar y lo compare con el encabezado. Detalles: [Verificación de firma](/es/webhooks/payloads.md#verificación-de-la-firma).

Social media studio espera 10 segundos una respuesta y reintenta una entrega fallida hasta 4 veces. Una suscripción que falla 10 veces seguidas se desactiva; vuelve a activarla en Ajustes → Webhooks.

## Otras herramientas

* [n8n](/es/integrations/n8n.md) tiene un nodo de la comunidad y plantillas de flujo de trabajo listas para usar.
* [Make](/es/integrations/make.md) funciona igual que Zapier, con sus módulos HTTP y Webhooks.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.