PS PrestaShop Intermédio

Publicação nas Redes Sociais (dfsocialautopost)

Instalar e configurar a publicação automática dos seus novos produtos no Facebook, Telegram, X, LinkedIn e Pinterest.

Atualizado Versão do módulo 1.0.0

Apresentação

O módulo DataFirefly Publicação nas Redes Sociais (dfsocialautopost) publica automaticamente os seus novos produtos PrestaShop em cinco redes sociais: Página do Facebook, Telegram, X (Twitter), LinkedIn e Pinterest. Assim que um produto é criado ou atualizado, entra numa fila de espera e é depois difundido por um cron protegido, com a sua imagem, o seu preço e uma mensagem personalizável por rede.

O módulo é compatível com PrestaShop 8.0 a 9.x e PHP 7.4 a 8.3, funciona em multiloja e não exige dependências Composer.

Instalação

  1. Descarregue o arquivo dfsocialautopost.zip a partir da sua conta DataFirefly.
  2. No back-office do PrestaShop, vá a Módulos > Gestor de módulos, clique em Carregar um módulo e selecione o ZIP.
  3. O módulo instala-se, cria a sua tabela de fila de espera, regista os seus hooks e gera um token de cron único.
  4. Clique em Configurar para aceder às definições.

Na instalação, o módulo fixa automaticamente a data de arranque: nenhum produto existente será publicado. Só os produtos criados ou alterados depois da instalação entram na fila.

Configuração geral

Modo de publicação

Estão disponíveis dois modos:

  • Fila + cron protegido (recomendado): cada produto é acrescentado à fila e publicado em segundo plano pelo cron. É o modo mais fiável, que nunca atrasa a gravação de um produto e trata corretamente as novas tentativas.
  • Imediato (best-effort): a publicação é tentada diretamente no momento da gravação do produto. É mais simples de testar, mas fica dependente da disponibilidade das redes nesse instante.

O cron protegido

A página de configuração mostra um URL de cron protegido por um token secreto, com um botão de cópia. Tem a seguinte forma:

https://O-SEU-DOMINIO/index.php?fc=module&module=dfsocialautopost&controller=cron&token=O_SEU_TOKEN

Acrescente este URL à tarefa de cron do seu alojamento, por exemplo a cada 5 a 10 minutos:

*/10 * * * * curl -s "https://O-SEU-DOMINIO/index.php?fc=module&module=dfsocialautopost&controller=cron&token=O_SEU_TOKEN" >/dev/null 2>&1

O token impede qualquer acionamento não autorizado do cron. Não o partilhe publicamente. Em caso de fuga, regenere-o na configuração: o URL antigo deixa então de funcionar.

Proteção contra publicações retroativas

A data de arranque fixada na instalação garante que o seu catálogo já existente nunca é publicado em massa. Pode iniciar a difusão com tranquilidade: só saem os produtos novos.

Filtros

Pode afinar o que é publicado:

  • Por categoria: publicar apenas os produtos que pertencem a determinadas categorias.
  • Por estado ativo: publicar apenas os produtos ativos.
  • Por data de adição: em conjunto com a proteção contra publicações retroativas.

Ligação das redes sociais

Cada rede é ativada de forma independente e tem as suas próprias credenciais. Um botão Testar a ligação verifica imediatamente a validade delas.

Facebook (Página)

  • Page ID: o identificador numérico da sua página do Facebook.
  • Page Access Token: um token de acesso de página (com permissões de publicação), obtido através de uma aplicação Meta / Graph API.

O módulo publica através da Graph API (ponto de acesso /feed, ou /photos quando há uma imagem disponível).

Telegram

  • Bot Token: o token fornecido pelo @BotFather na criação do seu bot.
  • Chat ID: o identificador do canal ou do grupo de destino (o bot tem de ser administrador nele).

X (Twitter)

  • API Key e API Secret (chaves de consumidor).
  • Access Token e Access Token Secret.

O módulo assina os seus pedidos em OAuth 1.0a, publica o texto através da API v2 e envia a imagem pelo ponto de acesso de multimédia v1.1.

LinkedIn

  • Access Token: token de acesso com permissão de publicação.
  • Organization URN: o URN da sua página de empresa, no formato urn:li:organization:XXXXXX.

Pinterest

  • Access Token: token de acesso da API v5 do Pinterest.
  • Board ID: o identificador do quadro onde os produtos serão afixados.

Modelos de mensagem e variáveis

Para cada rede, compõe um modelo de mensagem. As variáveis seguintes são substituídas no momento da publicação:

  • {name}: nome do produto
  • {price}: preço com IVA
  • {price_tax_excl}: preço sem IVA
  • {reference}: referência
  • {description_short}: descrição curta
  • {url}: URL da ficha de produto
  • {category}: categoria predefinida
  • {manufacturer}: fabricante
  • {quantity}: quantidade em stock
  • {shop_name}: nome da loja

Adapte o tom a cada rede: curto e direto no X, visual no Pinterest, institucional no LinkedIn. A imagem de capa do produto é enviada automaticamente quando a rede o permite.

Escreva um modelo por idioma de publicação e verifique que a variável {url} aponta para a versão portuguesa da ficha (o prefixo /pt/ do Polylang deve estar presente). Se publica para um público português, use {price}, o preço com IVA, que é o valor que o consumidor tem de ver anunciado.

Uma publicação que anuncie uma redução de preço fica sujeita às mesmas regras do resto da loja: o Decreto-Lei n.º 66/2021 obriga a indicar o preço mais baixo praticado nos 30 dias anteriores, e o Decreto-Lei n.º 57/2008 proíbe as alegações enganosas. Se automatiza a difusão de promoções, mantenha o modelo neutro e remeta para a ficha de produto, onde o preço de referência é apresentado corretamente.

A fila de espera

O menu de administração do módulo mostra a fila de espera. Cada linha indica o produto, o canal, o estado, o número de tentativas, a mensagem e a data. Os estados possíveis são:

  • Em fila: à espera de tratamento pelo cron.
  • Em curso: em processo de publicação.
  • Publicado: difundido com sucesso; o identificador devolvido pela rede é conservado.
  • Falhado: a publicação falhou depois do número de tentativas permitido.

Estão disponíveis duas ações: Republicar uma linha e Processar a fila manualmente a partir da barra de ferramentas.

Resolução de problemas

  • Nada é publicado: confirme que o cron está mesmo a ser chamado (URL e token corretos) e que existe pelo menos uma rede ativa com credenciais válidas.
  • Só uma rede falha: use o botão de teste de ligação dessa rede; uma falha não impede as outras redes de publicar.
  • Sem imagem: algumas redes exigem uma imagem acessível publicamente; confirme que o produto tem uma imagem de capa.
  • Duplicações: a fila desduplica as entradas; em modo imediato, evite acumular com o cron no mesmo produto.
Esta página foi útil?

Ainda com dúvidas? Contacte o suporte