Class CatalogResource

Hierarchy

  • Resource
    • CatalogResource

Constructors

Methods

  • Tira la caché. Para un proceso largo que quiera enterarse de una red nueva sin reiniciar.

    Returns void

  • Las plantillas del planificador de IA: de QUÉ se puede generar un plan y qué admite cada fuente. Se manda la elegida como template al crear el plan, junto con su source.

    Es catálogo por la misma razón que los límites —quien valida es quien anuncia—, y aquí la copia sale especialmente cara porque son precios: una tabla escrita a mano en tu interfaz enseñaría un coste que el servidor ya no cobra.

    Lo que hay que leer de aquí y no dar por sabido:

    • generates_images: false es que las fotos las pone la fuente, y entonces el plan no gasta ni un crédito de imagen. La misma semana de 7 publicaciones con foto pasa de 519 créditos a 48, y eso se dice ANTES de crear el plan.
    • regenerate es por plantilla. La que no generó la imagen tampoco la regenera: pintar ese botón igualmente le cuesta al usuario 70 créditos por cambiar su propia foto por una inventada.
    • orchestration_cost es una ESTIMACIÓN, no la factura: se cobra por uso. orchestration_cost_per_source_item es lo que añade cada unidad de la fuente.
    • Un plan es SEMANAL y la fuente no lo alarga. Con más unidades que huecos quedan en la semana, las de más se descartan y el plan trae el aviso 2117 en warnings.
    • source_fields es de lo que está hecho el paso de fuente, con sus propios max y min —en las unidades del campo: caracteres, elementos, o días en una fecha— y source_requires_any nombrando los campos de los que hace falta al menos uno (en from_text, la URL o el texto pegado).

    Parameters

    Returns Promise<
        {
            allows_gallery?: boolean;
            allows_shared?: boolean;
            generates_images?: boolean;
            max_source_items?: number;
            orchestration_cost?: number;
            orchestration_cost_per_source_item?: number;
            regenerate?: { image?: boolean; text?: boolean };
            source_fields?: {
                default?: unknown;
                max?: number;
                min?: number;
                name?: string;
                options?: string[];
                required?: boolean;
                type?:
                    | "boolean"
                    | "text"
                    | "textarea"
                    | "url"
                    | "select"
                    | "date"
                    | "uploads_with_description"
                    | "catalog_products";
            }[];
            source_requires_any?: string[];
            template?: | "standard"
            | "from_images"
            | "from_text"
            | "from_catalog"
            | "campaign";
            unsupported_networks?: (
                | "facebook"
                | "instagram"
                | "linkedin"
                | "tiktok"
                | "twitter"
                | "whatsapp"
                | "youtube"
                | "google_business"
                | "bluesky"
                | "discord"
                | "telegram"
                | "threads"
                | "slack"
                | "pinterest"
            )[];
        }[],
    >

  • La matriz red → qué sabe hacer: publicar, mensajes, productos, webhooks, menú persistente y comentarios.

    Es lo que evita ofrecer una cuenta en una pantalla que su red no soporta — WhatsApp en el compositor, LinkedIn en el chat.

    Parameters

    Returns Promise<
        Record<
            string,
            {
                comments: boolean;
                destinations: boolean;
                link: boolean;
                made_for_kids: boolean;
                messages: boolean;
                persistent_menu: boolean;
                products: boolean;
                publications: boolean;
                reply_control: boolean;
                visibility: boolean;
                webhooks: boolean;
            },
        >,
    >

  • La matriz red → qué se puede hacer con un comentario: responder, ocultar, borrar el propio y borrar el de otro.

    Va aparte de socialCapabilities porque aquélla es {[capacidad]: boolean} y esto es un objeto por red: meterlo dentro rompería su forma. Que la red tenga comentarios no dice lo suficiente — Instagram, X y Bluesky no dejan borrar el de otro, LinkedIn no tiene "ocultar" (ni Discord ni Telegram tampoco), y Google Business sólo deja borrar nuestra propia respuesta.

    Y esto es de la RED, no de una cuenta suya: en Telegram borrar sale true y aun así falla con un 969 si el bot no es administrador del grupo de debate. La matriz dice qué botones pintar, no que cada uno vaya a funcionar en cada cuenta.

    Parameters

    Returns Promise<
        Record<
            string,
            {
                delete_others: boolean;
                delete_own: boolean;
                hide: boolean;
                reply: boolean;
            },
        >,
    >

  • Los topes de cada red, por los que el servidor valida.

    Bluesky lleva dos cuentas del mismo texto y en unidades distintas: 300 grafemas en characters y 3.000 bytes en max_post_bytes. .length miente en las dos direcciones —un emoji de familia es UN grafema y 25 bytes—, así que un contador que use .length da por bueno lo que la API rechaza y al revés.

    Telegram lleva dos números para el mismo campo, y ahí .length es justo la unidad buena: characters.telegram (4.096) mientras la publicación es sólo texto y characters.telegram_media (1.024) en cuanto lleva imagen o vídeo, porque entonces el texto es el pie de un medio. El contador cambia al ADJUNTAR el fichero, no al pulsar publicar.

    Parameters

    Returns Promise<
        {
            characters: { [key: string]: number };
            comment_characters: { [key: string]: number };
            max_file_size_mb: { [key: string]: number };
            max_post_bytes: { [key: string]: number };
            title_characters: { [key: string]: number };
            total_images: { [key: string]: number };
            video_duration_in_seconds: { [key: string]: number };
        },
    >