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

# API de Facebook Page

> Opciones para publicar usando la API de Facebook

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

<Info>
  Si tienes problemas al conectar Facebook, consulta la [guía de solución de
  problemas](/help-center/technical-support/facebook_posting_issues).
</Info>

## Publicar en Facebook

Publicar con la API de Facebook requiere conectar una Facebook Page. Facebook no permite conectar cuentas personales.

JSON para una publicación básica con un enlace y una imagen en una Facebook Page:

```json Facebook Post with Image theme={"system"}
{
  "post": "The best FB post ever #best https://www.facebook.com", // empty string is allowed
  "mediaUrls": ["https://img.ayrshare.com/012/gb.jpg"],
  "platforms": ["facebook"]
}
```

<ul class="custom-bullets">
  <li>
    Facebook mostrará automáticamente una previsualización del enlace en la publicación salvo que se incluya una imagen o
    video. En el ejemplo anterior se mostrará la imagen. Si se elimina la imagen, se mostrará la previsualización
    del enlace.
  </li>

  <li>
    Si tu video no termina en una extensión de video conocida como mp4, usa el parámetro `isVideo`.
    Consulta el [endpoint /post](/apis/post/post) para más detalles.
  </li>

  <li>
    Facebook también admite el envío de medios sin texto en la publicación. Si no quieres incluir texto,
    envía una cadena vacía `post: ""`.
  </li>

  <li>Consulta las [pautas de medios de Facebook](/media-guidelines/facebook_pages) y la [autorización de Facebook](/dashboard/connect-social-accounts/facebook) para más información.</li>
</ul>

<Warning>
  La API de Facebook no admite mezclar imágenes y videos en una sola publicación.
  Puedes incluir varias imágenes O un único video, pero no ambos.
</Warning>

## Carrusel de imágenes

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

Publica un carrusel de imágenes de Facebook a través de la API de Ayrshare con el parámetro `carousel` del cuerpo.

```json Facebook Carousel Post theme={"system"}
{
  "faceBookOptions": {
    "carousel": {
      // The URL of the "See More At" button - required
      "link": "URL of See More At...",
      "items": [
        // 2 min, 10 max elements in the array
        {
          "name": "Image name", // optional
          "link": "URL when image clicked", // required
          "picture": "URL of image" // required
        },
        {
          "name": "Image name",
          "link": "URL when image clicked",
          "picture": "URL of image"
        }
      ]
    }
  }
}
```

<ul class="custom-bullets">
  <li>El parámetro `link` de nivel superior es la URL al final del carrusel.</li>

  <li>
    `items` es un array de objetos con los siguientes valores. Mínimo 2 elementos y máximo 10
    elementos en el array items.
  </li>

  <li>`picture` - URL de la imagen del carrusel.</li>
  <li>`link` - URL a la que se accede al hacer clic en la imagen.</li>
  <li>`name` - (opcional) texto que se muestra en cada tarjeta de imagen.</li>
</ul>

**Nota:** No uses `media_urls` junto con `carousel`. Si se utiliza `media_urls`, `carousels` se ignorará.

