AI in pcreative Commerce
Everything AI is optional and runs on your key, not ours.
Everything AI is optional and runs on your key, not ours.
In short
- Keys live in your server's
.env. They are not stored in the database, do not travel to the panel and do not appear in any log. - You call the provider you choose. We do not see your data and do not charge you per query: there is no middleman.
- Without keys, the store works. It tells you what needs AI.
What works with no key at all
| Works | How |
|---|---|
| Store search | By keyword and by letter similarity |
| Related products | With the index already computed |
| Review summary | Whichever was already saved |
| Panel alerts | They are queries, not AI |
| Support inbox | Receives and replies; what is missing is the draft |
What needs a key
Writing product copy and translations, the panel copilot, the support drafts, and the part of search that understands natural language.
The server for AI agents (MCP) also needs one: it is off by default and can only be switched on, under AI → Agents, when at least one provider key is set. Once on it is public and read-only, limited per address, and what its searches cost adds to the daily cap. See Let ChatGPT and Claude sell your products.
Each one fails saying which variable is missing. Nothing breaks for not setting it.
How it is configured
- Choose a provider in AI → Connectors. There are six for chat and writing (Anthropic, OpenAI, Google, Mistral, OpenRouter and Ollama, which runs on your machine and costs no money) and seven for search embeddings: the same ones except Anthropic, plus Voyage and Cohere, which are for search only.
- Put the key in the backend
.envand restart:
ANTHROPIC_API_KEY=... # or OPENAI_API_KEY, GOOGLE_API_KEY,
# MISTRAL_API_KEY, OPENROUTER_API_KEY
VOYAGE_API_KEY=... # or COHERE_API_KEY: search only
OLLAMA_URL=http://localhost:11434 # only if you use Ollama- Hit Try chat. If the key is no good, it tells you the reason the provider gives.
The spend is yours, and you see it
Every call is logged with what it cost, under AI → Spend, broken down by task. The costs are an estimate worked out from a price table. A model that is not in that table counts as €0: it shows no spend and does not add to the daily cap.
There is a daily cap, and it comes set. The default is €5 a day. Once it is passed, whatever costs money stops calling the provider: search keeps working on keywords and the rest warns. To change it, in the store metadata:
{ "ai": { "limite_diario_eur": 20 } }It is there because search is public: without a cap, a loop of queries against your store is money leaving your account. There is also a per-visitor limit of 20 searches per minute: beyond it, search does not block, it falls back to keyword search.
What the AI CANNOT do on its own
By design, and it cannot be turned off:
- The copilot changes nothing. It proposes; you apply, seeing the exact values that would change.
- Support drafts are not sent on their own. Sending is another button.
- Product pages are not saved on their own. The proposal is shown next to what is there, with the real data it used.
- There is a claims firewall: if generated text says something cures, prevents or is guaranteed, it is flagged and does not publish itself.
Your responsibilities
This is software you install on your own server. With your key, your data and your customers, you are the one responsible. Specifically:
- The provider's bill. Set the daily cap to suit your store.
- Reviewing what gets published. The firewall helps, but it is no substitute for reading it. Especially if you sell regulated products.
- Data protection. Your customers' support messages and orders are personal data that you answer for. The program ships with the tools in place (see below), but deciding the retention period and handling deletion requests is yours. Bear in mind too that the AI provider you choose processes those texts: look at where it is and what it signs with you.
- Saying it is AI. EU rules require a person to know when they are talking to a machine. The store chat answers on its own, so every reply carries a notice that it was generated by AI. Support drafts are different: "the AI drafts, you send".
We leave the system set up and with the brakes on. What you do with it, and with which provider, is up to you.
Deleting conversations
A support conversation carries a person's email, what they bought and what they told you. Keeping it forever is not allowed, so the system deletes on its own.
- Every night at 4am, resolved conversations older than 12 months are deleted, up to 500 per night. Open ones are NOT touched, however old: an open one is someone waiting for an answer.
- To change the period (up to 120 months), in the store metadata:
{ "soporte": { "meses_retencion": 6 } }- If a customer asks you to delete their data, you have the Delete data
button in the conversation, or
POST /gestion/soporte/borrarwith{"email": "..."}to delete everything of theirs at once, open or closed.
It is deleted for real: the row is not marked as deleted, it disappears. A deletion that leaves the email and the text in the database is not a deletion.