# Shopify Event

Το **Shopify Event** ξεκινά μια ροή εργασίας όταν το κατάστημα Shopify αναφέρει αλλαγή σε μια παραγγελία: νέα παραγγελία, πληρωμή, αποστολή, παράδοση, ακύρωση ή επιστροφή χρημάτων (**Runs when: When an order, shipment or refund changes**). **Δεν** χρειάζεται επισύναψη Ψηφιακού Βοηθού AI.

Συνήθεις χρήσεις:

- **Επιβεβαίωση παραγγελιών με αντικαταβολή.** Νέα παραγγελία με τρόπο πληρωμής *Cash on Delivery* → ο Ψηφιακός Βοηθός AI καλεί τον πελάτη για να επιβεβαιώσει την παραγγελία και τη διεύθυνση πριν από την αποστολή. Λιγότερα δέματα που επιστρέφονται.
- **Αξιολόγηση μετά την παράδοση.** Κατάσταση αποστολής *Delivered* → κλήση ή SMS την επόμενη ημέρα.
- **Ενημέρωση για ακύρωση ή επιστροφή χρημάτων.** Ακύρωση παραγγελίας ή επιστροφή χρημάτων → SMS ή email με το ποσό.
- **Ειδοποίηση της ομάδας για μεγάλες παραγγελίες.** Νέα παραγγελία άνω ενός ποσού → email ή ticket.

## Τι χρειάζεστε

