Pacotes de experiência
Catálogo de pacotes prontos de fluxos para cada tipo de loja, as habilidades do assistente e a instalação.
Montar um fluxo do zero é trabalhoso. Um pacote de experiência traz fluxos prontos para um tipo de loja. Estas rotas listam as habilidades disponíveis, os pacotes e instalam um pacote.
Habilidades do assistente
Lista as habilidades (ferramentas) que o assistente de WhatsApp desta loja pode usar, agrupadas em pacotes (packs). A lista já vem filtrada pelo que a loja tem ligado: módulos e configurações que faltam fazem a habilidade sumir. Serve para saber o que um pacote de experiência pode oferecer.
/api/v1/admin/whatsapp/capabilitiesAdminLista as habilidades do assistente de WhatsApp
Exemplo de requisição (Listar habilidades)
curl "$BASE_URL/api/v1/admin/whatsapp/capabilities" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar habilidades)
{
"packs": [
"kb",
"catalog",
"cart",
"orders",
"b2b",
"multi_vendor",
"core"
],
"tool_count": 20,
"tools": [
{
"name": "send_text",
"description": "Envia uma mensagem de texto curta ao cliente.",
"pack": "core",
"parameters": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "Corpo da mensagem em pt-BR"
}
},
"additionalProperties": false
}
}
]
}Campos da resposta
packsarraytool_countintegertoolsarrayAs habilidades.
namestringdescriptionstringpackstringparametersobjectcustomer_questionsarraymodule_slugstringconfig_flagstringrequires_aibooleantrue quando só existe com IA configurada.Erros (Listar habilidades)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 503 | Serviço indisponível. | {"error":"service unavailable"} |
Listar pacotes de experiência
Um pacote de experiência ("playbook") é um conjunto pronto de fluxos para um tipo de loja: varejo, atacado B2B, moda, marketplace. Em vez de montar o fluxo bloco a bloco, você instala um pacote e depois ajusta. Esta rota lista os pacotes do catálogo; a lista é a mesma para qualquer loja.
/api/v1/admin/whatsapp/playbooksAdminLista os pacotes de experiência
Exemplo de requisição (Listar pacotes)
curl "$BASE_URL/api/v1/admin/whatsapp/playbooks" \
-H "Authorization: Bearer $TOKEN"Resposta (Listar pacotes)
{
"playbooks": [
{
"slug": "universal.retail",
"name_pt": "Varejo B2C completo",
"name_en": "Full B2C retail",
"description_pt": "Loja de varejo com catálogo, carrinho, pedidos, base de conhecimento e busca por imagem.",
"description_en": "Retail store with catalog, cart, orders, knowledge base and image search.",
"packs": [
"core",
"catalog",
"cart",
"orders",
"kb",
"ai",
"visual_search",
"b2b"
],
"suggested_tools": [
"search_products",
"show_cart",
"start_checkout",
"show_orders",
"kb_search",
"request_human",
"opt_out"
],
"flow_count": 1
}
]
}Campos da resposta
playbooksarrayPacotes do catálogo.
slugstringname_ptstringname_enstringdescription_ptstringdescription_enstringpacksarraysuggested_toolsarray/capabilities).flow_countintegerErros (Listar pacotes)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 500 | Falha ao ler o catálogo. | {"error":"..."} |
Ver um pacote
Devolve o pacote completo, inclusive o desenho de cada fluxo (blocos e ligações), para você conferir o que será instalado.
/api/v1/admin/whatsapp/playbooks/{slug}AdminLê um pacote de experiência com seus fluxos
Parâmetros de caminho
slugstringobrigatóriouniversal.retail.Exemplo de requisição (Ver um pacote)
curl "$BASE_URL/api/v1/admin/whatsapp/playbooks/universal.retail" \
-H "Authorization: Bearer $TOKEN"Resposta (Ver um pacote)
{
"slug": "universal.retail",
"name_pt": "Varejo B2C completo",
"name_en": "Full B2C retail",
"description_pt": "Loja de varejo com catálogo, carrinho, pedidos, base de conhecimento e busca por imagem.",
"description_en": "Retail store with catalog, cart, orders, knowledge base and image search.",
"packs": [
"core",
"catalog",
"cart",
"orders",
"kb",
"ai",
"visual_search",
"b2b"
],
"suggested_tools": [
"search_products",
"show_cart",
"start_checkout",
"show_orders",
"kb_search",
"request_human",
"opt_out"
],
"flow_count": 1,
"flows": [
{
"name": "Welcome",
"description": "Inbound default for B2C retail",
"trigger_type": "inbound_default",
"status": "active",
"trigger_priority": 0,
"start_block_key": "welcome",
"blocks": [
{
"key": "welcome",
"type": "message",
"name": "Boas-vindas",
"config": {
"text": "Oi! Bem-vindo à {{vendor_name}}."
},
"x": 80,
"y": 40
}
],
"connections": [
{
"from": "welcome",
"to": "menu",
"type": "next"
}
]
}
]
}Campos da resposta
slugstringname_ptstringname_enstringdescription_ptstringdescription_enstringpacksarraysuggested_toolsarray/capabilities).flowsarrayFluxos que o pacote instala.
namestringdescriptionstringtrigger_typestringstatusstringtrigger_priorityintegerstart_block_keystringkey do bloco inicial.blocksarraykey, type, name, config, x, y.connectionsarraykey: from, to, type.Erros (Ver um pacote)
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |
| 404 | Pacote não existe. | {"error":"playbook not found"} |
Instalar um pacote
Cria no banco da loja os fluxos do pacote, com blocos e ligações, já ativos. Sem vendor_id os fluxos são da loja toda; com vendor_id, só daquele seller. Por padrão, desativa antes o fluxo inbound_default que estiver ativo no mesmo escopo, para o novo pacote assumir o atendimento.
/api/v1/admin/whatsapp/playbooks/{slug}/installAdminInstala um pacote de experiência
Parâmetros de caminho
slugstringobrigatórioCorpo da requisição
vendor_iduuidreplace_defaultbooleanpadrão: truetrue desativa antes o fluxo inbound_default ativo do mesmo escopo (do seller, ou os da loja sem seller). false instala sem desativar.Exemplo de requisição (Instalar um pacote)
curl -X POST "$BASE_URL/api/v1/admin/whatsapp/playbooks/universal.retail/install" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vendor_id": "9d9d9d56-eb43-4719-889d-055632f7c7da",
"replace_default": true
}'Resposta (Instalar um pacote)
{
"slug": "universal.retail",
"flow_ids": [
"d4e5f6a7-1b2c-4d3e-8f90-a1b2c3d4e5f6"
],
"replaced_inbound_defaults": 1
}Campos da resposta
slugstringflow_idsarrayreplaced_inbound_defaultsintegerinbound_default foram desativados. Ausente quando zero.Erros (Instalar um pacote)
| Status | Quando | Corpo |
|---|---|---|
| 400 | Pacote inexistente, módulo desligado, corpo com tipo errado (por exemplo replace_default como texto) ou falha ao criar. | {"error":"whatsapp: playbook \"x\" not found"} ou {"error":"invalid request body: ..."} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O módulo WhatsApp Commerce está desligado na loja, o usuário não é administrador ou não tem o privilégio exigido. | {"error":"module_disabled","module":"whatsapp-commerce"} ou {"error":"insufficient privileges","required":"manage_settings"} ou {"error":"admin access required"} |