# Blog bejegyzés: Hermes + WordPress – Hogyan kapcsoljuk össze a two platformot, és mire használhatjuk őket egy webáruházban?

## Bevezetés
A modern e‑commerce környezetben a WordPress (specielisen a WooCommerce‑kel bővített WooCommerce) egy rugalmas, nyílt forráskódú megoldás, míg a **Hermes Agent** egy többplatformos AI asszisztens, ami terminál‑, web‑ és fichierező eszközökkel tud közvetlenül kommunikálni a WordPress REST API‑val. Ez a kombináció lehetővé teszi, hogy a webáruház adminisztrálását, termékkezelését és a sales‑folyamatokat agyában automatizáljuk, anélkül hogy folyamatosan be kellene jelentkeznünk a WordPress admin felületére.

A **wp‑test** skillPrecisán mutatja be, hogyan hitelesíthetünk és alap CRUD‑műveleteket (létrehozás, olvasás, frissítés, törlés) végrehajthatunk a WordPress REST API‑on application‑password hitelesítéssel. A skillből származó példák után néhány gyakorlati feladatot mutatunk be, amelyeket közvetlenül Hermes‑sel vagy egy egyszerű bash‑script‑nel végrehajthatóak.

## 1. Hermes és WordPress összeköttetése – a wp‑test skill lényege

| Lépés | Mit csinálunk? | Parancs (pseudo‑kód) |
|——|—————-|———————-|
| **1. Hitelesítő adatok előkészítése** | Base64 kódolt `username:app‑password` párossal előállítjuk a `Authorization: Basic` fejlécet. | “`bash WP_USER=”webhosting@serverkraft.hu” WP_APP_PASS=”*******” WP_TOKEN=*** -n “${WP_USER}:${WP_APP_PASS}” | base64)“` |
| **2. Új bejegyzés (termék) létrehozása** | POST kérelem a `/wp/v2/posts` (vagy WooCommerce‑specifikusan `/wp-json/wc/v3/products`) végpontra. | “`bash curl -X POST “https://opcache.serverkraft.hu/wp-json/wp/v2/posts” -H “Content-Type: application/json” -H “Authorization: Basic ${WP_TOKEN}” -d ‘{“title”:”Új termék – Super Csokis”,”content”:”

Leírás…

“,”status”:”publish”}’“` |
| **3. Bejegyzések lekérése** | GET a listázáshoz, szűrhető (pl. `per_page`, `categories`). | “`bash curl -H “Authorization: Basic ${WP_TOKEN}” “https://opcache.serverkraft.hu/wp-json/wp/v2/posts?per_page=5″“` |
| **4. Meglévő bejegyzés frissítése** | POST (vagy PUT) a konkrét ID‑ra. | “`bash curl -X POST “https://opcache.serverkraft.hu/wp-json/wp/v2/posts/42” -H “Content-Type: application/json” -H “Authorization: Basic ${WP_TOKEN}” -d ‘{“title”:”Frissített termék név”,”content”:”

Új leírás…

“,”status”:”publish”}’“` |
| **5. Törlés (következő)** | DELETE a `?force=true` paraméterrel a végleges törléshez. | “`bash curl -X DELETE “https://opcache.serverkraft.hu/wp-json/wp/v2/posts/42?force=true” -H “Authorization: Basic ${WP_TOKEN}”“` |

## 2. Gyakorlati feladatok egy WordPress‑alapú webáruházban (Hermes‑sel)

### 2.1. Új termék feltöltése (automatizált)
*Hibás vagy hiányzó termékadatok pótlása CSV‑ból.*