- [Σύνδεση Shopify](https://docs.voicelogica.ai/el/integrations/eshops/shopify/) στην εταιρεία.
- Μόνο για τα συμβάντα αποστολής: το κατάστημα πρέπει να παραχωρήσει στη Voice Logica πρόσβαση στις αποστολές (`read_fulfillments`). Όταν χρειάζεται, το έναυσμα εμφανίζει τον σύνδεσμο **Παραχώρηση πρόσβασης στο Shopify** και ο ιδιοκτήτης του καταστήματος εγκρίνει μία φορά στο Shopify.

## Πρώτη ρύθμιση

1. **+ Add Trigger - Shopify Event**

   **Συμβάντα Shopify** — επιλέξτε ένα ή περισσότερα:

   | Συμβάν | Πότε συμβαίνει |
   |---|---|
   | Δημιουργία παραγγελίας | Ο πελάτης ολοκληρώνει παραγγελία |
   | Εξόφληση παραγγελίας | Η παραγγελία σημειώνεται ως εξοφλημένη |
   | Ολοκλήρωση / μερική εκτέλεση παραγγελίας | Εκτελείτε το σύνολο ή μέρος της παραγγελίας |
   | Ακύρωση παραγγελίας | Η παραγγελία ακυρώνεται |
   | Επιστροφή χρημάτων | Επιστρέφονται χρήματα |
   | Δημιουργία αποστολής | Δημιουργείται αποστολή, συνήθως με αριθμό αποστολής |
   | Αλλαγή κατάστασης αποστολής | Η μεταφορική αναφέρει νέα κατάσταση (σε μεταφορά, σε διανομή, παραδόθηκε, αποτυχία…) |

   Οι καταστάσεις αποστολής προέρχονται από τη μεταφορική μέσω του Shopify. Αν η μεταφορική δεν στέλνει ενημερώσεις στο Shopify, το **Αλλαγή κατάστασης αποστολής** δεν ενεργοποιείται.

2. Περιορίστε τις περιπτώσεις (όλα προαιρετικά· κενό σημαίνει οποιοδήποτε):

   - **Κατάσταση πληρωμής** — π.χ. *Εκκρεμεί πληρωμή* για ανεξόφλητες παραγγελίες.
   - **Κατάσταση εκτέλεσης** — π.χ. *Σε αναμονή εκτέλεσης*.
   - **Κατάσταση αποστολής** — μόνο για συμβάντα αποστολής, π.χ. *Παραδόθηκε*.
   - **Τρόπος πληρωμής** — ταιριάζει όταν το όνομα του τρόπου πληρωμής περιέχει το κείμενο, π.χ. `Cash on Delivery`.
   - **Ετικέτες παραγγελίας** — η παραγγελία έχει τουλάχιστον μία από αυτές τις ετικέτες.
   - **Ελάχιστο / Μέγιστο σύνολο παραγγελίας**.

3. Από το **Work Flow Triggered** προσθέστε τους κόμβους. Χρησιμοποιήστε τις τιμές παρακάτω σε οποιοδήποτε πεδίο κειμένου, π.χ. σε SMS: `Καλησπέρα {{customer.first_name}}, η παραγγελία {{order.name}} απεστάλη: {{fulfillment.tracking_url}}`.

4. **Αποθήκευση**. Η Voice Logica εγγράφει το κατάστημα στα επιλεγμένα συμβάντα λίγα δευτερόλεπτα μετά την αποθήκευση. Με τη διαγραφή του εναύσματος ή της ροής εργασίας, η εγγραφή καταργείται.

5. **Δοκιμαστική εκτέλεση**: συμπληρώστε ένα δείγμα παραγγελίας (συμβάν, κατάσταση πληρωμής, τηλέφωνο…) και εκτελέστε. Τα φίλτρα εφαρμόζονται ακριβώς όπως σε πραγματικό συμβάν.

## Διαθέσιμες τιμές

| Τιμή | Παράδειγμα |
|---|---|
| `{{event.topic}}` | `orders/create` |
| `{{order.name}}` | `#1001` |
| `{{order.financial_status}}` | `pending`, `paid`, `refunded`… |
| `{{order.fulfillment_status}}` | `unfulfilled`, `partial`, `fulfilled` |
| `{{order.total_price}}` / `{{order.currency}}` | `42.50` / `EUR` |
| `{{order.items}}` | `2× T-shirt M, 1× Hat` |
| `{{order.payment_gateways}}` | `Cash on Delivery (COD)` |
| `{{order.tags}}`, `{{order.note}}` | |
| `{{order.status_url}}` | Η σελίδα κατάστασης παραγγελίας του πελάτη |
| `{{customer.name}}`, `{{customer.first_name}}`, `{{customer.phone}}`, `{{customer.email}}` | |
| `{{shipping.address}}`, `{{shipping.city}}`, `{{shipping.phone}}` | |
| `{{fulfillment.shipment_status}}` | `in_transit`, `out_for_delivery`, `delivered`… |
| `{{fulfillment.tracking_company}}`, `{{fulfillment.tracking_number}}`, `{{fulfillment.tracking_url}}` | |
| `{{refund.amount}}` | `10.00` |

Κάθε τιμή είναι διαθέσιμη και ως `{{node_<id εναύσματος>.<όνομα>}}`, π.χ. `{{node_1.order.name}}`.

## Παράδειγμα: επιβεβαίωση παραγγελιών με αντικαταβολή

1. **Shopify Event** — Συμβάντα: *Δημιουργία παραγγελίας*. Τρόπος πληρωμής: `Cash on Delivery`.
2. **Make Outbound Call** — Phone Number `{{customer.phone}}`, ένας Ψηφιακός Βοηθός AI ρυθμισμένος για επιβεβαίωση παραγγελιών και στο **Context Info**: `Επιβεβαίωσε την παραγγελία {{order.name}} ({{order.items}}, {{order.total_price}} {{order.currency}}) και τη διεύθυνση παράδοσης {{shipping.address}}.`
3. Προαιρετικά, στο **Call Ends** του ίδιου Ψηφιακού Βοηθού AI, προσθέστε ετικέτα ή ακυρώστε την παραγγελία ανάλογα με την απάντηση.

## Ρύθμιση από τον βοηθό AI σας (MCP)

Ζητήστε από τον βοηθό σας να δημιουργήσει τη ροή εργασίας· χρησιμοποιεί το `add_trigger` με `triggerType: "onShopifyEvent"` και `triggerConfig` όπως:

```json
{ "topics": ["orders/create"], "paymentGateways": ["Cash on Delivery"] }
```

Το `connect_integration` με `shopify` εμφανίζει την κατάσταση των συμβάντων (`events`): συμβάντα σε χρήση, ενεργές εγγραφές, πρόσβαση που λείπει και το τελευταίο σφάλμα. Το βήμα `install-url` με `extraScopes: ["read_fulfillments"]` επιστρέφει τον σύνδεσμο με τον οποίο ο ιδιοκτήτης του καταστήματος επιτρέπει τα συμβάντα αποστολής.

Για να ελέγξετε τη ροή εργασίας μία φορά πραγματικά (τα email και τα SMS αποστέλλονται και χρεώνονται), ένας διαχειριστής ή account manager μπορεί να ζητήσει από τον βοηθό να καλέσει το `run_workflow` με το `triggerId` του trigger Shopify (από το `get_workflow`) και ένα `payload` με τις τιμές της παραγγελίας που χρησιμοποιούν οι κόμβοι, π.χ. `{ "event.topic": "orders/fulfilled", "customer.email": "you@example.com", "order.name": "#1001" }`. Το αποτέλεσμα εμφανίζει κάθε κόμβο και ποιοι απέτυχαν. Το `test_workflow` κάνει το ίδιο ως δοκιμαστική εκτέλεση, χωρίς αποστολή.

## Αντιμετώπιση προβλημάτων

**Γιατί δεν εκτελείται η ροή εργασίας μου για συμβάντα Shopify;**

Ανοίξτε το έναυσμα Shopify: εμφανίζεται προειδοποίηση αν λείπει πρόσβαση ή αν το Shopify απέρριψε την εγγραφή (με **Νέα προσπάθεια**). Ελέγξτε ότι η παραγγελία πληροί όλα τα φίλτρα· π.χ. το φίλτρο *Εκκρεμεί πληρωμή* παραλείπει τις εξοφλημένες παραγγελίες. Εκτελέστε δοκιμή με τις ίδιες τιμές για να εντοπίσετε το φίλτρο που την αποκλείει.

**Το κατάστημά μου έχει συνδεθεί με δικό του token εφαρμογής Shopify. Γιατί δεν φτάνουν τα συμβάντα Shopify στη ροή εργασίας;**

Τα καταστήματα που έχουν συνδεθεί με Admin API access token (παλαιότερη μέθοδος custom app) στέλνουν συμβάντα μόνο εάν έχει αποθηκευτεί και το API secret key της εφαρμογής. Συνδέστε ξανά το κατάστημα μέσω της εφαρμογής Voice Logica στο Shopify.

**Γιατί το όνομα ή το τηλέφωνο του πελάτη είναι κενό στη ροή εργασίας παραγγελιών Shopify;**

Ο πελάτης δεν το συμπλήρωσε στην ολοκλήρωση της παραγγελίας. Προσθέστε ένα **If/Then** στο `{{customer.phone}}` πριν από τον κόμβο που κάνει την κλήση.

## Επόμενα βήματα

[Σύνδεση Shopify](https://docs.voicelogica.ai/el/integrations/eshops/shopify/) - σύνδεση του καταστήματος.  
[Make Outbound Call](https://docs.voicelogica.ai/el/workflow-nodes/make-outbound-call/) - [SMS](https://docs.voicelogica.ai/el/workflow-nodes/sms/) - [If/Then](https://docs.voicelogica.ai/el/workflow-nodes/if-then-decision/).
