Documentação do Mappings for Wealthbox
Tudo o que precisa para instalar o plugin, ligar o Wealthbox, associar os seus formulários do Gravity Forms e estender o plugin com código. Os nomes de menus e botões aparecem em inglês, como no plugin.
Introdução
O Mappings for Wealthbox envia cada submissão do Gravity Forms diretamente para o Wealthbox CRM como contacto, sem Zapier, sem exportar CSV e sem copiar e colar. Escolhe um formulário, define para que campo do Wealthbox vai cada campo do formulário e publica. A partir daí, cada submissão cria o contacto no Wealthbox em segundos.
Foi feito para consultores financeiros, RIAs e as agências que gerem os seus sites: empresas que recebem contactos no WordPress e trabalham no Wealthbox. O plugin tem duas partes:
- Mappings for Wealthbox (grátis) cria contactos novos a partir de qualquer formulário do Gravity Forms, com os campos padrão de contacto do Wealthbox.
- Mappings for Wealthbox Pro ($49, pagamento único, um site) é um complemento instalado ao lado do plugin grátis. Acrescenta campos personalizados, atualização de contactos existentes, registos de sincronização e suporte para GP Nested Forms.
Veja a comparação Grátis vs Pro para a lista completa.
Requisitos e instalação
| Requisito | Mínimo |
|---|---|
| WordPress | 6.0 |
| PHP | 8.0 |
| Gravity Forms | Ativo |
| Wealthbox | Um token de acesso à API |
| GP Nested Forms (Pro, opcional) | Ativo, só se associar campos aninhados |
Instalar o plugin grátis
- No WordPress, vá a Plugins › Add New › Upload Plugin.
- Carregue
mappings-for-wealthbox.zipe clique em Install Now. - Clique em Activate. Aparece um novo menu Wealthbox na barra lateral.
Instalar o Pro
- Confirme que o plugin grátis está instalado e ativo. O Pro é um complemento e não funciona sem ele.
- Carregue
mappings-for-wealthbox-pro.zipda mesma forma e ative-o. - Ao ativar, o Pro cria duas tabelas na base de dados, para o índice de contactos e os registos. Aparece o item Logs no menu Wealthbox.
Se o plugin grátis não estiver ativo, o Pro mostra um aviso a pedir que o instale e ative, e não faz mais nada.
Ligar ao Wealthbox
O plugin comunica com o Wealthbox através de um token de acesso, guardado em Wealthbox › Settings. A página tem dois separadores: General e Connection & Cache.
Obter o token de acesso
- Entre no Wealthbox e abra Settings › API Access.
- Crie um token e copie-o.
Separador General
| Definição | O que faz | Predefinição |
|---|---|---|
| Access token | É enviado em cada pedido no cabeçalho ACCESS_TOKEN. Fica num campo de palavra-passe. | Vazio |
| Base URL | O endereço da API do Wealthbox. Não mude, salvo indicação do Wealthbox. | https://api.crmworkspace.com/v1 |
| Document types (Pro) | Para que tipos de registo carregar campos personalizados: Contact, Opportunity, Project. | Contact |
Cole o token, confirme o Base URL e clique em Save Changes.
Separador Connection & Cache
- Test connection envia um pedido ao Wealthbox. Vê uma mensagem de sucesso quando funciona, "Authentication failed (HTTP 401 ou 403)" se o token estiver errado, ou o erro HTTP noutros casos. Guarde o token antes de testar.
- Custom field cache (Pro) mostra quantos campos personalizados estão em cache. Atualiza sozinha a cada 3 horas. Clique em Clear cache & re-fetch fields depois de criar ou renomear um campo no Wealthbox.
Os pedidos expiram ao fim de 20 segundos.
Criar uma associação
Uma associação (mapping) liga um formulário do Gravity Forms ao Wealthbox. Fica em Wealthbox › Mappings e só funciona depois de publicada.
- Vá a Wealthbox › Mappings › Add New.
- Dê-lhe um título fácil de reconhecer, por exemplo "Formulário de contacto".
- Escolha o formulário em Gravity Form. A tabela de campos carrega de imediato.
- (Pro) Escolha a Action e, nos modos de atualização, o campo Match using.
- Em cada linha, escolha o campo do Wealthbox na coluna da direita. Deixe em Not mapped para ignorar. As listas têm pesquisa.
- Clique em Publish.
A tabela de campos
- A coluna da esquerda lista cada campo do formulário com a sua chave do Gravity Forms, por exemplo
1.3. - Campos com várias partes (Nome, Morada) aparecem uma vez com o valor completo e depois uma vez por parte, como "Name, First" ou "Address, City".
- Caixas de seleção e Multi Select aparecem uma vez. Todas as escolhas são enviadas juntas.
- Quebras de página, secções, blocos HTML e CAPTCHA ficam de fora.
- Os campos filhos do Nested Forms têm a etiqueta nested (Pro).
Campos ocultos
Campos ocultos do Gravity Forms, como ID de utilizador, UTM ou valores de tracking, ficam escondidos por defeito. Marque Show hidden fields para os associar.
Duplicar uma associação
Passe o rato sobre uma associação na lista e clique em Duplicate. Fica com uma cópia em rascunho com o mesmo formulário, ação, correspondência e campos.
Uma associação por formulário
Se houver mais do que uma associação publicada para o mesmo formulário, só a publicada mais recentemente funciona. Mantenha as outras em rascunho. A lista tem a coluna Gravity Form, que pode ordenar.
Campos do Wealthbox e formatação de valores
O plugin grátis associa a nove campos padrão de contacto do Wealthbox. O Pro acrescenta todos os seus campos personalizados.
| Na lista | Enviado ao Wealthbox como | Notas |
|---|---|---|
| First name | first_name | Nome próprio |
| Last name | last_name | Apelido |
| Middle name | middle_name | Nome do meio |
| Nickname | nickname | Alcunha |
| Job title | job_title | Cargo |
| Company name | company_name | Empresa |
| Email address | item de email_addresses | Tipo Personal |
| Phone number | item de phone_numbers | Tipo Personal |
| Background information | background_info | Bom para mensagens e notas |
Se não houver nome próprio nem apelido, o contacto fica com o nome Web Lead, porque o Wealthbox exige um nome.
Como os valores são enviados
| Campo do Gravity Forms | O que o Wealthbox recebe |
|---|---|
| Texto, email, telefone, lista e semelhantes | O valor tal como foi enviado |
| File Upload, um ficheiro | O URL do ficheiro |
| File Upload, vários ficheiros | Um URL por linha |
| Checkbox | Cada opção marcada na sua linha |
| Multi Select | Cada opção escolhida na sua linha |
| Consent | "Consent given" ou "Consent NOT given", seguido do texto completo do consentimento |
| Campo vazio | Nada é enviado para esse campo |
Se associar apenas uma parte de um campo (por exemplo só a caixa de consentimento 5.1), é enviado o valor bruto dessa parte.
Pro: ações de sincronização e correspondência
O Pro permite que cada associação decida o que acontece quando alguém que já está no Wealthbox volta a enviar o formulário. Escolha em Action no ecrã da associação.
| Action | Encontra correspondência | Sem correspondência | Estado no registo |
|---|---|---|---|
| Create contact only | Cria um contacto novo na mesma | Cria um contacto novo | created |
| Update contact only | Atualiza esse contacto | Não envia nada | updated ou skipped |
| Create and update | Atualiza esse contacto | Cria um contacto novo | updated ou created |
O plugin grátis usa sempre Create contact only. Se desativar o Pro, as associações com ações de atualização são ignoradas, não passam a criar contactos, até o Pro voltar a estar ativo.
Match using
- O campo do formulário com o valor, por exemplo o seu campo de email.
- O tipo, Email ou Phone. Os emails ficam sem espaços e em minúsculas. Os telefones ficam só com os dígitos, por isso "(555) 010-2233" e "5550102233" correspondem.
Como funciona a correspondência
Sempre que o plugin cria ou atualiza um contacto, guarda uma impressão SHA-256 do email e do telefone, com o ID do contacto no Wealthbox, numa tabela própria. O email e o telefone reais nunca ficam lá guardados. Na submissão seguinte, calcula a impressão do valor e procura-a: uma pesquisa na base de dados, sem chamada à API.
O índice só conhece contactos que o próprio plugin criou ou atualizou. Um contacto que já estava no Wealthbox antes de instalar o Pro ainda não é encontrado, por isso Create and update cria um segundo registo para essa pessoa. A correspondência com contactos existentes está prevista numa atualização.
Pro: campos personalizados
Com o Pro ativo, todos os campos personalizados de contacto do Wealthbox aparecem na lista em Custom fields, abaixo dos campos padrão.
Associação automática
Ao carregar um formulário, o Pro pré-seleciona um campo personalizado para cada campo cujo rótulo coincida com o nome do campo personalizado, ignorando maiúsculas e espaços extra. Confirme as sugestões antes de publicar. Uma escolha guardada tem sempre prioridade.
Nome, email e telefone em campos personalizados
Se associar um campo Email, Phone ou Name do Gravity Forms a um campo personalizado, o Pro preenche também o campo padrão correspondente, para o contacto ter sempre nome, email e telefone:
- Campo Email: também é adicionado como email do contacto
- Campo Phone: também é adicionado como telefone do contacto
- Name, First (
x.3): também fica como nome próprio - Name, Last (
x.6): também fica como apelido
A cache
As definições dos campos personalizados são obtidas 100 de cada vez para cada tipo de documento escolhido nas definições, até 5.000 campos, e ficam em cache durante 3 horas, para o ecrã nunca esperar pela API. Uma cache vazia volta a encher no carregamento seguinte. Por agora, só os campos de Contact aparecem na lista.
Pro: GP Nested Forms
O Pro permite associar os campos dentro de um campo Gravity Perks Nested Forms, por exemplo várias moradas, dependentes ou contas num só formulário. Cada campo filho aparece na sua linha, como "Campo pai → Campo filho", com uma chave como nested:12:3 (campo pai 12, campo filho 3).
Na submissão, cada entrada filha passa a ser uma linha numerada, com o nome do campo filho:
Morada-1: Rua Alta 12, Porto, 4000-123, Portugal
Morada-2: Rua Nova 8, Gaia, 4400-001, Portugal
- Associe o campo filho completo para receber todas as partes separadas por vírgulas, como acima.
- Associe uma parte (
nested:12:3.3) para receber só essa parte em cada linha. - Envie linhas aninhadas para um campo personalizado de texto ou para Background information, porque o resultado tem várias linhas.
- As linhas aninhadas não podem ser o campo Match using.
Pro: registos de sincronização
Cada submissão num formulário associado escreve uma linha em Wealthbox › Logs, para ver exatamente o que foi enviado e o que o Wealthbox respondeu.
| Coluna | Mostra |
|---|---|
| Time (UTC) | Quando a sincronização correu |
| Form / Entry | IDs do formulário e da entrada no Gravity Forms |
| Action | create, update ou upsert |
| Status | created, updated, skipped ou error, com cores |
| HTTP | O código de resposta do Wealthbox, 0 se o pedido não chegou |
| Contact ID | O ID do contacto no Wealthbox, quando existe |
| Details | A mensagem, os dados enviados e a resposta completa |
Ordene por data, formulário, entrada, estado ou código HTTP, filtre por datas e defina linhas por página em Screen Options. Os registos contêm dados dos formulários, por isso trate-os como dados pessoais. Ficam guardados até desinstalar o Pro; a limpeza automática está prevista numa atualização.
Referência para programadores
O plugin grátis é um pequeno motor com hooks. O Pro foi feito inteiramente com esses hooks, por isso pode estendê-lo da mesma forma.
Hooks do plugin grátis
| Hook | Tipo | Serve para |
|---|---|---|
wbm_request_args | filter | Mudar os argumentos HTTP (timeout, cabeçalhos, tentativas) |
wbm_contact_kind | filter | Mudar o tipo de email e telefone (predefinição Personal) |
wbm_contact_payload | filter | Editar os dados do contacto antes do envio |
wbm_native_fields | filter | Acrescentar campos padrão à lista |
wbm_resource | filter | Trocar o handler de recurso |
wbm_before_sync | action | Inspecionar os dados antes da chamada à API |
wbm_after_sync | action | Reagir depois da sincronização |
wbm_run_action | filter | Tratar ações além de create |
wbm_target_groups | filter | Acrescentar grupos à lista de campos do Wealthbox |
wbm_suggest_target | filter | Pré-selecionar um destino para um campo |
wbm_map_target | filter | Tratar destinos que não são campos padrão |
wbm_form_field_rows | filter | Acrescentar linhas para um campo Nested Forms |
wbm_nested_value | filter | Converter uma chave aninhada num valor |
wbm_metabox_rows | action | Acrescentar linhas ao ecrã da associação |
wbm_save_mapping | action | Guardar essas linhas |
wbm_settings_general_rows | action | Acrescentar linhas ao separador General |
wbm_settings_tools_sections | action | Acrescentar secções ao separador Connection |
wbm_sanitize_settings | filter | Guardar chaves de definições extra |
Hooks do Pro
| Hook | Tipo | Serve para |
|---|---|---|
wbm_custom_fields | filter | Editar a lista de campos personalizados antes de ir para a cache |
wbm_use_api_lookup_fallback | filter | Ativar a pesquisa na API quando o índice falha (desligado por defeito, experimental) |
wbm_native_role | filter | Encaminhar um campo personalizado para nome, apelido, email ou telefone |
wbm_nested_line_format | filter | Mudar uma linha do resultado aninhado |
Exemplo: etiquetar cada contacto do site
add_filter( 'wbm_contact_payload', function ( $payload, $entry, $form ) {
$payload['tags'] = [ 'Website lead' ];
return $payload;
}, 10, 3 );
Onde ficam os dados
| Item | Local | Plugin |
|---|---|---|
| Definições | Opção wbm_settings | Grátis |
| Associações | Post type wbm_mapping e a sua meta _wbm_* | Grátis |
| Índice de contactos | Tabela {prefix}wb_contact_index | Pro |
| Registos | Tabela {prefix}wb_logs | Pro |
| Cache de campos | Transient wbm_custom_fields, 3 horas | Pro |
O código usa o namespace MappingsForWealthbox (Pro: MappingsForWealthbox\Pro). A interface Wealthbox_Resource permite acrescentar outros tipos de registo do Wealthbox como novas classes, sem mexer no motor de sincronização.
Desativar e desinstalar
Desativar nunca apaga nada. Apagar um plugin remove só os dados desse plugin, e nada no Wealthbox é apagado.
| Se fizer isto | Acontece isto |
|---|---|
| Desativar o Pro | Associações, registos e índice ficam. As associações de criação continuam a funcionar. As de atualização são ignoradas até o Pro voltar. |
| Apagar o Pro | Remove as tabelas do índice e dos registos e a cache de campos. Associações e definições ficam. |
| Desativar o grátis | Nada é sincronizado. O Pro também para e mostra um aviso. |
| Apagar o grátis | Apaga as definições (o seu token) e todas as associações. |
Resolução de problemas e perguntas
| Problema | Causa provável | Solução |
|---|---|---|
| Test connection diz que a autenticação falhou | Token errado ou expirado | Crie um token novo, cole, guarde e teste de novo |
| "Add a token and base URL first" | Definições não guardadas | Guarde antes de testar |
| Nenhum contacto aparece no Wealthbox | Associação em rascunho ou noutro formulário | Publique e confirme a coluna Gravity Form |
| O contacto chama-se "Web Lead" | Sem nome próprio nem apelido | Associe Name, First e Name, Last |
| Faltam campos personalizados (Pro) | Cache criada antes do token, ou campo novo | Clear cache & re-fetch fields |
| Update only não faz nada (Pro) | Sem correspondência no índice, registo diz skipped | Use Create and update, ou confirme Match using |
| Registo com erro, HTTP 0 | O pedido não chegou ao Wealthbox | Confirme que o servidor chega ao Base URL |
| Registo com erro, HTTP 422 | O Wealthbox rejeitou um valor | Leia a resposta em Details |
Limitações conhecidas
- Os modos de atualização só encontram contactos que o plugin criou ou atualizou.
- Os registos não são limpos automaticamente.
- Só é usada uma associação publicada por formulário.
- Por agora, só são suportados contactos do Wealthbox.
Tem uma dúvida que a documentação não responde? Fale comigo.
Versões e créditos
| Versão | Plugin | Alterações |
|---|---|---|
| 1.0.0 | Grátis | Primeira versão: associação de campos padrão, sincronização só de criação, formatação de valores, duplicar associação, teste de ligação |
| 1.0.0 | Pro | Primeira versão: campos personalizados com associação automática, atualizar e criar e atualizar, índice de contactos, registos, GP Nested Forms |
Criado por Samama Tahir. Licença GPL v2 ou posterior. Wealthbox é uma marca do respetivo proprietário e Gravity Forms é uma marca da Rocketgenius. Este plugin é independente e não tem ligação a nenhuma delas.