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.
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
- Descarregue o arquivo
dfsocialautopost.zipa partir da sua conta DataFirefly. - No back-office do PrestaShop, vá a Módulos > Gestor de módulos, clique em Carregar um módulo e selecione o ZIP.
- O módulo instala-se, cria a sua tabela de fila de espera, regista os seus hooks e gera um token de cron único.
- 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.
- 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.
- 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.