# Publikacja w Mediach Społecznościowych (dfsocialautopost)

> Dokumentacja modułu Publikacja w Mediach Społecznościowych: instalacja, zabezpieczony cron, blokada wstecznej publikacji, podłączenie Facebooka, Telegrama, X, LinkedIn i Pinterest, szablony wiadomości i kolejka.

- Strona: <https://www.datafirefly.com/pl/documentation/dfsocialautopost/>
- Język: pl
- Zaktualizowano: 2026-08-01
- Inne języki: [fr](https://www.datafirefly.com/documentation/dfsocialautopost/index.md), [en](https://www.datafirefly.com/en/documentation/dfsocialautopost/index.md), [es](https://www.datafirefly.com/es/documentation/dfsocialautopost/index.md), [de](https://www.datafirefly.com/de/documentation/dfsocialautopost/index.md), [it](https://www.datafirefly.com/it/documentation/dfsocialautopost/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfsocialautopost/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfsocialautopost/index.md)
- Indeks: <https://www.datafirefly.com/pl/documentation/llms.txt>

## Prezentacja

Moduł **DataFirefly Publikacja w Mediach Społecznościowych** (dfsocialautopost) automatycznie publikuje nowe produkty PrestaShop w pięciu serwisach społecznościowych: **Facebook Page, Telegram, X (Twitter), LinkedIn i Pinterest**. Gdy tylko produkt zostanie utworzony lub zaktualizowany, trafia do kolejki, a następnie jest rozsyłany przez zabezpieczony cron, wraz ze zdjęciem, ceną i wiadomością konfigurowalną dla każdego kanału.

Moduł jest zgodny z PrestaShop 8.0 do 9.x, PHP 7.4 do 8.3, obsługuje multisklep i nie wymaga żadnych zależności Composer.

## Instalacja

1. Pobierz archiwum `dfsocialautopost.zip` ze swojego konta DataFirefly.
2. W panelu administracyjnym PrestaShop przejdź do **Moduły > Menedżer modułów**, kliknij **Wgraj moduł** i wybierz plik ZIP.
3. Moduł się instaluje, tworzy tabelę kolejki, rejestruje hooki i generuje unikalny token crona.
4. Kliknij **Konfiguruj**, aby przejść do ustawień.

Podczas instalacji moduł automatycznie zapisuje **datę startu**: żaden istniejący produkt nie zostanie opublikowany. Do kolejki trafią wyłącznie produkty utworzone lub zmodyfikowane po instalacji.

## Konfiguracja ogólna

### Tryb publikacji

Dostępne są dwa tryby:

- **Kolejka i zabezpieczony cron** (zalecany): każdy produkt trafia do kolejki i jest publikowany w tle przez cron. To najbardziej niezawodny tryb, który nigdy nie spowalnia zapisu produktu i czysto obsługuje ponowne próby.
- **Natychmiastowy (best-effort)**: publikacja jest podejmowana bezpośrednio w momencie zapisu produktu. Prostszy do testów, ale zależny od dostępności serwisów w danej chwili.

### Zabezpieczony cron

Strona konfiguracji wyświetla **adres URL crona** chroniony tajnym tokenem, wraz z przyciskiem kopiowania. Ma on następującą postać:

```
https://TWOJA-DOMENA/index.php?fc=module&module=dfsocialautopost&controller=cron&token=TWOJ_TOKEN
```

Dodaj ten adres do zadania cron na swoim hostingu, na przykład co 5 do 10 minut:

```
*/10 * * * * curl -s "https://TWOJA-DOMENA/index.php?fc=module&module=dfsocialautopost&controller=cron&token=TWOJ_TOKEN" >/dev/null 2>&1
```

Token zapobiega nieautoryzowanemu uruchomieniu crona. Nie udostępniaj go publicznie. W razie wycieku wygeneruj go ponownie w konfiguracji: stary adres URL przestanie wtedy działać.

### Blokada wstecznej publikacji

Data startu zapisana przy instalacji gwarantuje, że Twój katalog już obecny w sklepie nigdy nie zostanie opublikowany masowo. Możesz spokojnie uruchomić wysyłkę: wychodzą wyłącznie nowe produkty.

### Filtry

Możesz doprecyzować, co jest publikowane:

- **Według kategorii**: publikuj tylko produkty należące do wybranych kategorii.
- **Według statusu aktywności**: publikuj tylko produkty aktywne.
- **Według daty dodania**: w połączeniu z blokadą wstecznej publikacji.

## Podłączanie serwisów społecznościowych

Każdy kanał włącza się niezależnie i ma własne dane uwierzytelniające. Przycisk **Testuj połączenie** natychmiast weryfikuje ich poprawność.

### Facebook (Page)

- **Page ID**: numeryczny identyfikator Twojej strony na Facebooku.
- **Page Access Token**: token dostępu strony (z uprawnieniami do publikacji), uzyskany przez aplikację Meta / Graph API.

Moduł publikuje przez Graph API (punkt końcowy `/feed` albo `/photos`, gdy dostępne jest zdjęcie).

### Telegram

- **Bot Token**: token przekazany przez @BotFather przy tworzeniu bota.
- **Chat ID**: identyfikator docelowego kanału lub grupy (bot musi być tam administratorem).

### X (Twitter)

- **API Key** i **API Secret** (klucze konsumenta).
- **Access Token** i **Access Token Secret**.

Moduł podpisuje żądania w OAuth 1.0a, publikuje tekst przez API v2, a zdjęcie przesyła przez punkt końcowy mediów v1.1.

### LinkedIn

- **Access Token**: token dostępu z uprawnieniem do publikacji.
- **Organization URN**: URN Twojej strony firmowej, w formacie `urn:li:organization:XXXXXX`.

### Pinterest

- **Access Token**: token dostępu API Pinterest v5.
- **Board ID**: identyfikator tablicy, na której mają być przypinane produkty.

## Szablony wiadomości i zmienne

Dla każdego kanału układasz szablon wiadomości. Poniższe zmienne są podmieniane w momencie publikacji:

- `{name}` : nazwa produktu
- `{price}` : cena brutto
- `{price_tax_excl}` : cena netto
- `{reference}` : referencja
- `{description_short}` : krótki opis
- `{url}` : adres URL karty produktu
- `{category}` : kategoria domyślna
- `{manufacturer}` : producent
- `{quantity}` : stan magazynowy
- `{shop_name}` : nazwa sklepu

Dopasuj ton do każdego kanału: krótko i konkretnie na X, wizualnie na Pinterest, formalnie na LinkedIn. Zdjęcie główne produktu jest wysyłane automatycznie wszędzie tam, gdzie kanał na to pozwala.

## Kolejka

Menu administracyjne modułu wyświetla kolejkę. Każdy wiersz pokazuje produkt, kanał, status, liczbę prób, treść wiadomości i datę. Możliwe statusy to:

- **W kolejce** : oczekuje na przetworzenie przez cron.
- **W trakcie** : publikacja w toku.
- **Opublikowano** : wysłano pomyślnie, identyfikator zwrócony przez serwis jest zapisywany.
- **Niepowodzenie** : publikacja nie powiodła się po wyczerpaniu dozwolonej liczby prób.

Dostępne są dwie akcje: **Opublikuj ponownie** dla pojedynczego wiersza oraz **Przetwórz kolejkę** ręcznie z paska narzędzi.

## Rozwiązywanie problemów

- **Nic się nie publikuje**: sprawdź, czy cron jest faktycznie wywoływany (poprawny adres URL i token) i czy przynajmniej jeden kanał jest włączony z prawidłowymi danymi uwierzytelniającymi.
- **Tylko jeden kanał zawodzi**: użyj przycisku testu połączenia dla danego kanału; niepowodzenie jednego nie blokuje publikacji na pozostałych.
- **Brak zdjęcia**: niektóre serwisy wymagają publicznie dostępnego obrazu; sprawdź, czy produkt ma zdjęcie główne.
- **Duplikaty**: kolejka deduplikuje wpisy; w trybie natychmiastowym unikaj łączenia go z cronem dla tego samego produktu.