Consulta nuestra [guía de carruseles de Facebook](https://www.ayrshare.com/blog/post-a-series-of-facebook-images-as-a-carousel/) para más información.

## Facebook Reels

Puedes publicar un video en Facebook Reels con las siguientes `facebookOptions`.

<Note>
  Meta aplica un límite de 30 Reels por Facebook Page conectada en cualquier periodo de 24 horas para prevenir
  el spam y garantizar la calidad de la plataforma. Es un límite móvil, es decir, cuenta las últimas 24
  horas, no días naturales.
</Note>

```json Facebook Reels Post theme={"system"}
{
  "post": "The description of the video",
  "platforms": ["facebook"],
  "mediaUrls": ["https://img.ayrshare.com/012/reel.mp4"],
  "faceBookOptions": {
    "reels": true,
    "title": "Super title for the Reel", // optional
    "thumbNail": "https://img.ayrshare.com/012/reel-thumbnail.jpg" // optional
  }
}
```

<ul class="custom-bullets">
  <li>
    `reels`: establece en `true` para publicar el video en Reels. Obligatorio si quieres publicar en Facebook
    Reels.
  </li>

  <li>
    `title`: el título del video con un máximo de 255 caracteres. Todo lo que supere los 255 caracteres se
    truncará. Opcional.
  </li>

  <li>
    `thumbNail`: la miniatura (imagen de portada) del video. La miniatura debe ser una URL a un archivo JPEG o
    PNG. Debe pesar menos de 10MB. Opcional.
  </li>
</ul>

Consulta los [requisitos de video de la API de Reels](/media-guidelines/facebook_pages#reels) o un [ejemplo de uso de la API de Facebook Reels](https://www.ayrshare.com/blog/facebook-reels-api-how-to-post-fb-reels-using-a-social-media-api/).

<Warning>
  Meta ocasionalmente tiene problemas al procesar Facebook Reels en algunas cuentas. Aunque se devuelva una respuesta de error, es posible que el Reel se haya publicado.

  Si encuentras errores en Facebook Reels, recomendamos comprobar el estado del Reel. Si la publicación *no se ha* publicado, puedes [intentar publicar de nuevo](/apis/post/retry-post). A menudo tiene éxito.

  Puedes usar la URL del campo `verifyReelsUrl` para comprobar el estado. Asegúrate de usar la misma Profile Key que en la publicación original. Espera hasta la hora indicada en `verifyReelsIn` para comprobar el estado del Reel (10 minutos). Si se devuelve un código HTTP `400`, la publicación falló y puedes intentar publicar una vez más.

  ```json Facebook Reels Post Error theme={"system"}
  {
    "action": "post",
    "status": "error",
    "code": 108,
    "message": "Facebook Error: Facebook cannot process your post at this time. Please try again. ",
    "detailsData": {
      "id": "104619420979033_36930641143",
      "verifyReelsUrl": "https://api.ayrshare.com/history/36930641143?searchPlatformId=true&platform=facebook",
      "verifyReelsIn": "2024-01-26T00:07:05.170Z",
      "postUrl": "https://www.facebook.com/1046194209_36930641143",
      "reels": true
    },
    "retryAvailable": true,
    "platform": "facebook"
  }
  ```
</Warning>

## Facebook Stories

Publica Stories de Facebook en Facebook Pages como foto o como video.

<ul class="custom-bullets">
  <li>
    Las Stories de Facebook no admiten texto en la publicación; cualquier texto del campo `post`, incluidas
    las menciones, será ignorado.
  </li>

  <li>
    Una foto o video subido para una Story no puede haber sido utilizado en una publicación publicada previamente.
  </li>

  <li>Una Story de video no puede superar los 60 segundos.</li>

  <li>
    Activa el [Archivo de Stories](https://www.facebook.com/help/2058997717520567) para poder recuperar
    Stories con GET.
  </li>
</ul>

```json Facebook Stories Post theme={"system"}
{
  "post": "", // Ignored by stories
  "platforms": ["facebook"],
  "mediaUrls": ["https://img.ayrshare.com/012/stories.mp4"],
  "faceBookOptions": {
    "stories": true
  }
}
```

Consulta los [requisitos de imagen y video de la API de Stories](/media-guidelines/facebook_pages#stories).

## Pies de foto de medios

Establece un pie de foto de Facebook para cada imagen publicada.

Acepta un array de strings con el texto del pie. Cada elemento del array debe corresponder a una URL de medio. Por ejemplo, \["This is my best pic", "😃 here is the next one"] se refiere a la 1ª y 2ª URLs de `mediaUrls`.

```json Facebook Media Captions theme={"system"}
{
  "faceBookOptions": {
    "mediaCaptions": ["This is my best pic", "😃 here is the next one"]
  }
}
```

## Etiquetado de ubicación

Una etiqueta de ubicación de Facebook se especifica con un `locationId`, que es un ID de Facebook Page o el nombre de una Facebook Page. Por ejemplo, el ID de Facebook Page del [Guggenheim Museum](https://www.facebook.com/guggenheimmuseum) es `7640348500`, o el nombre de la Facebook Page `"@guggenheimmuseum"`. Las Pages deben estar asociadas a una ubicación física.

```json Facebook Location Tagging theme={"system"}
// Using the Facebook Page Id - must be associated with a location
{
  "faceBookOptions": {
    "locationId": 7640348500 // Guggenheim Museum Page Id
  }
}
```

Puedes buscar el `locationId` (Page Id) con el [endpoint brand](/apis/listen/search/fb-page-search). Ten en cuenta que la Page debe tener una ubicación registrada o el locationId devolverá un error.

No admitido en publicaciones de texto, imágenes, reels y stories. Meta no admite el etiquetado de ubicación en videos.

## Segmentación de audiencia

Al crear una publicación de Page en Facebook, tienes la opción de limitar su visibilidad a una audiencia específica utilizando dos tipos de segmentación:

1. Facebook Targeting: te permite definir la audiencia de tu publicación en función de factores como edad, género, ubicación y relación. Al establecer estos parámetros, puedes asegurarte de que la publicación solo se muestre a personas que cumplan los criterios especificados.
2. Facebook Feed Targeting: esta opción permite refinar aún más la visibilidad de tu publicación en los News Feeds de tu audiencia segmentada.

Puedes usar cada opción de segmentación por separado o combinarlas.

### Targeting

La segmentación de Facebook [limita la audiencia](https://www.facebook.com/help/352402648173466) para publicar contenido a determinados grupos demográficos. Cualquiera que no esté en esos grupos no podrá ver el contenido. Esto no sobrescribe las restricciones demográficas de la Page que pudieran estar activas.

Campos demográficos disponibles en `targeting`:

<ul class="custom-bullets">
  <li>
    `ageMin`: limita la edad mínima que puede ver las publicaciones. Valores aceptados: 13, 15, 18, 21 o
    25\. Otras edades se rechazarán.
  </li>

  <li>
    `countries`: también conocido como geofencing, permite limitar los países que pueden ver la publicación. Array
    de [códigos de país](/iso-codes/country). El número máximo de países que se pueden segmentar es
    25\. Si necesitas segmentar más de 25 países o restringir ciertos países, consulta [Facebook Page Country Restrictions](/help-center/technical-support/facebook_page_country_restrictions).
  </li>
</ul>

```json Facebook Targeting theme={"system"}
{
    "faceBookOptions": {
        "targeting": {
            "ageMin": 18,
            "countries": ["DE", "BR"]
    }
}
```

### Feed Targeting

Cualquiera dentro de estos grupos de segmentación de feed de Facebook tiene más probabilidades de ver esta publicación; el resto, menos probabilidades, pero aún podría verla. Usa targeting (ver arriba) si quieres garantizar la restricción.

Campos demográficos disponibles para `feedTargeting`:

<ul class="custom-bullets">
  <li>
    `ageMin`: limita la edad mínima que puede ver las publicaciones. Valor entero 13 o superior. Por defecto,
    0\.
  </li>

  <li>`ageMax`: limita la edad máxima que puede ver las publicaciones. Valor entero 65 o inferior.</li>

  <li>
    `countries`: también conocido como geo targeting; permite indicar los países que deberían poder
    ver la publicación. Array de [códigos de país](/iso-codes/country).
  </li>

  <li>
    `collegeYears`: segmenta la edad de graduación universitaria. Array de enteros con el año de
    graduación de la universidad.
  </li>

  <li>
    `educationStatuses`: segmenta según el nivel educativo. Array de enteros para
    segmentar por nivel educativo. Usa `1` para high school, `2` para undergraduate y `3` para
    alum.
  </li>

  <li>
    `genders`: segmenta por género. Array de enteros para segmentar géneros específicos.
    `1` segmenta a los espectadores masculinos y `2` a las femeninas. Por defecto, se segmenta a ambos.
  </li>

  <li>
    `relationshipStatuses`: segmenta según el estado sentimental. Array de enteros para
    segmentar por estado sentimental. Usa `1` para soltero, `2` para 'en una relación', `3` para
    casado y `4` para comprometido. Por defecto, todos los tipos.
  </li>
</ul>

```json Facebook Feed Targeting theme={"system"}
{
  "feedTargeting": {
    "ageMax": 30,
    "ageMin": 26,
    "countries": ["DE", "BR"],
    "genders": [1, 2],
    "relationshipStatuses": [1, 2]
  }
}
```

## Texto alternativo

Añade texto alternativo de Facebook (alt text) a una imagen o video. El alt text de Facebook es una función de accesibilidad utilizada para información adicional del usuario y para lectores de pantalla.

Usa `altText` dentro del objeto `faceBookOptions`.

```json Facebook Alt Text theme={"system"}
{
  "faceBookOptions": {
    // Array of Alt Texts
    "altText": ["This is my best pic", "😃 here is the next one"]
  }
}
```

Cada alt text debe corresponder a una imagen o video del array `mediaUrls`. El alt text se aplicará a cada imagen en orden.

## Miniatura de video

Establece una miniatura de video de Facebook (imagen de portada). Envía una URL remota a un archivo PNG o JPG que tenga las mismas dimensiones que el video y pese menos de 10 MB. La URL debe terminar en .png o .jpg.

```json Example Facebook Video Thumbnail theme={"system"}
{
  "faceBookOptions": {
    "thumbNail": "https://octodex.github.com/images/Fintechtocat.png"
  }
}
```

## Título del video

Añade un título de video de Facebook con el parámetro `title`.

```json Facebook Video Title theme={"system"}
{
  "faceBookOptions": {
    "title": "The best video ever!"
  }
}
```

## GIFs animados

Solo se permite una URL en el array `mediaUrls` al publicar un GIF animado en Facebook.
Si la URL del medio no termina en ".gif" o ".GIF", establece el campo `isVideo` en `true`.

```json Facebook Animated GIF theme={"system"}
{
  "randomPost": true,
  "platforms": ["facebook"],
  // Set to true if the GIF URL does not end in .gif or .GIF
  "isVideo": false,
  // Only one URL is allowed in the array
  "mediaUrls": ["https://img.ayrshare.com/012/cat.gif"]
}
```

## Menciones de Facebook Pages

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

Puedes mencionar otra Facebook Page, también conocido como menciones o etiquetado de Facebook, incluyendo el nombre o el Page ID de la Facebook Page en el texto de la publicación.
Facebook no permite menciones o etiquetas de perfiles personales o grupos.

Incluye una mención con la siguiente @mention:

`@page-name` o `@[page-id]`

### Mención con nombre de Page

Un ejemplo de texto con el nombre de una Page. Puedes obtener el nombre de la Page desde la URL de Facebook, p. ej. [https://www.facebook.com/Ayrshare](https://www.facebook.com/Ayrshare)

```json Facebook Page Mention with Page Name theme={"system"}
{
  "post": "This is the best social media api by @Ayrshare"
}
```

Ayrshare hará todo lo posible por encontrar la Page correspondiente basándose en el nombre, pero a veces no se puede encontrar una coincidencia. Un método más fiable es usar un Page ID.

### Mención con Page ID

Un ejemplo de texto con un Page ID; ten en cuenta el uso de \[]. Consulta más abajo cómo obtener el Page ID.

```json Facebook Page Mention with Page ID theme={"system"}
{
  "post": "This is the best social media api by @[738681876342836]" // Ayrshare Page ID
}
```

El Page ID de Facebook se resolverá a la página correspondiente y ***notificará a la Page mencionada***.

<Warning>
  Utiliza las menciones de Page con precaución, mencionando únicamente Pages con las que tengas relación. Debes evitar en todo momento hacer spam.

  Cuando mencionas una Page, **el propietario de la Page recibirá una notificación por alerta y correo electrónico**. Si varias Pages se quejan de que las estás mencionando, Facebook podría cerrar tu cuenta. En general, solo debes etiquetar Pages con las que tengas una relación establecida.

  La Facebook Page mencionada **debe permitir** que otras Pages la mencionen/etiqueten. Las menciones se pueden habilitar en la configuración general de la Page, en "Others Tag this Page".

  Revisa las [reglas importantes](/testing/post-verification#mentions) sobre las menciones.
</Warning>

### Encontrar un Facebook Page ID

#### Endpoint Brand

Puedes buscar un usuario o una Facebook Page usando los [endpoints Brand](/apis/brand/overview).

#### En Facebook.com

1. Desde el News Feed de Facebook, haz clic en **Pages** en el menú lateral izquierdo.
2. Haz clic en el nombre de tu Page para ir a tu Page.
3. Haz clic en **About** en la parte superior de tu Page. Si no lo ves, haz clic en **More**▼.
4. Desplázate para encontrar tu **Page ID** debajo de **MORE INFO**.

o si quieres encontrar el ID de una Page que no te pertenece:

<ul class="custom-bullets">
  <li>
    Si la Facebook Page tiene una URL como `https://www.facebook.com/ayrshare-1234567890`, el ID
    es ***1234567890***.
  </li>

  <li>Si la Facebook Page tiene una URL como:</li>
</ul>

`https://www.facebook.com/pages/ayrshare/123466789203`, el Page ID es el número al final, como **123466789203**.

Puedes verificar que el Page ID es correcto accediendo a `https://facebook.com/page-id`, que se resolverá a la Page.

También puedes probar una herramienta de búsqueda de Facebook Pages de terceros, no admitida por Ayrshare, como: [https://lookup-id.com/](https://lookup-id.com/)

Si todos los métodos anteriores fallan, puedes ir a la Facebook Page en un navegador y ver el código fuente de la página. En Chrome, haz clic derecho para seleccionar "View Source". Después busca `owning_profile_id` o `profile_id` para encontrar el Page ID.

<Warning>
  Revisa las [reglas importantes](/testing/post-verification#mentions) sobre las menciones.
</Warning>

### Activar menciones de Page

La Page debe permitir menciones y etiquetas en publicaciones y comentarios. Por defecto está habilitado, pero puedes verificarlo iniciando sesión en facebook.com y cambiando a tu Page.

1. Viendo como tu Page, haz clic en la **imagen de perfil** de tu Page en la esquina superior derecha.
2. Haz clic en **Settings & Privacy** -> **Settings**.
3. En el menú Settings, haz clic en **Privacy**.
4. Haz clic en **Page and Tagging**.
5. Desplázate hasta **Reviewing**.
6. Cambia las opciones para permitir etiquetas y menciones.

## Meta Business Suite

### Publicaciones en borrador

Crea una publicación en borrador en Facebook que aparecerá en la pestaña [Meta Business Suite Draft](https://business.facebook.com/latest/posts/draft_posts). Las publicaciones en borrador de Facebook son publicaciones que has empezado a escribir pero aún no has publicado. Puedes guardarlas para retomarlas después o programarlas para publicarlas en una fecha posterior.

Añade el parámetro `draft` a `faceBookOptions` para enviar la publicación como borrador. Disponible para publicaciones de texto, imágenes, video y reels.

```json Facebook Draft Post theme={"system"}
{
  "faceBookOptions": {
    "draft": true
  }
}
```

### Programar la hora de publicación

Establece una hora de publicación programada para las publicaciones de Facebook que aparecen en la pestaña [Meta Business Suite Scheduled Posts](https://business.facebook.com/latest/posts/scheduled_posts). Las publicaciones programadas de Facebook son publicaciones que has creado y programado para publicar en una fecha posterior, y se gestionan en Meta Business Suite. Esto puede ser útil para planificar tus publicaciones en redes sociales con antelación o para publicarlas cuando sepas que tu audiencia está más activa.

Disponible para publicaciones de texto, imágenes, video y reels.

<Warning>
  La hora de publicación debe ser al menos 10 minutos posterior a la hora actual y estar dentro de los 29 días desde la fecha actual.

  A menos que necesites gestionar las publicaciones de Facebook en Meta Business Suite, recomendamos usar la [fecha de programación de publicación estándar](/apis/post/overview#schedule-posts).
</Warning>

Añade el parámetro `scheduledPublishDate` a `faceBookOptions` para programar la hora de publicación.

```json Facebook Scheduled Post theme={"system"}
{
  "faceBookOptions": {
    "scheduledPublishDate": "2023-09-28T21:44:06Z" // Future date in UTC
  }
}
```

## Previsualización de enlaces

Una publicación de Facebook creará automáticamente una previsualización de un enlace incluido en el cuerpo de la publicación.
Sin embargo, si quieres especificar un enlace diferente o forzar la previsualización, usa el parámetro `link` con la URL del enlace.

```json Facebook Link Preview theme={"system"}
{
  "faceBookOptions": {
    "link": "https://www.ayrshare.com/instagram-hashtag-guide/"
  }
}
```

Si se incluye el campo `mediaUrls` en la petición de publicación, se mostrará el medio en lugar de la previsualización del enlace.

## Facebook Ads

Los Facebook Ads son una forma de promocionar tus publicaciones a una audiencia más amplia.

<Card title="Facebook Ads" href="/apis/ads/overview" horizontal />

## Límites de caracteres

Consulta los [límites de caracteres de Facebook](/help-center/technical-support/character_limits#facebook-character-limits) para más información.

## Información adicional

### ¿Cómo añado saltos de línea o texto enriquecido a una publicación de Facebook?

Se pueden añadir saltos de línea a una publicación de Facebook con un [carácter especial de nueva línea](/apis/post/overview#line-breaks).

Se puede añadir texto enriquecido, como negrita o cursiva, a una publicación de Facebook con algunos [elementos HTML](/apis/post/overview#rich-text-posts).

### ¿Por qué veo "Published by Ayrshare" en una publicación?

No te preocupes, solo se muestra en la vista de administrador. Consulta la [guía de solución de problemas](/help-center/technical-support/facebook_shows_published_by_ayrshare) para más información.
