| 开发者 | rosenhristov1 |
|---|---|
| 更新时间 | 2026年10月12日 18:16 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
admin-ajax.php?action=emporiqa_customer_token. It is read-only and returns only the current session's own identity token. It cannot be nonce-protected, because the page that would carry the nonce is full-page cached; cross-site use is blocked instead by a required custom header (which forces a CORS preflight) and a Sec-Fetch-Site / Origin check, and the answer is never cached.
Third-Party Service
This plugin requires an Emporiqa account and sends data there. Your catalog and synced pages go to https://emporiqa.com/webhooks/sync/, signed with HMAC-SHA256; the widget script loads from https://emporiqa.com/chat/embed/; connecting uses a PKCE handshake via https://emporiqa.com/connect/start. What a shopper types, and any photo uploaded for visual search, is processed by Emporiqa's AI provider and never trains AI models. If you switch on voice mode, a shopper's spoken message goes to that provider to be turned into text and the reply is read aloud by an AI voice; Emporiqa does not keep the recording. Sync requests carry the plugin version (X-Emporiqa-Plugin-Version). If you add the Order status rule, Emporiqa calls this site's /wp-json/emporiqa/v1/actions/order-status with a signed request to look up the order a shopper asks about; once the shopper has proved the order is theirs, the answer carries that order's status, tracking, items, totals, payment and shipping method, and the names and addresses on it (never the email). When a shopper is signed in to your store, the chat sends Emporiqa their WordPress user ID (signed, never their name or email), so Order status can find their own orders without an email, /wp-json/emporiqa/v1/actions/customer-prices can answer with the prices your shop gives that customer, and /wp-json/emporiqa/v1/actions/customer-info can answer with that customer's account name and email and their 10 newest orders (number, date, status, total; never addresses, phone or anyone else's orders). Emporiqa also calls /wp-json/emporiqa/v1/actions/verify to check the address is yours. Each of these answers only a request signed with your store's connection secret (HMAC-SHA256, within 5 minutes), checked by the route's permission callback; the one unsigned call is the connect check, answered only during a connection you started in the last 2 minutes. Terms of Service, Privacy Policy.
The plugin is free and you connect without a card. The service is pay-as-you-go: $25 of signup credit, about 100 conversations, then $0.25 per conversation. There is no monthly plan and no free trial. The $59 figure is a spending cap, not a fee: the default ceiling on a month's charges, which you raise or remove yourself. A month with 40 conversations costs $10. Team members are included with no per-seat fee, and a conversation is billed once, when the shopper first writes. Voice mode is optional and off by default: a conversation where the shopper speaks costs $0.15 more, charged once, and counts toward the same cap. Prices exclude VAT. Full pricing.
No. You do not open an account with an AI provider, paste a key, or manage tokens. The model cost is inside the per-conversation price.
You get an email before it is exhausted. If no card is on file by then the widget pauses: your store keeps working, but the chat doesn't answer until you add one. Spending stops at the cap.
Cost follows traffic, not revenue: multiply the conversations you expect by $0.25. The share of visitors who open a chat varies by store, so you find your own figure in the first weeks. As an illustration, if 3 in 100 visitors opened the chat, 40,000 monthly visitors would come to roughly 1,200 conversations, about $300.
Ask for something you don't stock and it says so, instead of inventing a product. Prices, stock, variations and policy pages come from what your site syncs. When it can't answer with confidence it says so and offers to bring in a person. Every conversation is readable in the dashboard, and low-rated ones are flagged.
Live chat routes a shopper to a person, so it answers when someone is at the keyboard. This one answers on its own from your catalog, recommends products and handles objections, and your team can still take over any conversation.
65+, and it answers in the language the shopper writes in. On multilingual stores it detects Polylang and WPML and syncs every configured language.
It works with any theme: the widget is a script layered over your storefront, not built into it. The script loads asynchronously in the footer, and the chat downloads only when a shopper opens the bubble. It sits outside your checkout, so if Emporiqa is unreachable your storefront keeps working.
Emporiqa is an EU company under GDPR, and shopper conversations are not used to train AI models. Your catalog stays in WooCommerce. There is no SOC 2 or ISO 27001 certification and no service level agreement on pay-as-you-go, where Rosen Hristov answers support email himself.
Yes. The emporiqa_order_status_data filter runs after the plugin has filled the answer, so you can change any value or put your own fields under extra (up to 30 keys, text up to 500 characters):
add_filter( 'emporiqa_order_status_data', function ( $data, $order ) { $data['extra']['pickup_point'] = $order->get_meta( '_pickup_point_name' ); return $data; }, 10, 2 );
Yes. The emporiqa_customer_info_data filter runs after the plugin has filled the customer's name, email and newest orders, so you can remove a value or add your own fields under extra:
add_filter( 'emporiqa_customer_info_data', function ( $data, $user ) { unset( $data['customer']['email'] ); $data['extra']['loyalty_points'] = (int) get_user_meta( $user->ID, 'loyalty_points', true ); return $data; }, 10, 2 );
Deactivate the plugin and the widget disappears from your storefront immediately, with no contract to cancel. Your synced products stay on the Emporiqa side until you delete the store there. Chat history is deleted after 90 days on a rolling basis, and there is no conversation export yet, so save any transcripts first.
actions/customer-info). Emporiqa can ask this site for a signed-in shopper's account name and email and their 10 newest orders (number, date, status, total), so the chat can answer "where is my order?" without asking for the number. Only that customer's own orders, never a checkout draft; the emporiqa_customer_info_data filter lets you remove fields or add your own.emporiqa_product_types filter is removed from Emporiqa when it is saved, not only at the next Sync All, and gets no stock updates.
Older entries are in changelog.txt, shipped with the plugin.