“`bash
# CSV fájl: sku,name,price,stock,description
while IFS=, read -r sku name price stock desc; do
payload=$(jq -n \
–arg sku “$sku” \
–arg name “$name” \
–argjson price “$price” \
–argjson stock “$stock” \
–arg desc “$desc” \
‘{
name: $name,
type: “simple”,
regular_price: ($price|tostring),
stock_quantity: $stock,
description: $desc,
short_description: $desc,
sku: $sku,
status: “publish”
}’)
curl -s -X POST “https://opcache.serverkraft.hu/wp-json/wc/v3/products” \
-H “Content-Type: application/json” \
-H “Authorization: Basic ${WP_TOKEN}” \
-d “$payload”
done < termék_lista.csv “` *Eredmény:* Minden sor egy új terméket hoz létre a WooCommerce boltban, Hermes a ciklus végrehajtásáért felelős (terminal tool‑rel vagy egy egyszerű Python‑script‑ként). ### 2.2. Készlet frissítése rendszeresen (cron job) *Heti egyszer ellenőrizzük a készletet egy külső Supplier‑API‑tól és frissítjük a WooCommerce‑t.* 1. **Hermes cronjob létrehozása** “`bash hermes cron create “0 2 * * *” \ –prompt “Supplier API-ból lekérdezzük a készletet, majd WooCommerce termékek stock_quantity mezőjét frissítjük.” \ –skills wp-test,hermes-platform \ –deliver origin “` 2. **A feladat belső logikája (Python)** “`python from hermes_tools import terminal, web_search import json, base64, os WP_USER = os.getenv(“WP_USER”) WP_PASS = os.getenv(“WP_APP_PASS”) token = base64.b64encode(f”{WP_USER}:{WP_PASS}”.encode()).decode() headers = {“Authorization”: f”Basic {token}”, “Content-Type”: “application/json”} # 1️⃣ Supplier API hívása (példa) sup = terminal(“curl -s https://supplier.example.com/api/stock”).output stock_data = json.loads(sup) # { “sku”: 123, “quantity”: 57 } # 2️⃣ WooCommerce termék lekérése SKU alapján term = terminal( f’curl -s -H “Authorization: Basic {token}” ‘ f'”https://opcache.serverkraft.hu/wp-json/wc/v3/products?sku={stock_data[\”sku\”]}”‘ ).output prod = json.loads(term)[0] prod_id = prod[“id”] # 3️⃣ Frissítés terminal( f’curl -s -X POST “https://opcache.serverkraft.hu/wp-json/wc/v3/products/{prod_id}” ‘ f’-H “Authorization: Basic {token}” ‘ f’-d \'{{\”stock_quantity\”:{stock_data[\”quantity\”]}}}\” ) “` *A cronjob automatikusan fut minden regán 02:00‑kor, biztosítva, hogy a bolton mindig a legfrissebb Supplier‑adatok látszódjanak.* ### 2.3. Akcionális bejegyzések generálása (SEO barát blogposzt) *Heti újonnan érkező termékekről automatikusan blogbejegyzést készítünk.* “`bash # 1️⃣ Legújabc termékek lekérése (wc/v3/products?per_page=3&orderby=date&order=desc) new=$(terminal “curl -s -H \”Authorization: Basic ${WP_TOKEN}\” ‘https://opcache.serverkraft.hu/wp-json/wc/v3/products?per_page=3&orderby=date&order=desc'”).output # 2️⃣ Egyszerű sablon (markdown → HTML) cat > /tmp/post.md < \(.description | .[0:150])…”‘)

[További termékek boltnkban](https://opcache.serverkraft.hu/shop)
EOF

# 3️⃣ WP‑API‑n keresztül bejegyzés létrehozása
title=”Heti újonnan érkező termékeink”
content=$(markdown /tmp/post.md) # egy egyszerű markdown‑HTML konverter (pl. pandoc)
payload=$(jq -n –arg t “$title” –arg c “$content” ‘{title:$t,content:$c,status:”publish”}’)
terminal “curl -s -X POST ‘https://opcache.serverkraft.hu/wp-json/wp/v2/posts’ \
-H \”Content-Type: application/json\” \
-H \”Authorization: Basic ${WP_TOKEN}\” \
-d ‘$payload'”
“`

*Eredmény:* Hermes heti egy SEO‑barát blogpostot generál és közvetlenül a WordPress‑ba posta formájában teszi közzé, növelve az organikus forgalmat.

### 2.4. Elhagyott kosár e‑mail automatizálása (segéd-szkript + webhook)
*WooCommerce webhook‑al értesítést kapunk, amikor egy kosár 1 óráнад elhagyott, és Hermes‑nek küldünk egy személyre szabott e‑mail‑t (SendGrid, SMTP vagy agmail API‑on keresztül).*

1. **WooCommerce webhook beállítása** (WP‑admin → WooCommerce → Settings → Advanced → Webhooks) – cím: `https:///webhook/abandoned-cart`
2. **Hermes‑kapı (webhook fogadó)** – egy egyszerű Node.js vagy Python szerver, amit a `hermes-platform` leírja (reverse‑proxy + `/opt/data/api-server/` mappa).
3. **Pseudo‑kód (Python) a webhook kezeléséhez**

“`python
from hermes_tools import terminal
import json, os, base64, smtplib
from email.mime.text import MIMEText

WP_USER = os.getenv(“WP_USER”)
WP_PASS = os.getenv(“WP_APP_PASS”)
token = base64.b64encode(f”{WP_USER}:{WP_PASS}”.encode()).decode()

def send_mail(to, subject, body):
msg = MIMEText(body, “plain”, “utf-8”)
msg[“Subject”] = subject
msg[“From”] = “webshop@example.com”
msg[“To”] = to
with smtplib.SMTP(“smtp.example.com”, 587) as s:
s.starttls()
s.login(“user”,”pass”)
s.send_message(msg)

def handle(payload):
data = json.loads(payload)
cart_id = data[“id”]
# Lekérjük a kosár tartalmát a WC API‑ból
cart = terminal(f”curl -s -H \”Authorization: Basic {token}\” ”
f”\”https://opcache.serverkraft.hu/wp-json/wc/v3/cart/{cart_id}\””).output
items = json.loads(cart)
# Szerkesztjük az e‑mail tartalmat
body = “Kedves Customer,\n\nMegjegyeztük, hogy a következő termékek maradtak a kosarad:\n”
for i in items[“line_items”]:
body += f”- {i[‘name’]} (qty: {i[‘quantity’]})\n”
body += “\nVisszalepés a vásárláshoz: https://opcache.serverkraft.hu/cart?reset_cart=true\n\nKöszönjük!\n”
# Ha van e‑mail a felhasználóhoz kötve, elküldjük
if “billing” in data and data[“billing”].get(“email”):
send_mail(data[“billing”][“email”],
“Elhagyott kosár – vegyél cheeky kedvezményt!”,
body)

# A webhookEndpoint meghívja ezt a függvényt a POST body‑tal
“`

*Ezzel a mechanizmussal Hermes (a háttér‑szolgáltatásként) kezeli a webhook‑értesítéseket és személyre szabott follow‑up e‑mail‑eket küld, növelve a konverziót.*

### 2.5. Sales‑report generálás és Slack‑értesítés
*Heti nap close‑ja után előállítjuk a napi árbevétel, rendelés darabszám és átlagos rendelés értéket, majd Slack‑ba Postoljuk.*

“`bash
# 1️⃣ Adatok lekérése WooCommerce API‑ból (utolsó 24h)
data=$(terminal “curl -s -H \”Authorization: Basic ${WP_TOKEN}\” \
‘https://opcache.serverkraft.hu/wp-json/wc/v3/reports/sales?period=day'”).output

# 2️⃣ JSON feldolgozása
total=$(echo “$data” | jq ‘.total_sales’)
count=$(echo “$data” | jq ‘.total_orders’)
avg=$(echo “$data” | jq ‘.average_order_value’)

# 3️⃣ Slack üzenet (Slack webhook URL‑t titkosítjuk .env‑ben)
SLACK_WEBHOOK=$(cat ~/.hermes/.env | grep SLACK_WEBHOOK | cut -d’=’ -f2)
payload=$(jq -n –arg t “$total” –arg c “$count” –arg a “$avg” \
‘{text:(“:bar_chart: *Napi sales report*\\n• Összes bevétel: $’ + $t + ‘\\n• Rendelések: ‘ + $c + ‘\\n• Átrendelés: $’ + $a)}’)
terminal “curl -s -X POST -H ‘Content-Type: application/json’ -d ‘$payload’ $SLACK_WEBHOOK”
“`

*Ez a kis szkriptet egy `hermes cron create “0 7 * * *”`‑be rakhatjuk, így minden reggel 7‑kor kapunk Slack‑értesítést az előző nap teljesítményéről.*

## 3. Összegzés

– **Hermes + WP‑test skill** = egységes, terminál-alapú interface a WordPress REST API‑hoz.
– Hitelesítés egyszerű base64‑kódolás; a skill a **POST**, **GET**, **PUT**, **DELETE** alapműveleteket mutatja be.
– A példák (termékfeltöltés, készlet frissítés, bloggenerálás, elhagyott kosár e‑mail, napi sales‑report) mutatják, hogyan lehet a mindennapos webáruzási feladatokat automatizálni anélylem, hogy kézzel kellene bejelentkeznünk a WP‑adminba.
– A **hermes‑platform** skill részletezi, hogyandeployálhatunk saját HTTP‑szolgáltatásokat (webhook fogadók, API‑k) a Hermes‑konténerhez, így a vollständ integrációt (webhook → Hermes → e‑mail/Slack) is megvalósíthatjuk.
– Mind a **WP‑test**, mind a **hermes‑platform** skill a `hermes skills list`‑ből elérhető, így bármikor betölthetjük (`hermes -s wp-test` vagy `hermes -s hermes-platform`) és kombinálhatjuk saját workflow‑inkba.

A fenti minták csak a alapok – a WordPress és a WooCommerce API kiterjedő functions‑készletének (users, coupons, subscriptions, stb.) a hasonló mintázat követésével bármilyen administrációsi, marketing‑ vagy sales‑feladatot automatizálhatunk Hermes‑el.

**Készen állsz a saját AI‑alapú webáruzási asszisztens elkészítésére? Betöltöd a wp‑test‑et, beállítod a hitelesítő adatokat, és automatizálod az első feladatod ma!**

*Remélem, a bejegyzés hasznos volt! Ha bármilyen részletet szeretnél mélyíteni (pl. pontos WooCommerce végpontok, vagy a webhook‑szerver Docker‑kezelése), csak jelezd, és szívesen folytatom.*

Leave a Reply

Your email address will not be published. Required fields are marked *